Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

3.6.

Lập trình với tín hiệu tương tự - Analog


3.6.1. Lập trình xử lý tín hiệu Analog input
Có rất nhiều cảm biến đọc tín hiệu Analog trong thực tế như: cảm biến nhiệt, áp
suất, siêu âm, cảm biến màu sắc, lưu lượng… trả về các tín hiệu analog chuẩn với
tín hiệu chuẩn như:
 Tín hiệu dòng điện: 0-20mA, 4-20mA..
 Tín hiệu điện áp ±10V, 0-10V, ±5V, 0-5V..
 Tins hiệu nhiệt độ trả về với RTD, TC
 Tín hiệu loadcell cho cân định lượng
 Khi tín hiệu analog trả về từ cảm biến qua module analog sẽ được bộ ADC
chuyển sang dạng số Interger dưới dạng số hóa (mức) tín hiệu. Các giá trị số hóa
này sẽ khó quan sát hơn các giá trị thực tế, cũng như việc xử lý phép toán của các
số hóa có thể làm cho người dùng không quen và khó xử lý. Để đơn giản hóa chúng
ta có thể vẽ biểu đồ biểu diễn cho số hóa trả về và giá trị thực tế đưa vào như sau:

www.themegallery.com Company Logo


 K1: mức tín hiệu nhỏ nhất tương ứng với tín hiệu
analog nhỏ nhất Lo_Lim đưa vào module analog
 K2: mức tín hiệu nhỏ nhất tương ứng với tín hiệu
analog lớn nhất Hi_Lim đưa vào module analog
 Vậy giá trị đọc về từ module Analog thông qua
bộ ADC đưa vào PLC S7 1200 chỉ có tầm giá trị
K1≤IN≤K2. Với IN là giá trị trả về từ module
Analog input. Từ đó ta viết phương tình đọc và hiển
thị giá trị Analog, với giá trị thực tế tương ứng với
giá trị đưa vào module analog:
OUT=[((FLOAT(IN) - K1)/(K2 - K1))*(HI_LIM-LO_LIM)] + LO_LIM (*)
Với:
 IN là giá trị trả về cho các chân tín hiệu AIW (K1≤IN≤K2)
 OUT là giá trị thực tế đưa vào module analog (Lo_Lim≤OUT≤Hi_Lim).

www.themegallery.com Company Logo


 Trong một số trường hợp có thể sử dụng phần trăm % hệ thống, hay đơn vị hệ
thống (mét, nhiệt độ…)
 Gía trị của [K1,K2] có các khoảng phân giải: [0,27648], [-27648,27648],
[0,32767], [-32767,32767] tùy theo phần cứng và độ phân giải của module analog
input.
 Dựa vào phần cứng thiết bị và tín hiệu trả về mà ta chia thành hai định dạng xử
lý phù hợp:
 Xử lý tín hiệu dòng/áp: tất cả các tín hiệu có thể chuyển đổi về thành dạng này để
sử lý
 Xử lý tín hiệu nhiệt: Áp dụng xử lý với các module đọc RTD, TC và không phân
biệt đó là cảm biến loại K,C,B,N,S

www.themegallery.com Company Logo


 Lập trình xử lý tín hiệu dòng/áp
Để xử lý tín hiệu analog trả về tín hiệu dòng/áp ta sử dụng trực tiếp công thức (*).
Tuy nhiên trong thư viện tập lệnh Step 7 Basic V1x không hỗ trợ lệnh đọc tín hiệu
analog nên ta sử dụng kết hợp 2 tập lệnh SCALE_X và NORM_X tương ứng với
công thức (*)
a. Lệnh Norm_X
Người dùng có thể sử dụng lệnh Normalize để 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:


OUT = (VALUE – MIN) / (MAX – MIN)

Tham số Khai báo Kiểu dữ liệu Vùng nhớ Miêu tả


EN IN BOOL I, Q, M, D, L Ngõ vào cho phép hoạt động
ENO OUT BOOL Q, M, D, L Ngõ ra cho phép hoạt động
MIN IN INT, REAL I, Q, M, D, L hay Giới hạn dưới của Value
hằng số
VALUE IN INT, REAL I, Q, M, D, L hay Giá trị Value đưa vào
hằng số
MAX IN INT, REAL I, Q, M, D, L hay Giới hạn trên của Value
hằng số
OUT OUT REAL Q, M, D, L Kết quả trả về nằm trong giới hạn
[0.0 , 1.0]
www.themegallery.com Company Logo
b. Lệnh Scale_X
Người dùng có thể sử dụng lệnh SCALE-X để chuyển đổi giá trị sang một tầm giá
trị mới phù hợp với yêu cầu sử dụng. Khi lệnh SCALE_X được thực hiện thì giá trị
VALUE sẽ đượ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 NORM_X:


