Bai giang S7 300 rất cơ bản, dễ hiểu
BÀI 4
SỬ DỤNG MODULE ANALOG
1. Giới thiệu chung về Module analog
Tương tự như trong PLC S7-200, S7-300 cũng sử dụng các Module Analog để
vào/ra tín hiệu analog. Trong thực tế ta gặp những bài toán như: Sử dụng biến tần
để điều chỉnh tốc độ động cơ theo sự tăng của nhiệt độ, hay điều chỉnh van mở từ
(0 100)% phụ thuộc vào lưu lượng nước trong bể...Vậy làm thế nào để xử lý
được các tín hiệu ở dạng tương tự đó? Module analog chính là một công cụ để giải
quyết bài toán này.
1.1. Khái niệm module analog
Module analog là một công cụ để xử lý các tín hiệu tương từ thông qua việc xử
lý các tín hiệu số.
1.2. Analog input module
Là một bộ biến đổi tương tự/số (A/D). Nó chuyển tín hiệu tương tự ở đầu vào
thành các con số ở đầu ra. Dùng để kết nối các thiết bị đo với bộ điều khiển.Ví dụ
như đo lưu lượng nước, đo nhiệt độ…
1.3. Analog output module
Là một bộ biến đổi số/tương tự (D/A). Nó chuyển tín hiệu số ở đầu vào thành tín
hiệu tương tự ở đầu ra. Dùng để điều khiển các thiết bị với dải đo tương tự. Ví dụ
như điều khiển quạt quay phụ thuộc vào nhiệt độ phòng…
2. Nguyên lý hoạt động chung của các cảm biến và các tín hiệu đo chuẩn
trong công nghiệp.
Thông thường đầu vào của các module analog là các tín hiệu điện áp hoặc
dòng điện. Trong khi đó các tín hiệu tương tự cần xử lý lại thường là các tín hiệu
không điện như nhiệt độ, độ ẩm, áp suất, lưu lượng, khối lượng…Vì vậy người ta
cần phải có một thiết bị trung gian để chuyển các tín hiệu này về tín hiệu điện áp
hoặc tín hiệu dòng điện. Thiết bị này được gọi là các đầu đo hay cảm biến.
Để tiện dụng và đơn giản các tín hiệu vào của module analog input và tín
hiệu ra của module analog output tuân theo chuẩn tín hiệu của công nghiệp.
Có 2 loại chuẩn phổ biến là chuẩn điện áp và chuẩn dòng điện.
- Điện áp : (0 10)V, (0 5)V, 5V…
1
- Dòng điện : (4 20)mA, (0 20)mA, 10mA…
Trong khi đó tín hiệu từ các cảm biến đưa ra lại không đúng theo chuẩn. Vì
vậy người ta cần phải dùng thêm một thiết bị chuyển đổi để đưa chúng về chuẩn
công nghiệp. Thiết bị này được gọi là các Transmiter.
Kết hợp các đầu cảm biến và các thiết bị chuyển đổi này thành một bộ cảm
biến hoàn chỉnh, thường gọi tắt là thiết bị cảm biến, hay chính xác là thiết bị đo và
chuyển đổi đo (Transducer).
Thiết bị
chuyển
đổi
Đầu đo
(010)V
Analog Input
(A/D)
Các con số
(420)mA
Analog Output
(D/A)
Các con số
Tín hiệu ra tương tự
(010)V
(420)mA
3. Giới thiệu về hai module vào ra analog SM331 (AI2x12Bit) và SM332
(AO2x12Bit).
3.1. Đặc điểm của module SM331 (AI2x12Bit)
SM 331 là một module đầu vào tương tự gồm có:
Hai kênh đầu vào tương tự, tạo thành nhóm.
Độ phân giải tùy thuộc vào cách chọn giá trị của “integration time” :
9 bít + dấu.
12 bit + dấu.
14 bít + dấu.
Integration time
(ms)
Độ phân giải
2.5
16.6
20
100
9
12
12
14
2
Phương pháp đo có thể chọn là :
Điện áp
Dòng điện
Điện trở
Nhiệt độ.
Sơ đồ khối của module SM331:
3
Phương pháp đo và dải đầu vào:
Phương pháp đo
E : Điện áp
Dải đo
±80 mV
±250 mV
±500 mV
±1000 mV
±2.5 V
±5 V
1 tới 5V
±10 V
Các loại cặp nhiệt
TC-I, TC-E
2DMU : đo dòng 2 dây
4DMU: đo dòng 4 dây
Thiết lập
A
B
A
4÷20mA
D
C
R-4L
A
TC-IL
A
TC-EL
A
RTD-4L
A
4
3.2. Đặc điểm của module ra analog SM332 (AO2x12Bit)
SM332 là module đầu ra tương tự có:
Hai kênh đầu ra riêng lẻ
Đầu ra có thể lựa chọn kiểu dòng hoặc áp.
Độ phân giải 12 Bit
Sơ đồ khối:
Bảng thiết lập đầu ra:
Kiểu
Điện áp
Dòng điện
Dải đầu ra
±10V
0÷10V
1÷5V
±20mA
0÷20mA
4÷20mA
4. Sử dụng hàm thư viện FC105 và FC106.
Trong PLC S7-300 tích hợp sẵn hàm chuyển đổi các giá trị analog trong thư viện.
Đó là FC105 và FC106.
5
4.1. Hàm căn chỉnh tín hiệu đầu vào FC105 “SCALE “.
Mô tả chức năng SCALE:
Nhận một giá trị kiểu Integer (IN) và chuyển đổi thành giá trị kiểu số thực trong
đơn vị điện và được scale giữa giới hạn thấp và giới hạn cao (LO_LIM và
HI_LIM). Kết quả được ghi vào cổng OUT.
SCALE sử dụng phương trình:
OUT=[((FLOAT (IN) – K1)/(K2 – K1))*(HI_LIM - LO_LIM) ] + LO_LIM
Trong đó :
K1 và K2 được set dựa vào giá trị đầu vào hoặc BIPOLAR hoặc UNIPOLAR.
BIPOLAR: Giá trị integer đầu vào nằm giữa -27648 và 27648.
K1 = -27648.0
K2 = +27648.0
UNIPOLAR: Giá trị đầu vào integer nằm giữa 0 và 27648.
K1 = 0.0
K2 = +27648.0
Nếu giá trị integer đầu vào lớn hơn K2 thì đầu ra (OUT) được giữ ở
HI_LIM và báo lỗi. Nếu giá trị integer đầu vào thấp hơn K1 thì đầu ra được giữ ở
LO_LIM và báo lỗi.
Các tham số của hàm FC105:
Tham số
EN
Tên
Input
Loại Data
BOOL
Vùng nhớ
I, Q, M, D, L
Miêu tả
Cho phép đầu vào
6
ENO
Output
BOOL
I, Q, M, D, L
IN
Input
INT
I, Q, M, D, L, P, const
HI_LIM
Input
REAL
I, Q, M, D, L, P, const
LO_LIM
Input
REAL
I, Q, M, D, L, P, const
BIPOLAR
Input
BOOL
I, Q, M, D, L, P
OUT
Output
REAL
I, Q, M, D, L, P
WORD
I, Q, M, D, L, P
RET_VAL Output
với trạng thái tín
hiệu của 1
Cho phép đầu ra có
một trạng thái tín
hiệu ra của 1 nếu
chức năng được
thực hiện không bị
lỗi
Giá trị đầu vào được
scale thành giá trị
thực của các đơn vị
điện
Giới hạn trên của
các đơn vị điện
Giới hạn dưới của
các đơn vị điện
Trạng thái tín hiệu
của 1 chỉ thị giá trị
Input là Bipolar.
Trạng thái tín hiệu 0
chỉ thị giá trị input
là Unipolar
Kết quả của Scale
Giá trị trả về của
W#16#0000 nếu chỉ
dẫn lệnh không bị
lỗi.
Thông tin lỗi:
Nếu giá trị integer đầu vào lớn hơn K2 thì đầu ra (OUT) được giữ ở HI_LIM và
báo lỗi. Nếu giá trị integer đầu vào nhỏ hơn K1 thì đầu ra được giữ ở LO_LIM và
bào lỗi. Trạng thái tín hiệu của ENO là 0 và RET_VAL bằng với W#16#0008.
Ví dụ sử dụng:
7
8
4.2. Hàm căn chỉnh tín hiệu đầu ra FC106 “UNSCALE”
Mô tả chức năng.
Chức năng UNSCALE nhận một giá trị kiểu Real (IN) trong các đơn vị điện và
được scale giữa giới hạn thấp và giới hạn cao (LO_LIM và HI_LIM) sau chuyển
đổi thành giá trị kiểu nguyên. Kết quả được ghi vào cổng OUT.
UNSCALE sử dụng phương trình:
OUT=[((IN – LO_LIM)/(HI_LIM – LO_LIM))*(K2 – K1)]+ K1
Hằng số K1 và K2 được set dựa vào giá trị đầu vào hoặc BIPOLAR hoặc
UNIPOLAR.
IPOLAR: Giá trị integer đầu ra nằm giữa -27648 và +27648.
K2 = -27648.0
K2 = +27648.0
UNIPOLAR: Giá trị đầu ra integer nằm giữa 0 và 27648.
K1 = 0.0
K2 = +27648.0
Nếu giá trị đầu vào nằm ngoài dải LO_LIM và HI_LIM thì đầu ra (OUT)
được giữ gần hơn với hoặc giới hạn thấp hoặc giới hạn cao trong một dải xác định
(BIPOLAR hoặc UNIPOLAR) và báo lỗi.
Thông tin lỗi:
Nếu giá trị đầu vào nằm ngoài dải LO_LIM và HI_LIM thì đầu ra (OUT) được
giữ gần hơn với hoặc giới hạn thấp hoặc giới hạn cao trong một dải xác định
(BIPOLAR hoặc UNIPOLAR) và báo lỗi. Trạng thái tín hiệu ENO là 0 và
RET_VAL bằng với W#16#0008.
9
Các tham số FC106:
Tham số
Tên
Loại Data
Vùng nhớ
EN
Input
BOOL
I, Q, M, D, L
ENO
Output
BOOL
I, Q, M, D, L
IN
Input
REAL
I, Q, M, D, L, P, const
HI_LIM
Input
REAL
I, Q, M, D, L, P, const
LO_LIM
Input
REAL
I, Q, M, D, L, P, const
BIPOLAR
Input
BOOL
I, Q, M, D, L,
OUT
Output
INT
I, Q, M, D, L, P
RET_VAL
Output
WORD
I, Q, M, D, L, P
Miêu tả
Cho phép đầu vào
khi trạng thái tín
hiệu của 1
Cho phép đầu ra có
trạng thái 1 nếu
chức năng được
thực hiện không bị
lỗi
Giá trị đầu vào được
unscale thành giá trị
nguyên
Giới hạn trên của
các đơn vị điện
Giới hạn dưới của
các đơn vị điện
Trạng thái tín hiệu
1 chỉ thị giá trị Input
là Bipolar.
Trạng thái tín hiệu 0
chỉ thị giá trị input
là Unipolar
Kết quả của unscale
Giá trị trả về của
W#16#0000 nếu chỉ
dẫn lệnh không bị
lỗi.
Ví dụ sử dụng:
10
11
5. Ứng dụng module analog input trong thực tế
5.1. Bài toán.
Bài toán điều khiển mức nước trong bình:
Ở đây ta sẽ quan tâm tới hai tín hiệu analog và ứng dụng module analog cũng như
sử dụng các hàm trong thư viện vào bài toán này:
- Tín hiệu ra điều khiển van.
- Tín hiệu đo mức nước từ cảm biến siêu âm.
12
Yêu cầu :
- Viết chương trình đọc mức nước thực.
- Viết chương trình mở van ở một vị trí bất kì.
5.2. Tính toán mức nước từ cảm biến.
Nguyên tắc hoạt động của bộ cảm biến mức như sau:
Khi mức nước ở h1 : tín hiệu ra là nhỏ nhất là 4mA
Khi mức nước ở h2 : tín hiệu ra là lớn nhất là 20mA
Nguyên tắc của bộ analog đầu vào :
Khi có dòng là 4 mA đặt ở đầu vào thì nó sẽ chuyển đổi thành số 0 ở đầu ra.
Con số này sẽ được đưa tới CPU để xử lý.
Tương tự khi có dòng là 20mA thì con số đó là 27648.
Sự biến đổi từ giá trị đầu vào tương tự sang đầu các con số là sự biến đổi 1 – 1
và hoàn toàn tuyến tính. Như vậy ta lập được mối quan hệ như sau:
Tín hiệu
tương tự
h2
(20mA)
h?
h1 (4mA)
0
10000
27648
Giá trị chuyển
đổi (số)
Mối quan hệ giữa đầu vào và đầu ra có dạng đường thẳng : y = ax + 4
Dễ dàng nhận ra phương trình trên có dạng:
y=
1
x +4. Nếu cần tính dòng điện đầu vào.
1728
y=
h2 4
x +h1. Nếu cần tính mức đầu vào.
27648
Dựa vào phương trình trên ta có thể viết chương trình tính toán. Hoặc là sử
dụng hàm có sẵn trong thư viện, là hàm FC105 “SCALE”.
13
5.3. Điều khiển van.
Van được điều khiển bằng dòng điện .
Khi dòng điện cấp cho van là 4mA, van sẽ đóng hoàn toàn (0%).
Khi dòng điện cấp cho van là 20mA, van sẽ mở hoàn toàn (100%).
Nếu dòng điện ở một giá trị bất kì trong dải 4÷20mA thì van sẽ mở ở một vị
trí bất kỳ 0÷100%.
Nguyên tắc hoạt động của bộ analog đầu ra :
Khi đặt vào module số 0 , đầu ra của module sẽ chuyển sang tín hiệu dòng
4mA
Tương tự khi đặt con số 27648, thì giá trị đầu ra sẽ là 20mA
Ta xây dựng được mối quan hệ như sau :
Giá trị số
27648
?
0
0%
(4mA)
20%
100%
(20mA)
Giá trị đầu ra
analog
Tương tự ta cũng xây dựng được phương trình biểu diễn mối quan hệ:
y = 1728x -6912. Nếu chọn x là dòng điện cần tạo ra.
y=
6912
x . Nếu chọn x là độ mở van.
5
14
Ta có thể viết hàm để tính toán theo phương trình trên. Hoặc sử dụng hàm sẵn có
trong thư viện, là FC106 “UNSCALE”
5.4. Viết chương trình trong phần mềm Step7.
Tạo một Project mới.
Cấu hình phần cứng.
Viết chương trình trong khối OB1.
15
Tiến hành mô phỏng trên PLCSIM.
Khởi động PLCSIM với cửa sổ như sau :
Download cấu hình cứng.
Download các khối hàm FC105,FC106.
Download khối chương trình trong OB1.
16
Giám sát trên OB1 :
17
6. Bài tập
Sử dụng các module analog trong bài toán điều khiển quá trình trao đổi nhiệt
không tiếp xúc.
18
- Xem thêm -