a. Thiết bị PLC S7-300 CPU 313C
Cĩ chức năng điều khiển và giám sát hệ thống tƣới, đƣa ra phƣơng pháp điều khiển thích hợp, nhằm tăng độ chính xác cho việc cung cấp nƣớc tƣới cho cây.
Hình 3.8 Thiết bị PLC S7-300 Kích thƣớc W x H x D: 120 x 125 x 130mm.
PLC S7-300 CPU 313C với mã hiệu 6ES7313-5BF03-0AB0 cĩ các thơng số kỹ thuật sau:
o Phần mềm lập trình : Step7 từ V5.1 hoặc cao hơn.
o Bộ nhớ chƣơng trình: MMC (tối đa 4MB).
o Số đầu vào số tích hợp sẵn: 24 (24 VDC).
o Số đầu ra số tích hợp sẵn: 16 (24 VDC).
o Số đầu vào tƣơng tự tích hợp sẵn: 4 AI ( +/-10V; 0 đến 10V; +/- 20mA; 0/4 đến 20 mA), 1 nhiệt điện trở PT 100.
o Đầu ra số tƣơng tự tích hợp sẵn 2AO ( +/-10V, 0 đến 10V, +/- 20mA, 0/4 đến 20 mA).
o Bộ đếm: 256.
o Bộ định thời: 256.
o Vùng địa chỉ vào/ra: 1024/1024 byte ( Cĩ thể định địa chỉ tự do).
o Vùng đệm vào/ra: 128/128 byte.
o Kênh số vào/ra tối đa: 992/992.
o Kênh tƣơng tự vào/ra tối đa: 248/124.
o Khả năng mở rộng module:
+ Số CPU/Rack tối đa: 1/3
+ Số modul tối đa: 31.
o Tần số chuyển mạch tối đa: 100Hz (tải trở), 0.5 Hz (tải cảm)
o Đồng hồ thời gian thực.
o Kiểu kết nối: MPI.
o Ngơn ngữ lập trình: Step 7 (LAD/FBD/STL), GRAPH, HIGRAPH.
o Nguồn cung cấp: 24 VDC.
o Dịng tiêu thụ: 0.7A.
o Cơng suất tiêu thụ: 14W.
o Kích thƣớc W x H x D: 120 x 125 x 130mm.
Các loại PLC thƣờng cĩ nhiều ngơn ngữ lập trình nhằm phục vụ các đối tƣợng sử dụng khác nhau. PLC-300 cĩ bốn ngơn ngữ lập trình cơ bản:
Ngơn ngữ “liệt kê lệnh” (STL - Statement List) là một ngơn ngữ lập trình dạng text đƣợc dùng để viết các đoạn mã cho các khối logic. Cú pháp
lệnh giống với ngơn ngữ assembler, bao gồm lệnh đi kèm với địa chỉ mà lệnh sẽ làm việc trên đĩ.
Ngơn ngữ “hình thang” (LAD – Ladder Logic) là dạng ngơn ngữ đồ họa thích hợp với những ngƣời quen thiết kế mạch điều khiển logic
Ngơn ngữ “hình khối” (FBD – Function Block Diagram) cũng là kiểu ngơn ngữ đồ họa dành cho ngƣời cĩ thĩi quen thiết kế mạch điều khiển số.
SCL : Lập trình theo ngơn ngữ Pascal
b. NGƠN NGỮ LẬP TRÌNH SCL
Mỗi ngơn ngữ lập trình cĩ một đặc điểm lợi thế riêng,tuỳ vào ứng dụng của chƣơng trình,ta cĩ thể sử dụng linh hoạt các ngơn ngữ này cho phù hợp.Thơng thƣờng ngƣời lập trình thƣờng chia nhỏ chƣơng trình thành các chƣơng trình con và mỗi một chƣơng trình con đĩ sử dụng các ngơn ngữ lập trình sao cho phù hợp.Tất cả các chƣơng trình con này sẽ đƣợc gọi trong một chƣơng trình chính, hoặc sẽ tự động đƣợc gọi ở trong mỗi chƣơng trình ngắt.
Thơng thƣờng, ngơn ngữ SCL đƣợc sử dụng để viết các chƣơng trình con cĩ cấu trúc phức tạp,hoặc cĩ nhiều phép tốn hay vịng lặp đƣợc thực thi, với cấu trúc chƣơng trình đơn giản và tập lệnh đa dạng ,phong phú lối viết chƣơng trình dùng
ngơn ngữ SCL đƣợc ngƣời lập trình chuyên nghiệp sử dụng khá nhiều trong chƣơng trình lập trình cho hệ thống.
Source SCL đƣợc tạo ra bằng cách :
Cấu trúc của một chƣơng trình con đơn giản:
FUNCTION FC1: INT Tên chƣơng trình con và kiểu trả về VAR_TEMP
Khai báo biến sử dụng cho chƣơng trình END_VAR BEGIN IF a = b THEN ; ELSIF a = c THEN
; Cấu trúc tập lệnh trong chƣơng trình
ELSE ;
FOR Control Variable:= Start TO End BY Increment DO ; END_FOR; WHILE a = b DO ; END_WHILE; ; FC1 := 100; Giá trị trả về cho hàm END_FUNCTION Kết thúc hàm
Sau khi hàm con đƣợc viết trong SCL Source, chƣơng trình con sẽ đƣợc tạo ra bằng cách biên dịch SCL Source, tuỳ theo trong cấu trúc Source SCL mà số lƣợng chƣơng trình con đƣợc biên dịch tƣơng ứng,hàm FC1 sẽ đƣợc tạo ra nếu ta biên dịch Source SCL.
c. HÀM THƢ VIỆN S7 300 THƠNG DỤNG
1. Hàm FB41”CONT_C”
Hình 3.9 : Cấu trúc của Modun mềm PID –FB41
FB41”CONT_C” đƣợc sử dụng để điều khiển các quá trình kỹ thuật với các biến đầu vào và ra tƣơng tự nhƣ trên cơ sở thiết bị khả trình Simatic. Trong khi thiết lập tham số, cĩ thể tích cực hoặc khơng tích cực một số thành phần chức năng của bộ điều khiển PID cho phù hợp với đối tƣợng.
Module mềm PID bao gồm:
Tín hiệu đầu vào SP_INT: Lệnh nhập mức tín hiệu điều khiển, là số thực, tính theo giá trị % của tín hiệu cực đại thang điều khiển.
Tín hiệu phản hồi PV_PER: Tín hiệu phản hồi lấy từ đối tƣợng đƣợc điều khiển. Nĩ thƣờng đƣợc đọc từ một cảm biến Analog qua đầu vào Analog nên ngƣời ta chọn kiểu dữ liệu đầu vào này là số nguyên kiểu Word. Chức năng CRP_IN biến đổi kiểu dữ liệu từ số nguyên sang dạng số thực tính theo % cho phù hợp với lệnh. Do Module Analog cĩ giới hạn thang đo tuyến tính là 27648 nên ta coi giới hạn đĩ là 100% và tín hiệu ra CRP_IN đƣợc tính:
CRP_IN=PV_PER
27648 100
Để hiệu chỉnh giá trị cảm biến phản hồi, khối chức năng PV_NORM sẽ thực hiện biến đổi tuyến tính, hiệu chỉnh độ nhạy (PV_FAC) và độ trơi (PV_OFF):
PV_NORM= CRP_INPV_FAC +PV_OFF
Khi thay thế cảm biến, ta cần hiệu chỉnh 2 giá trị trên để kết quả đo lƣờng khơng đổi.
Trong trƣờng hợp tín hiệu phản hồi khơng thu đƣợc từ cảm biến cĩ dữ liệu tƣơng ứng đầu vàoPV_PER, ta cĩ thể đƣa qua tính tốn khác và đƣa đến đầu vào PV_IN dạng số thực, tính theo %, lúc đĩ lệnh PVPER_ON phải đặt về mức “0”.
Khối sẽ so sánh 2 giá trị vào, cho ra tín hiệu sai lệch. Tín hiệu sai lệch đƣợc đƣa qua khối chức năng DEADBAND để hệ thống khơng hoạt động với các sai lệch nhỏ dƣới mức cần tác động. Điều này cần thiết nếu các hệ làm việc trong mơi trƣờng nhiều nhiễu. Trong mơi trƣờng ít nhiễu, ta giảm DEAD_W về “0” để tăng độ nhạy, độ chính xác của hệ thống. Hệ số khuếch đại tín hiệu sai lệch của hệ chính là thành phần tỉ lệ Kp, đƣợc đặt bằng hệ số GAIN. GAIN là số thực, nếu chọn lớn hệ sẽ tác động nhanh, chính xác nhƣng dễ mất ổn định.
Khâu PID thực sự gồm 3 thành phần:
- Thành phần tỉ lệ, đƣợc lựa chọn nhờ lệnh chuyển mạch P_SEL - Thành phần tích phân đƣợc hình thành bởi khối chức năng INT và
đƣợc chọn nhờ lệnh chuyển mạch I_SEL. Tính chất khối tích phân xác định nhờ giá trị hằng số thời gian TI (Dữ liệu kiểu TIME), giá trị ban đầu I_ITLVAL (Dạng số thực tính theo %). Cĩ sử dụng giá trị ban đầu hay khơng tuỳ thuộc lệnh I_ITL_ON, và cĩ thể dùng quá trình tích phân giữ nguyên giá trị đầu ra bằng lệnh INT_HOLD.
- Thành phần vi phân đƣợc hình thành bởi khối chức năng DIF, đƣợc lựa chọn nhờ lệnh chuyển mạch D_SEL. Tính chất khối vi phân đƣợc xác lập bởi hằng số thới gian TD (Dữ liệu kiểu TIME) và thời gian giữ chậm TM_LAG (Dữ liệu kiểu TIME).
- Ba thành phần này đƣợc cộng với nhau. Nhờ các lệnh chuyển mạch P_SEL, I_SEL, D_SEL mà ta cĩ thể thành lập các chế độ điều khiển P, PI, PD, PID khác nhau.
° Tín hiệu sai lệch tổng hợp đƣợc cộng thêm thành phần DISV dùng để bù tác động hiễu theo chiều thuận. Giá trị của DISV cĩ dạng số thực, tính theo %.
° Tín hiệu sai lệch đƣợc đƣa qua bộ hạn chế mức tín hiệu điều khiển LMNLIMIT. Mức hạn chế trên LMN_HLM và hạn chế dƣới LMN_LLM đƣợc đƣa vào dạng số thực, tính theo%. Đầu vào của khối đƣợc lựa chọn theo chế độ bằng tay hay tự động nhờ lệnh MAN_ON. Đầu vào MAN, dạng số thực, tính theo %, dùng để đặt mức tín hiệu ra LMN trong chế độ điều khiển bằng tay.
° Khối LMN_NORM biến đổi tuyến tính, bù lệch tĩnh và độ nhạy của cơ cấu chấp hành. Tín hiệu điều khiển đầu ra LMN cĩ dạng số thực, tính theo %.
LMN=LMNLIMITLMN_FAC+LMN_OFF
° Khối CRP_OUT biến đổi tín hiệu ra dạng số thực ra dạng số nguyên LMN_PER thích ứng với dạng ra các Module ra Analog.
LMN_PER=LMN
100 27648
° Các đầu ra trung gian, kiểm tra:
- PV_IN: Tín hiệu phản hồi, dạng số thực, tính theo % ở đầu vào mạch so sánh.
- LMN_P, LMN_I, LMN_D: các thành phần tỉ lệ, tích phân, vi phân của tín hiệu sai lệch ở đầu vào bộ tổng hợp.
- QLMN_HLM, QLMN_LLM: Tín hiệu báo độ sai lệch vƣợt mức hạn chế trên và dƣới.
Các tín hiệu đầu ra này cĩ thể dùng theo dõi, báo hiệu hoặc các xử lý khác.
2. Sử dụng khối hàm FB41
° Để sử dụng module mềm FB41, ta xét sơ đồ khối tín hiệu:
° Lệnh điều khiển đƣợc đặt vào dạng số thực (%) qua đầu vào SP_INT. Đầu ra LMN (số nguyên) hoặc LMN_PER (số thực) đƣợc đƣa đến cơ cấu chấp hành, điều khiển đối tƣợng. Tín hiệu phản hồi đƣợc đƣa trở về đầu vào PV_PER (số nguyên) hoặc PV_IN (số thực).
° Đầu vào DISV sử dụng khi cĩ tác động trực thuận cĩ thể đo lƣờng đƣợc, giảm sai lệch đầu ra, nâng cao độ chính xác cho hệ.