Giáo trình PLC nâng cao - Đỗ Sĩ Nguyên
TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ HÀ TĨNH
GIÁO TRÌNH
PLC NÂNG CAO
Hà Tĩnh, năm 2020
LỜI GIỚI THIỆU
Tự động hóa công nghiệp và dân dụng ngày càng phát triển. Bộ não trong các hệ
thống tự động hóa đó là các bộ điều khiển lập trình.Việc học tập nghiên cứu các bộ
điều khiển lập trình cũng như vận hành nó đang là nhu cầu cấp thiết đối với học sinh,
sinh viên các ngành kỹ thuật. Và quyển giáo trình PLC cơ bản trước đó của tác giả đã
ra đời nhằm mục đích tạo ra một tài liệu học tập về loại PLC thế hệ mới của Siemens
đáp ứng nhu cầu của học sinh và sinh viên.
Tuy nhiên những kiến thức ở quyển giáo trình PLC cơ bản chưa giải quyết được
hết những bài toán phức tạp đặt ra trong thực tiễn. Vì vậy quyển giáo trình này ra đời
với mục tiêu giúp cho các đối tượng học sinh, sinh viên học nghề có thể tiếp cận dễ
dàng hơn những kiến thức nâng cao bộ điều khiển khả trình này qua đó có thể ứng
dụng giải quyết những bài toán phức tạp hơn trong tương lai.
Tài liệu này được chia làm 4 bài, giới thiệu các kiến thức nâng cao về PLC và HMI
của Siemens. Mỗi bài ngoài phần lý thuyết cơ bản còn bổ sung thêm các ví dụ minh
họa và các bài toán điều khiển ngoài thực tế giúp cho học sinh sinh viên nắm rõ hơn
về loại PLC và HMI này. Dù đã rất cố gắng tuy nhiên tài liệu không thể tránh khỏi
những sai sót. Rất mong sự góp ý chân thành của quý đọc giả để giúp tài liệu ngày
càng hoàn thiện hơn. Mọi ý kiến góp ý xin được gửi về địa chỉ email
Hà Tĩnh, ngày 20 tháng 05 năm 2020
Tham gia biên soạn
Đỗ Sĩ Nguyên - Chủ biên
CHƯƠNG TRÌNH MÔ ĐUN
Tên mô đun: PLC nâng cao
Mã mô đun: MĐ18
Thời gian thực hiện mô đun: 60 giờ; (Lý thuyết: 15 giờ; Thực hành, thí nghiệm, thảo
luận, bài tập: 43 giờ; Kiểm tra: 2 giờ)
I. Vị trí, tính chất của mô đun:
- Vị trí: Mô đun PLC nâng cao được thực hiện sau khi sinh viên đã học xong tất
cả các môn học mô đun cơ sở và chuyên môn nghề liên quan như: Trang bị điện, PLC
cơ bản, Kỹ thuật cảm biến, Lắp và cài đặt biến tần.
- Tính chất: Là mô đun trong phần chuyên môn nghề
II. Mục tiêu mô đun:
- Về kiến thức:
Trình bày được nguyên lý điều khiển động cơ KĐB 3 pha thông qua PLC
và biến tần bằng tín hiệu số hoặc tín hiệu Analog;
- Về kỹ năng:
Thiết kế được giao diện điều khiển bằng HMI;
Lắp đặt và lập trình được các mạch điện điều khiển động cơ KĐB 3 pha
thông qua PLC và biến tần bằng tín hiệu số hoặc tín hiệu Analog;
Cài đặt được các tham số của biến tần;
Sửa chữa được những lỗi phát sinh trong quá trình hoàn thiện sản phẩm;
- Năng lực tự chủ và trách nhiệm: Đảm bảo an toàn cho người và thiết bị, tuân
thủ đúng quy trình trong quá trình thực hành.
III. Nội dung mô đun:
1. Nội dung tổng quát và phân phối thời gian:
Thời gian(giờ)
Số
Thực hành, thí
nghiệm, thảo
luận, bài tập
Tên các bài trong mô đun
Tổng
Lý
Kiểm
tra
TT
số thuyết
12
3
9
Bài 1: Màn hình điều khiển HMI
1. Tổng quan về màn hình điều khiển
HMI
1
2. Thiết kế giao diện HMI
2.1. Button
2.2. Switch
2.3. I/O field
2.4. Symbolic I/O field
Bài 2: Lập trình sử dụng chương
trình con FB/FC
8
2
4
6
1. Lập trình với chương trình con FC
2. Khối dữ liệu Data Block
2
3
3. Lập trình với chương trình con FB
16
11
1
Bài 3: Xử lý tín hiệu Analog
1.Giới thiệu về tín hiệu Analog
2. Đấu nối tín hiệu Analog
3. Lập trình xử lý tín hiệu Analog
3.1. Lập trình đọc tín hiệu Analog
3.2. Lập trình xuất tín hiệu Analog
Bài 4 : Lập trình điều khiển động
cơ KĐB 3 pha thông qua biến tần
24
6
17
1
1. Giới thiệu về biến tần
4
2. Các phương pháp điều khiển biến
tần sử dụng PLC
3. Lập trình điều khiển biến tần bằng
tín hiệu số
4. Lập trình điều khiển biến tần bằng
tín hiệu analog
2
Cộng
60
15
43
BÀI 1: MÀN HÌNH ĐIỀU KHIỂN HMI
I. Mục tiêu bài học
- Trình bày được các bước thiết lập một dự án lập trình sử dụng HMI trên phần
mềm Tia Portal;
- Thiết lập được một dự án lập trình sử dụng HMI trên phần mềm Tia Portal;
- Đảm bảo an toàn cho người và thiết bị, tuân thủ đúng quy trình trong quá trình
II. Nội dung
1. Tổng quan về màn hình điều khiển HMI
1.1. Định nghĩa
- HMI là từ viết tắt của Human-Machine-Interface, nghĩa là thiết bị giao tiếp giữa
người điều hành và máy móc thiết bị. Nói một cách chính xác, bất cứ cách nào mà con
người “giao tiếp” với một máy móc qua 1 màn hình giao diện thì đó là một HMI
1.2. Vị trí và ứng dụng
- Trong hệ thống tự động hóa toàn diện thì HMI đứng ở vị trí cấp điều khiển và giám
sát:
- Một số ứng dụng của HMI đó là:
Hỗ trợ người vận hành điều khiển một cách trực quan các quá trình hoạt động
của một máy nói riêng và cả hệ thống nhà máy nói chung;
Giám sát, thu thập, báo cáo và lưu trữ các dữ liệu sản xuất của nhà máy nhằm
hỗ trợ việc quản lý và khai thác một cách hiệu quả các máy sản xuất đóng góp
vào việc tăng hiệu suất cũng như chất lượng của sản phẩm;
Hỗ trợ cảnh báo các sự cố có thể xảy ra cho người vận hành, giúp cho quá trình
bảo trì và bảo dưỡng diễn ra thuận lợi.
Đảm bảo tính an toàn trong vận hành sản xuất…
1.3. Phân loại
HMI thường có hai loại chính đó là:
HMI trên nền tảng PC, đó là các màn hình máy tính hiển thị giao diện điều
khiển giám sát trong hệ thống SCADA hoặc DCS;
HMI trên nền tảng nhúng, đó là các màn hình điều khiển giám sát riêng lẻ đặt
trên tủ điện
ist:
Hoàn thiện thiết kế:
Kết quả sản phẩm:
BÀI 2: LẬP TRÌNH SỬ DỤNG CHƯƠNG TRÌNH CON FB/FC
I. Mục tiêu bi học
- Trình bày được những ưu điểm của việc lập trình sử dụng chương trình con
FB/FC;
- Lập trình được một chương trình PLC sử dụng chương trình con FB/FC;
- Đảm bảo an toàn cho người và thiết bị, tuân thủ đúng quy trình trong quá trình
II. Nội dung
1. Hệ điều hành và chương trình ứng dụng
Mỗi CPU có chứa một hệ điều hành để tổ chức và quản lý việc thực thi chương
trình, trình tự hoạt động của CPU sẽ độc lập với các tác vụ điều khiển. Nhiệm vụ của
hệ điều hành thực hiện các công việc sau:
Thực hiện warm restart
Cập nhật bộ nhớ process image của ngõ vào và ngõ ra
Thực hiện chương trình chính
Thực thi chương trình ngắt khi gặp sự kiện ngắt
Phát hiện và xử lý các lỗi xảy ra
Quản lý các vùng nhớ
Chương trình chính được tạo ra để thực hiện tác vụ cần điều khiển. Nhiệm vụ
của chương trình chính như sau:
Kiểm tra các điều kiện để thực hiện warm restart bằng khối khởi động
Thực thi các nhiệm vụ trong chương trình
Thực thi các chương trình ngắt khi gặp sự kiện ngắt
Xử lý các lỗi xảy ra khi thực hiện chương trình
2. Khối tổ chức (Organization Block)
Khối tổ chức tạo ra giao tiếp giữa hệ điều hành và chương trình ứng dụng.Nó
được gọi từ hệ điều hành và thực hiện các nhiệm vụ sau:
Xử lý chương trình theo chu kỳ(Ví dụ như OB1)
Startup characteristics of the controller
Xử lý chương trình ngắt
Xử lý các lỗi phát sinh
Mỗi project cần có tối thiểu một khối tổ chức (OB1)
Khi một sự kiện xảy ra, trình tự hoạy động của các khối OB cs thể xảy ra như
sau:
Nếu một OB đã được gán cho sự kiện, sự kiện này sẽ kích hoạt việc thực thi
OB được gán. Nếu mức độ ưu tiên của OB được gán lớn hơn mức ưu tiên của
OB hiện đang được thực thi, thì nó được thực thi ngay lập tức (ngắt). Nếu
không, OB được gán sẽ đợi cho đến khi OB ưu tiên cao hơn được thực thi
hoàn toàn
Nếu bạn chưa gán OB cho sự kiện, phản ứng hệ thống mặc định được thực
hiện.
3. Bộ nhớ Process image và chương trình vòng quét
Khi thực hiện chương trình CPU sẽ không trực tiếp truy cập vào các mô đun vào/ra
mà nó sẽ truy cập thông qua mộ vùng nhớ gọi là process image.Tiến trình đó được
thực hiện như sau:
Bắt đầu vòng quét, chương trình sẽ gửi một thông điệp để kiểm tra trạng thái tín
hiệu nào của ngõ vào vật lý. Trạng thái của ngõ vào đã được cập nhật tại bộ nhớ
process image of the inputs (PII). Bằng việc đọc nội dung của bộ nhớ này CPU sẽ
xác định được trạng thái hiện tại của các ngõ vào này
Sau khi đọc trang thái tín hiệu ngõ vào xong CPU sẽ thực thi các lệnh trong
chương trình và kết quả trạng thái của các ngõ ra sẽ được cập nhật vào bộ nhớ
process image of the outputs (PIQ)
Kết thúc vòng quét vùng nhớ process image of the outputs (PIQ) sẽ chuyển
trạng thái của các ngõ ra vào mô đun ngõ ra vật lý để thực thi đóng cắt các cổng
này. Và trình tự như vậy cứ diễn ra liên tục cho đến khi dừng chương trình vòng
quét
Chú ý: Thời gian để CPU cần để thực thi một chu trình như vậy gọi là một chu kỳ
quét.Thời gian này nó phụ thuộc vào độ dài của chương trình và hiệu năng của CPU
4. Hàm (Functions)
Định nghĩa: Hàm (FC) là một đoạn chương trình để thực thi một nhiệm vụ cụ thể.
Chức năng: Khi được gọi hàm nó sẽ thực thi đoạn chương trình có sẵn trong nó và có
thể được sử dụng khi cần thực hiện một tác vụ lặp đi lặp lại. Ví dụ:
Hàm xử lý toán học
Hàm xử lý kỹ thuật
Hàm xử lý quy trình…
Một hàm có thể được gọi nhiều lần tại các thời điểm khác nhau trong chương trình
Ví dụ: Xậy dựng hàm điều khiển bằng tay cho trạm phân loại sử dụng băng tải được
mô tả như sau:
Trạm phân loại sử dụng băng tải được cấp điện bằng công tắc nguồn chính Q0,
khi bật Q0 thì rơ le K0 tác động đưa tín hiệu báo có nguồn về PLC. Trạm phân loại có
hai chế độ hoạt động là bằng tay “Manual” và tự động “Auto” được lựa chọn bởi công
tắc S0 (Manual =0, Auto = 1).
Trong chế độ bằng tay “Manual” thì băng tải sẽ chạy khi thỏa mãn các điều kiện
sau:
Tín hiệu cho phép băng tải chạy ở mức logic “1”
Công tắc chọn chế độ đang ở vị trí Manual
Một trong hai nút nhấn S3 (quay thuận) hoặc S4 (quay ngược) được nhấn,
nếu nhả ra thì băng tải dừng
Công tắc dừng khẩn cấp chưa tác động
Tín hiệu cho phép băng tải chạy ở mức logic “1” khi thoãn mãn các điều kiện
sau:
Công tắc nguồn chính được bật
Xy lanh M4 ở trạng thái thu về
Hai nút nhấn S3 và S4 không được nhấn cùng một lúc
Địa
chỉ
Kiểu
dữ liệu
Ký
hiệu
Chức năng
Công tắc dừng khẩn
Ghi chú
I 0.0
BOOL
A1
NC
I 0.1
BOOL
K0
Công tắc nguồn chính
NO
Công tắc chọn chế độ Manual/Auto
(Manual =0, Auto = 1)
I 0.2
I 0.5
I 1.4
BOOL
BOOL
BOOL
S0
B1
S3
Cảm biến xy lanh M4 khi thu về
NO
NO
Nút nhấn cho băng tải quay thuận
trong chế độ manual
Nút nhấn cho băng tải quay ngược
trong chế độ manual
I 1.5
BOOL
BOOL
S4
NO
Q 0.0
-Q1
Băng tải quay thuận
Căn cứ vào yêu cầu bài toán ta sẽ xây dựng một hàm điều khiển băng tải trong
chế độ bằng tay đặt tên là “Manual_mode”
Bước 1: Xác định được các tham số đầu vào và đầu ra của hàm
Các tham số đầu vào của hàm “Manual_mode” là các điều kiện để băng tải chạy
trong chế độ bằng tay.Cụ thể đó là:
Tín hiệu từ công tắc lựa chọn chế độ
Tín hiệu cho phép băng tải chạy
Tín hiệu chạy băng tải
Tín hiệu dừng khẩn
Tham số đầu ra của hàm “Manual_mode” là tín hiệu để kích hoạt các công tắc tơ
điều khiển băng tải.Như vậy để điều khiển băng tải chạy hai chiều ta có thể sử dụng
cùng một hàm FC1 nhưng tham số gán vào sẽ khác nhau tương ứng với mỗi chiều quay
Input
Kiểu dữ liệu
Ghi chú
Đưa vào tín hiệu chọn chế độ hoạt động
cho băng tải
Bật chế độ manual
BOOL
Tín hiệu chạy băng tải
BOOL
Đưa vào tín hiệu để băng tải chạy
Tín hiệu cho phép băng
tải chạy
BOOL
BOOL
Điều kiện để băng tải chạy
Tín hiệu dừng khẩn
Output
Tín hiệu dừng khẩn băng tải
Băng tải chạy
BOOL
Ngõ ra công tắc tơ điều khiển băng tải
Bước 2: Xây dựng hàm
Mở rộng Program blocks => Add new block để tạo mới một hàm
Cửa sổ Add new
Trong chế độ tự động “Auto” thì băng tải sẽ hoạt động khi thỏa mãn các điều
kiện sau:
Công tắc chọn chế độ ở vị trí Atuo
Tín hiệu cho phép băng tải chạy ở mức logic “1”
Chưa tác động công tắc dừng khẩn
Tín hiệu cho phép băng tải chạy ở mức logic “1” khi thoãn mãn các điều kiện
sau:
Công tắc nguồn chính được bật
Xy lanh M4 ở trạng thái thu về
Hoạt động của băng tải như sau: Ấn nhả Start thì băng tải tự động chạy thuận, Ấn
nhả Stop thì băng tải tự động dừng
Địa chỉ các tín hiệu vào/ra được cho ở bảng dưới
Kiểu
Địa chỉ
Ký hiệu
Chức năng
Ghi chú
dữ liệu
BOOL
BOOL
I 0.0
I 0.1
-A1
-K0
Dừng toàn bộ băng tải
Bật công tắc chính
NC
NO
Chọn chế độ Manual/Auto
I 0.2
I 0.3
BOOL
BOOL
-S0
-S1
(Manual =0, Auto = 1)
Start_Auto
NO
I 0.4
I 0.5
BOOL
BOOL
-S2
-B1
Stop_Auto
NC
NO
Cảm biến xy lanh M4 khi thu về
Băng tải quay thuận (Tốc độ cố
định)
Q 0.0
BOOL
-Q1
Căn cứ vào yêu cầu bài toán ta sẽ xây dựng một Function block điều khiển băng
tải ở chế độ tự động đặt tên là “Auto_mode”
Bước 1: Xác định được các tham số đầu vào và đầu ra
Các tham số đầu vào của Function block “Auto_mode” bao gồm các điều kiện để
băng tải chạy ở chế độ tự động và tín hiệu từ hai nút nhấn Start, Stop.Cụ thể đó là:
Tín hiệu từ công tắc lựa chọn chế độ
Tín hiệu cho phép băng tải chạy
Tín hiệu chạy băng tải Start
Tín hiệu dừng băng tải Stop
Tín hiệu dừng khẩn
Tham số đầu ra củaFunction “Auto_mode” là tín hiệu để kích hoạt các công tắc
tơ điều khiển băng tải chạy
Bước 2: Xác định các biến trung gian Static
Biến trung gian Static là bit nhớ cho quá trình khởi động băng tải, khi băng tải
khởi động bit nhớ được set lên mức logic “1” và khi dừng băng tải bit nhớ được set về
mức logic “0”
Kiểu dữ liệu
Ghi chú
Input
Bật chế độ auto
Kích hoạt chế độ auto
BOOL
Nhấn start_auto để băng tải bắt đầu
chạy trong chế độ tự động
Start_Auto
Stop_Auto
BOOL
BOOL
BOOL
BOOL
Nhấn stop_auto để băng tải dừng
trong chế độ tự động
Tất cả các điều kiện sẵn sàng cho
băng tải hoạt động
Tín hiệu cho phép băng tải
chạy _Auto
Tín hiệu dừng băng tải hoạt động
trong cả hai chế độ
Tín hiệu dừng khẩn
Output
Tín hiệu điều khiển băng tải chạy
trong chế độ auto
Băng tải chạy chế độ auto
Static
BOOL
BOOL
Bit nhớ dùng cho start/stop trong
chế độ auto
Bit Start/Stop
Bước 3: Xây dựng Function block
Mở rộng Program blocks => Add new block để tạo mới một Function block
Cửa sổ Add new block xuất hiện ta chọn Function block (FB), đặt tên và lựa chọn dạng
ngôn ngữ để viết => OK
FB Auto_Mode sẽ xuất hiện ở dưới main OB1
Như vậy ta đã tạo mới xong Function block FB1, tiếp theo sẽ khai báo các tham số
vào/ra và biến Static
Viết chương trình cho Function block FB1 dựa theo yêu cầu của bài toán
Bước 3: Gọi Function block và thực thi chương trình
Kéo và thả Function block FB1 vào chương trình chính
Xuất hiện cửa sổ mới => Nhấn ok để xác nhận data block đi kèm với function block
FB1
Gán các tag phù hợp vào function block FB1 theo yêu cầu của bài toán
Tín hiệu băng tải sẵn sàng chạy_auto ở đây được lập trình theo điều kiện của bài toán
6. Data Blocks
Khác với Functions và Function Blocks thì Data Blocks không phải là chương trình
mà là nơi lưu trữ dữ liệu.
Có hai dang Data Block đó là:
Global data block: Dữ liệu lưu trữ ở đây có thể dùng được cho tất cả các hàm
có trong chương trình
Instance data block: Dữ liệu lưu trữ ở đây chỉ được dùng cho một Function
Block tương ứng của nó
Hình trên cho ta thấy là các hàm: Function_10, Function_11, Function_12 có thể truy
cập dữ liệu trong Global data block, còn đối với dữ liệu ở Function data block 12 chỉ
có hàm Function_12 là có thể truy cập được
Ví dụ:
Cho hàm "Motor_Speed_Control" [FC3] và hàm "Motor_Speed_monitoring" [FC2]
được kết nối với các tag từ global data block "SPEED_MOTOR" [DB2].
Tốc độ đặt là 800 vòng/phút, tốc độ định mức là 1300 vòng/phút, tốc độ quá giới hạn
là 1500 vòng phút
Hướng dẫn lập trình:
Tạo mới Data block đặt tên là SPEED_MOTOR
Vào Data block:
Khai báo các giá trị:
BÀI 3: XỬ LÝ TÍN HIỆU ANALOG
I. Mục tiêu của bài:
- Trình bày được khái niệm tín hiệu Analog;
- Lập trình được một chương trình đọc và xuất tín hiệu analog
- Đảm bảo an toàn cho người và thiết bị, tuân thủ đúng quy trình trong quá trình
II. Nội dung
1.Giới thiệu về tín hiệu analog
1.1.Khái niệm về tín hiệu analog
Tín hiệu Analog (hoặc tín hiệu tương tự) là kiểu tín hiệu có giá trị liên tục theo
thời gian. Khác với tín hiệu số chỉ có 2 giá trị logic là 0 và 1 thì tín hiệu Analog có vô
số giá trị nằm trong một khoảng xác định.
Tín hiệu analog là tín hiệu điện được chuyển đổi từ những đại lượng vật lý như :
nhiệt độ, áp suất, lưu lượng, khối lượng…thông qua các cảm biến
Ví dụ về đại lượng analog:
Nhiệt độ -50 đến +150 °C
Lưu lượng 0 đến 200 l/min
Áp suất khí nén từ 0-10 bar
Khối lượng từ 0 – 200 Kg …
Có 2 loại dạng tín hiệu Analog được sử dụng trong công nghiệp là:
Tín hiệu dạng dòng : 0 - 20 mA hoặc 4 - 20mA
Tín hiệu dạng áp : 0 - 10V hoặc ±10V
Ví dụ: Một cảm biến siêu âm được dùng để đo mức nước trong một bồn chứa,
giá trị mức nước đo được là từ 0 đến 5m ứng với giá trị analog trả về là 4-20mA:
Thông thường trong công nghiệp người ta hay sử dụng tín hiệu Analog dạng dòng
(4-20 mA) vì những lý do sau:
Tín hiệu analog dạng áp (0-10V) sẽ dễ bị sụt áp khi tín hiệu truyền đi trong
một khoảng cách xa, còn tín hiệu analog dạng dòng (4-20 mA) thì ít bị suy
giảm bởi khoảng cách;
Trong trường hợp này nếu chúng ta dùng cảm biến có tín hiệu 0-10V thì khi
cảm biến bị hư hỏng hoặc bị đứt dây thì tín hiệu đưa về đều là 0V nên chúng
ta rất dể nhầm lẫn giữa cảm biến bị hư hỏng và cảm biến đang hoạt động nhưng
có giá trị là không 0V. Điều này rất nguy hiểm trong việc điều khiển tự động
hóa;
Tín hiệu analog dạng áp (0-10V) dễ bị nhiễu bởi các yếu tố gây nhiễu như sóng
hài, từ trường… hơn so với tín hiệu analog dạng dòng (4-20 mA)
1.2. Mô đun Analog
Các đại lượng vật lý cần đo sẽ được chuyển đổi sang dạng áp hoặc dòng nhờ các
bộ chuyển đổi (Transducer) tích hợp trong cảm biến. Cảm biến sẽ chuyển đổi các đại
lượng đó thành tín hiệu analog
Những tín hiệu analog sẽ được kết nối đến mô đun ananlog nhằm mục đích số
hóa tín hiệu. Mô đun Analog chính là bộ chuyển đổi analog-to-digital (A/D) sẽ chuyển
đổi tín hiệu analog sang tín hiệu số dưới dạng một chuỗi bit(16 bit) hoặc là bộ chuyển
đổi digital-to-analog (D/A) sẽ chuyển đổi tín hiệu số ngược lại thành tín hiệu analog.
Như vậy sẽ có hai loại mô đun analog đó là mô đun đọc tín hiệu và mô đun xuất tín
hiệu
Tham số quan trọng nhất trong việc chuyển đổi ADC (Mô đun đọc analog) là độ
phân giải, độ phân giải càng cao thì số lượng bit càng nhiều và giá trị đọc về càng chính
xác. Ví dụ: nếu như mô đun analog chỉ có độ phân giải là 1 bit thì nó sẽ chỉ đọc được
2 dải giá trị là 0 – 5V và 5 - 10V, tương tự như vậy với độ phân giải là 2 bit thì mô đun
chỉ đọc được 4 dải giá trị là 0 - 2.5 / 2.5 - 5 / 5 - 7.5 / 7.5 - 10 V. Mô đun chuyển đổi
analog sang digital (A/D) thường có độ phân giải 8 bit, 11 bit hoặc cao hơn. Với độ
phân giải 8 bit nó sẽ đọc được 256 khoảng giá trị và tương ứng 11 bit là 2048 khoảng
giá trị
Với dòng PLC S7-1200 thì Siemens hỗ trợ tích hợp mô đun đọc tín hiệu analog
trên CPU, tuy nhiên mô đun này chỉ đọc được tín hiệu analog dạng áp là 0-10VDC vì
vậy để đọc được tín hiệu analog dạng dòng (0/4-20mA) thì cần mô đun chuyên biệt
hoặc signal boar gắn vào. Đó là các mô đun/signal board:
Mô đun SM1231 analog input
Mô đun SM1234 analog input/output
Signal board SB1231 analog input
Còn đối với những ứng dụng cần điều khiển xuất tín hiệu analog thì bắt buộc
phải mua thêm mô đun hoặc signal board mở rộng. Cụ thể:
Mô đun SM1232 analog output
Mô đun SM1234 analog input/output
Signal board SB1232 analog output
Sau đây là một vài tham số kỹ thuật của các mô đun/signal board đọc/xuất tín
hiệu analog:
Mô đun SM1231 analog input :
Mô đun SM1234 analog input/output:
Signal board SB1231 analog input:
Mô đun SM1232 analog output :
Signal board SB1232 analog output:
2. Đấu nối tín hiệu analog
2.1. Đấu nối tín hiệu ngõ vào analog
Dựa theo tài liệu của nhà sản xuất thì tín hiệu analog được đấu nối từ cảm biến đến
PLC như sau:
Đối với cảm biến analog ngõ ra dạng áp (0 – 10V): nó có 2 dây dương (+) và
âm (-) sẽ đấu về hai chân dương (+) và âm (-) tương ứng trên PLC hoặc mô
đun Analog
Đối với cảm biến analog ngõ ra dạng dòng (0/4-20mA): nó có các loại 2 dây,
4 dây sẽ có cách đấu như sau:
Ví dụ: Đấu nối tín hiệu analog của cảm biến siêu âm ngõ ra analog với CPU 1214C
Nếu sử dụng ngõ ra ananlog dạng áp (0 – 10V) thì có thể đấu trực tiếp với ngõ vào
Analog của CPU:
Nối chung nguồn cấp cho PLC và cảm biến
Nối chân số 2 của cảm biến vào chân AI0 của PLC
Nối chân số 3 của cảm biến vào chân 2M của PLC
Nếu sử dụng ngõ ra ananlog dạng dòng (4 – 20mA) thì ta không thể đấu trực tiếp với
ngõ vào Analog của CPU mà phải gắn thêm signal board SB 1231AI hoặc mô đun
mở rộng analog input SM 1231 AI:
Nối chung nguồn cấp cho PLC và cảm biến
Nối chân R với chân 0+
Nối chân số 4 của cảm biến vào chân 0+ còn lại của
signal board
Nối chân số 3 của cảm biến vào chân 0- của signal
board
2.1. Đấu nối tín hiệu ngõ ra analog
Dựa theo tài liệu của nhà sản xuất thì tín hiệu ngõ ra analog được đấu nối từ PLC đến
thiết bị chấp hành:
Chân 0M (Analog output) sẽ đấu nối với chân analog input AI- của thiết bị cần điều
khiển
Chân 0/1 (Analog output) sẽ đấu nối với chân analog input AI+ của thiết bị cần điều
khiển
Ví dụ: Đấu nối tín hiệu ngõ ra analog của PLC S7-1200 CPU 1215C với biến tần
Danfoss FC51
Ngõ ra analog của CPU 1215C
Hướng dẫn đấu nối
Nối chân 2M của PLC với chân 55 của biến
tần
Nối chân AQ0 của PLC với chân 60 của
biến tần
(Lưu ý: Ngõ ra analog của PLC S7-1200
CPU 1215C là ngõ ra dạng dòng (0/4 –
20mA)
3. Lập trình xử lý tín hiệu Analog
3.1. Các hàm xử lý tín hiệu analog
3.1.1. Hàm Normal_X
Ký hiệu:
Ví dụ:
Lệnh NORM_X dùng để chuyển đổi giá trị đầu vào nằm trong giới hạn [Min,
Max] với ngõ ra thay đổi tuyến tính trong giới hạn [0.0, 1.0]
Công thức toán học của lệnh NORM_X là:
OUT = (VALUE – MIN) / (MAX-MIN)
Các tham số của lệnh NORM_X:
Tham
Khai
báo
Kiểu dữ liệu
Vùng nhớ
Mô tả
số
I, Q, M, D, Ngõ vào cho phép
L or constant hoạt động
EN
ENO
Input BOOL
Output BOOL
I, Q, M, D,
Ngõ ra cho phép
hoạt động
L
Integers, floating- I, Q, M, D,
Giới hạn dưới của giá
MIN
Input
Input
point numbers
L or constant trị
Integers, floating- I, Q, M, D,
VALUE
Giá trị đưa vào
point numbers
L or constant
Integers, floating- I, Q, M, D,
Giới hạn trên của
MAX
OUT
Input
point numbers
L or constant giá trị
I, Q, M, D,
Kết quả đầu ra nằm
trong giới hạn [0.0,
1.0]
Floating-point
numbers
Output
L
Đồ thị biểu diễn hoạt động của lệnh NORM_X
3.1.2. Hàm Scale_X
Ký hiệu:
Ví dụ:
Lệnh SCALE_X dùng để chuyển đổi giá trị ngõ vào VALUE sang tầm giá trị
mới phù hợp với yêu cầu sử dụng. Khi hàm SCALE được thực hiện thì giá trị VALUE
được chuyển đổi nằm trong giới hạn [Min, Max] và được lưu trữ vào vùng nhớ OUT
Công thức toán học của lệnh SCALE_X là:
OUT = [VALUE * (MAX – MIN)] + MIN
Các tham số của lệnh SCALE_X:
Tham
Khai
báo
Kiểu dữ liệu
BOOL
Vùng nhớ
Mô tả
số
I, Q, M, D, Ngõ vào cho phép
L or constant hoạt động
EN
ENO
Input
I, Q, M, D,
Ngõ ra cho phép
hoạt động
Output BOOL
L
Integers, floating- I, Q, M, D,
Giới hạn dưới của giá
MIN
Input
Input
Input
point numbers
L or constant trị value
Integers, floating- I, Q, M, D,
VALUE
Giá trị ngõ vào
point numbers
L or constant
Integers, floating- I, Q, M, D,
Giới hạn trên của
MAX
OUT
point numbers
L or constant giá trị value
I, Q, M, D,
Kết quả đầu ra trả
về trong giới hạn
[Min, Max]
Floating-point
numbers
Output
L
Đồ thị biểu diễn hoạt động của lệnh SCALE_X
3.2. Lập trình đọc tín hiệu Analog
3.2.1. Cơ sở lý thuyết
Trong thực tế có rất nhiều cảm biến đọc tín hiệu tương tự như: Cảm biến nhiệt
độ, cảm biến áp suất, cảm biến siêu âm, cảm biến màu, cảm biến lưu lượng…. các
cảm biến này trả về các tín hiệu tương tự chuẩn như:
Tín hiệu dòng điện: 0/4 – 20mA
Tín hiệu điện áp: ±10V, 0-10V, ±5V, 0-5V
Tín hiệu tương tự trả về từ cảm biến qua mô đun đọc analog sẽ được bộ ADC
chuyển đổi sang dạng số Interger. Và dưới đây là đồ thị biểu diễn mối quan hệ giữa
giá tri cần đo trong thực tế và giá trị chuyển đổi tại mô đun analog
Với:
Hi_Lim là giá trị đo lớn nhất cảm biến thu được
Lo_Lim là giá trị nhỏ nhất cảm biến thu được
K1 là giá trị chuyển đổi tương ứng với giá trị Lo_Lim
K2 là giá trị chuyển đổi ứng với giá trị Hi_Lim
Từ đồ thị này ta thấy tín hiệu Analog trả về là một tín hiệu tuyến tính, từ đó chúng
ta sẽ viết được phương trình tính toán giá trị analog đo được từ tín hiệu của cảm biến
như sau:
OUT = [((Float(IN) - K1)/(K2-K1)) * (Hi_Lim – Lo_Lim)] + Lo_Lim
Trong đó:
OUT : Là giá trị thực tế cần đo (Lo_Lim ≤ OUT ≤ Hi_Lim)
IN: là giá trị sau khi được chuyển đổi ở mô đun đọc analog
Dựa vào công thức của lệnh NORM_X và SCALE_X thì chúng ta có thể kết hợp hai
lệnh trên để tạo ra thuật toán chuyển đổi tín hiệu analog như sau:
3.2.2.Yêu cầu công nghệ:
Một cảm biến siêu âm được dùng để đo mức nước trong một bồn chứa, giá trị
mức nước được giám sát là từ 0.2 m đến 5m ứng với giá trị analog từ cảm biến trả về
là 0 – 10V. Xây dựng chương trình giám sát mức nước của bồn chứa hiển thị trên HMI
Muốn đo được mức nước tại bồn chứa ta phải đọc được giá trị của tín hiệu analog
trả về từ cảm biến. Mặt khác giá trị analog trả về từ cảm biến khi qua bộ chuyển đổi sẽ
chuyển thành các giá trị số theo quy định của Siemens. CPU sau đó sẽ đọc các giá trị
chuyển đổi này từ địa chỉ ngõ vào analog.
Giá trị analog đọc về PLC sẽ được chuyển đổi thành giá trị số kiểu Int. Giá trị đó
nằm trong khoảng từ 0 – 27648 tương ứng với 0 – 10V theo quy định của Siemens:
3.2.3. Hướng dẫn lập trình
Bước 1: Khởi tạo project với PLC S7-1200 CPU 1214C DC/DC/DC
Bước 2: Truy cập phần cứng CPU để kiểm tra địa chỉ thanh ghi analog input: Device
configuration Device view CPU…Properties AI 2 I/O Address
PLC S7-1200 CPU 1214C có hai ngõ vào analog là AI 1 và AI 2 tương ứng có hai
thanh ghi chứa giá trị chuyển đổi từ mô đun analog. Địa chỉ của hai thanh ghi đó là
IW64 và IW66
Bước 3: Khai báo các tag theo yêu cầu bài toán
Khai báo tag Tín hiệu analog ngõ vào với địa chỉ là IW64 (Địa chỉ bắt đầu của
thanh ghi analog input)
Khởi tạo một Data block đặt tên là Data_analog để lưu trữ các giá trị thực tế cần
giám sát:
Bước 4: Tạo một Function đặt tên là: Đo giá trị mức nước [FC5] và viết chương trình
Khai báo các tham số cho Function:
Viết chương trình cho Function:
Bước 5: Gọi hàm và gán các tham số tương ứng
Bước 6: Xây dựng giao diện giám sát HMI:
3.3. Lập trình xuất tín hiệu Analog
3.3.1. Cơ sở lý thuyết
Để xuất tín hiệu analog thì PLC S7-1200 CPU 1214C cần phải gắn thêm một mô
đun hoặc signal board analog output. Mô đun này sẽ có nhiệm vụ chuyển đổi giá trị số
trong t khoảng từ 0 – 27648 sang giá trị điện áp (0 – 10V) hoặc dòng điện (0/4 – 20mA)
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình PLC nâng cao - Đỗ Sĩ Nguyên", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- giao_trinh_plc_nang_cao_do_si_nguyen.docx