OUT = [VALUE (MAX – MIN)] + MIN

Tham số Khai báo Kiểu dữ liệu Vùng nhớ Miêu tả


EN IN BOOL I, Q, M, D, Ngõ vào cho phép hoạt
L động
ENO OUT BOOL Q, M, D, L Ngõ ra cho phép hoạt động

MIN IN INT, I, Q, M, D, Giới hạn dưới của Value


REAL L hay hằng số
VALUE IN REAL I, Q, M, D, Giá trị Value đưa vào
L hay hằng số
MAX IN INT, I, Q, M, D, Giới hạn trên của Value
REAL L hay hằng số
OUT OUT INT, Q, M, D, L Kết quả trả về nằm trong
REAL giới hạn [MIN , MAX]
www.themegallery.com Company Logo
c. Ứng dụng lệnh Norm_X và Scale_X để đọc tín hiệu analog
Lập trình ứng dụng giám sát mức nước trong bình với yêu cầu:
Cảm biến siêu âm đo mức trong bình trả về điện áp với mức tín hiệu 0V tương ứng
100 lít nước và 10V tương ứng 1000 lít nước.
Cảm biến được kết nối với ngõ vào Analog AI0 tích hợp trên S7 1200
Lập trình giám sát bồn nước và báo hiển thị giá trị mức cao là 990 lít và báo hiển
thị giá trị mức thập là 110 lít

www.themegallery.com Company Logo


c. Ứng dụng lệnh Norm_X và Scale_X để đọc tín hiệu analog
Bước 1: Khởi tạo Project với CPU 1214C
Bước 2: Cấu hình phần cứng CPU 1214C để kiểm tra địa chỉ và cấu hình hoạt động
cho các kênh Analog: CPU →Properties→AI 2→Analog input

www.themegallery.com Company Logo


Bước 3:Tạo tag giám sát biến trạng thái của các tín hiệu: PLC tag →Add new tag table

Bước 4: Lập trình đọc tín hiệu analog trả về từ cảm biến

Giá trị các ngõ Analog input tích hợp trên


CPU có hệ số [K1,K2] là [0, 27648] được đưa
vào [Min, Max] trong hàm Norm_X
Giá trị [Min, Max] trong hàm Scale_X là
giá trị cận trên và cận dưới của đơn vị kỹ thuật
tương ứng với giá trị [Lo_Lim, Hi_Lim], với
kiểu dữ liệu là số thực. Giá trị cảm biến trả về
từ 0V -100L đến 10V-1000L thì có thể khai báo
Max=1000.0 và Min=100.0. Hoặc có thể khai
báo theo tỉ lệ % hệ thống.

www.themegallery.com Company Logo


Bước 5: Lập trình báo đèn trạng thái mức đầy khi cao hơn 990 lít, mức thấp khi thấp
hơn 110 lít

www.themegallery.com Company Logo


2.6.2. Lập trình xử lý tín hiệu Analog output
2.6.2.1. Thiết lập công thức toán học xử lý tín hiệu Analog output
Biểu đồ biểu diễn cho số thực trả về số hóa để xuất ra Analog output:

Từ đó ta viết được phương trình xử lý tín hiệu Analog out:


AQW=[(Value –Lo_Lim)/(Hi_Lim – Lo_Lim)*(K2-K1)] + K1
Các hệ số [Lo_Lim, Hi_Lim], và [K1, K2] giống như thuật toán giải xử lý tín hiệu
Analog input.
Và dựa theo công thức của lệnh Norm_X và lệnh Scale_X thì có thể kết hợp hai
lệnh trên để tạo ra công thức xử lý tín hiệu Analog như sau:

www.themegallery.com Company Logo


2.6.2.2. Ví dụ ứng dụng
a. Yêu cầu
Thực hiện lập trình điều khiển hệ thống bơm với yêu cầu:
- Sử dụng Signal board xuất tín hiệu Analog điều khiển bơm hoạt động thông qua
biến tần.
Nếu mực nước nhỏ hơn 500 lít nước thì bơm chạy 100%, nếu mực nước lớn hơn
700 lít hì bơm chạy 50% công suất.
b. Thực hiện
Bước 1: Khai báo, kiểm tra cấu hình phần cứng của module Analog để kiểm tra địa chỉ
và cấu hình hoạt động cho các kênh Analog theo yêu cầu bài toán thực tế: Signal board
Analog →Properties →Analog output

www.themegallery.com Company Logo


Bước 2: Lập trình

www.themegallery.com Company Logo

You might also like