Giáo trình Lập trình PLC S7-200 - Nguyễn Trọng Tài
Lệnh STL: CTU Cxx, PV
Khi R =1, Xóa bộ đếm, ngõ ra = 0
Khi CU chuyển từ 0Æ1 counter đếm lên
Khi giá trị counter =PV, ngõ ra =1
Lệnh STL: CTD Cxx, PV
Khi LD =1, Load PV vào bộ đếm, ngõ ra =0
Khi CD chuyển từ 0Æ1 counter đếm xuống
Khi giá trị counter =0, ngõ ra =1
) Real In Thời gian tích phân (>0) 24 Derivative time or rate (Td) Real In Thời gian vi phân (>0) 28 Bi (MX) R l I /O t Giá t ị Bi h ặ tổ tí h hâas ea n u r as o c ng c p n 32 Previous Process Variable (PVn-1) Real In/Out Phản hồi ở thời điểm trước đó 36-79 Reserved for auto-tuning variables 02‐Nov‐13 125@Nguyen Trong Tai –Dr. Chuẩn hóa tín hiệu từ cảm biến Rnorm = RRaw/Span + Offset RNorm Giá trị được chuẩn hóa RRaw Giá trị thực Offset 0.0 for unipolar values 0.5 for bipolar values Span Maximum possible value – Minimum possible value 32000 f i l l (t i l)= or un po ar va ues yp ca = 64000 for bipolar values (typical) ITDAIW0 AC0 //C t i t l t d bl d , onver an npu va ue o a ou e wor DTR AC0, AC0 //Convert the 32-bit integer to a real number /R 64000.0, AC0 //Normalize the value in the accumulator +R 0.5, AC0 //Offset the value to the range from 0.0 to 1.0 MOVR AC0, VD100 //Store the normalized value in the loop TABLE 02‐Nov‐13 126@Nguyen Trong Tai –Dr. Chuẩn hóa tín hiệu từ cảm biến Rnorm = RRaw/Span + Offset RNorm Giá trị được chuẩn hóa RRaw Giá trị thực Offset 0.0 for unipolar values 0.5 for bipolar values Span Maximum possible value – Minimum possible value 32000 f i l l (t i l)= or un po ar va ues yp ca = 64000 for bipolar values (typical) ITDAIW0 AC0 //C t i t l t d bl d , onver an npu va ue o a ou e wor DTR AC0, AC0 //Convert the 32-bit integer to a real number /R 64000.0, AC0 //Normalize the value in the accumulator +R 0.5, AC0 //Offset the value to the range from 0.0 to 1.0 MOVR AC0, VD100 //Store the normalized value in the loop TABLE 02‐Nov‐13 127@Nguyen Trong Tai –Dr. Chuẩn hóa tín hiệu cho ngõ ra RScale = (Mn - Offset) * Span RNorm Giá trị thực ngõ ra RRaw Giá trị được chuẩn hóa Offset 0.0 for unipolar values 0 5 for bipolar al es. v u Span Maximum possible value – Minimum possible value = 32000 for unipolar values (typical) = 64000 for bipolar values (typical) MOVR VD108, AC0 //Moves the loop output to the accumulator R 0 5 AC0 //I l d thi t t t l if th l i bi l- . , nc u e s s a emen on y e va ue s po ar *R 64000.0, AC0 //Scales the value in the accumulator ROUND AC0, AC0 //Converts the real number to a 32-bit integer DTI AC0, LW0 //Converts the value to a 16-bit integer MOVW LW0, AQW0 //Writes the value to the analog output 02‐Nov‐13 128@Nguyen Trong Tai –Dr. Ví dụ: Đổi giá trị đo trong AIW0, chuẩn hóa 64000, Chứa trong VD100 XORD AC0, AC0 //Xóa ACC MOVW AIW0, AC0 //Cất trị đo vào ACC LDW>= AC0, 0 //Nếu dương JMP 0 //Đổi sang số thực NOT //Nếu âm ORD 16#FFFF0000, AC0 //Triển khai dấu cho AC0 LBL 0 DTR AC0, AC0 //Đổi sang số thực /R 64000.0, AC0 //Chuẩn hóa +R 0.5, AC0 MOVR AC0, VD100 02‐Nov‐13 129@Nguyen Trong Tai –Dr. Ví dụ: Lập trình PID điều khiển mực nước trong bồn 70%: AIW0: sensor, AQW0: output, ts = 0.1s //Main Network 1 LD SM0.1 // iể đMOVR 0.75, VD104 Đ m ặt 75% MOVR 0.25, VD112 // Độ lợi vòng MOVR 0.10, VD116 // MOVR 30 0 VD120 // T. , I MOVR 0.0, VD124 // Không dùng đạo hàm MOVB 100, SMB34 // Ngắt thời gian 0.1s gọi ID ATCH 0 10, ENI 02‐Nov‐13 130@Nguyen Trong Tai –Dr. Ví dụ: Lập trình PID điều khiển mực nước trong bồn 70%: AIW0: sensor, AQW0: output, ts = 0.1s //INT 0 Network 1 LD SM0.0 XORD AC0, AC0 MOVW AIW0 AC0 // đọc mực nước, DTR AC0, AC0 / R 32000.0, AC0 // chuyển sang số thực MOVR AC0, VD100 // đưa vào bảng Network 2 LD I0.0 // Khi I0.0 ON thì điều khiển PID PID VB100, 0 Network 3 LD SM0.0 MOVR VD108, AC0 // Xuất ra điều khiển *R 32000 0 AC0. , TRUNC AC0, AC0 MOVW AC0, AQW002‐Nov‐13 131@Nguyen Trong Tai –Dr. • S7-200 cho phép tối đa 128 chương trình ngắt. • Chương trình ngắt được đóng khung bằng INT_n và RETI ắ ấ ắ ằ• Cho phép ng t và c m ng t b ng ENI và DISI • Ngắt được thực hiện khi có sự kiện xảy ra • Liên kết và phá liên kết giữa sự kiện và ngắt bằng ATCH và DTCH ó kiệ bằ CLR EVNT; x a sự n ng _ 02‐Nov‐13 132@Nguyen Trong Tai –Dr. S kiệ Mô ả Nhó Ư iêự n t m ưu tiên u t n trong nhóm 8 Nhận ký tự ở Port 0 1 Cao ấ 9 Truyền xong Port 0 1 23 Nhận xong bảng tin ở Port 0 1 nh t24 Nhận xong bảng tin ở Port 1 2 25 Nhận ký tự ở Port 1 2 26 Truyền xong Port 1 2 02‐Nov‐13 133@Nguyen Trong Tai –Dr. S kiệ Mô ả Nhó Ư iêự n t m ưu tiên u t n trong nhóm 0 Ngắt cạnh lên I0.0 1 2 Ngắt cạnh lên I0.1 2 4 Ngắt cạnh lên I0.2 3 6 Ngắt cạnh lên I0.3 4 1 Ngắt cạnh xuống I0.0 5 3 Ngắt cạnh xuống I0 1 6 Giữa . 5 Ngắt cạnh xuống I0.2 7 7 Ngắt cạnh xuống I0.3 8 12 Đếm tốc độ cao HSC0: đo bằng đặt 1 13 Đếm tốc độ cao HSC1: đo bằng đặt 9 14 HSC1 đổi hướng đếm 10 15 Xóa ngoài HSC1 1102‐Nov‐13 134@Nguyen Trong Tai –Dr. S kiệ Mô ả Nhó Ư iêự n t m ưu tiên u t n trong nhóm 16 Đếm tốc độ cao HSC2: đo bằng đặt 12 17 HSC2 đổi hướng đếm 13 18 Xóa ngoài HSC2 14 Giữa 32 Đếm tốc độ cao HSC3: đo bằng đặt 19 29 Đếm tốc độ cao HSC4: đo bằng đặt 20 30 HSC4 đổi hướng đếm 21 31 Xóa ngoài HSC4 22 33 Đếm tốc độ cao HSC5: đo bằng đặt 23 19 Đếm xung PLS0 xong 15 20 Đếm xung PLS1 xong 16 02‐Nov‐13 135@Nguyen Trong Tai –Dr. S kiệ Mô ả Nhó Ư iêự n t m ưu tiên u t n trong nhóm 10 Ngắt thời gian 0 1 Thấp nhất 11 Ngắt thời gian 1 2 21 Ngắt timer T32 3 22 Ngắt timer T96 4 02‐Nov‐13 136@Nguyen Trong Tai –Dr. • Ngắt thời gian 0/1 xảy ra theo chu kỳ cố định (tối đa 255ms) bởi nội dung của SMB34/SMB35 (đơn vị ms) ể ấ• Thường dùng đ đọc hay xu t tín hiệu analog. • Ngắt timer T32/T96 xảy ra khi T32 hoặc T96 hoàn tất thời gian trể đã đặt. 02‐Nov‐13 137@Nguyen Trong Tai –Dr. Ví dụ: NETWORK 1 // Subroutine 0 LD SM0 0 . MOVB 100, SMB34 // Chu kỳ ngắt100ms ATCH INT 0 10 // Liê kết kiệ 10 ới INT 0 _ n sự n v _ ENI // Cho phép ngắt toàn cục NETWORK 1 // I 0 nterrupt // Đọc giá trị của AIW4 sau mỗi 100ms LD SM0.0 MOVW AIW4, VW100 02‐Nov‐13 138@Nguyen Trong Tai –Dr. Lệnh PLS: • Chế độ PTO (Pulse Train Output): Phát dãy xung vuông tần ố ổ ố ổs thay đ i, s xung thay đ i • Chế độ PWM (Pulse Width Modulation): phát dãy xung điều rộng PWM có chu kỳ thay đổi N õ Q0 0 à Q0 1• g ra . v . . 02‐Nov‐13 139@Nguyen Trong Tai –Dr. Thanh ghi báo trạng thái SMB66/SMB76 Q0.0 Q0.1 Thanh ghi trạng thái 0 1 SM66.4 SM76.4 PTO profile aborted (delta calculation error) No error aborted SM66.5 SM76.5 PTO profile aborted due to user command No error Aborted SM66.6 SM76.6 PTO/PWM pipeline No error Over/un overflow/underflow: derflow SM66.7 SM76.7 PTO idle: In progress PTO idde 02‐Nov‐13 140@Nguyen Trong Tai –Dr. Thanh ghi điều khiển SMB67/SMB77 Q0.0 Q0.1 Thanh ghi điều khiển 0 1 SM67.0 SM77.0 PTO/PWM update cycle time No update update SM67.1 SM77.1 PWM update Pulse width time No update update SM67.2 SM77.2 PTO update the pulse count value No update update SM67.3 SM77.3 PTO/PWM time base 1us/tick 1ms/tick SM67 4 SM77 4 PWM update method asynchron Sychrono. . ous us SM67.5 SM77.5 PTO single/multiple segment Single Multiple operation SM67.6 SM77.6 PTO/PWM mode select PTO PWM SM67 7 SM77 7 PTO/PWM enable disable enable. . 02‐Nov‐13 141@Nguyen Trong Tai –Dr. Các Thanh ghi khác Q0.0 Q0.1 Chức năng SMW68 SMW78 PTO/PWM cycle time value range: 2 to 65,535 SMW70 SMW80 PWM pulse width value range: 0 to 65,535 SMW72 SMW82 PTO pulse count value range: 1 to 4,294,967,295 SMW166 SMW176 Number of the segment in progress Multiple‐segment PTO operation only SMW168 SMW178 Starting location of the profile table Multiple‐segment PTO operation only (byte offset from Multiple‐segment PTO operation only V0 ) SMB170 SMB180 Linear profile status byte SMB171 SMB181 Linear profile result register SMB172 SMB182 Manual mode frequency register02‐Nov‐13 142@Nguyen Trong Tai –Dr. Một số trường hợp thiết lập thanh ghi điều khiển C l Result of Executing the PLS Instruction ontro Register Enable Mode Segment Operation Time base Pulse Count Cycle Time 16#81 Yes PTO Single 1us/cycle Load 16#84 Yes PTO Single 1us/cycle Load 16#85 Yes PTO Single 1us/cycle Load Load 16#89 Yes PTO Single 1ms/cycle Load 16#8C Y PTO Si l 1 / l L des ng e ms cyc e oa 16#8D Yes PTO Single 1ms/cycle Load Load 16#A0 Yes PTO Multiple 1us/cycle 16#A8 Yes PTO Multiple 1ms/cycle 02‐Nov‐13 143@Nguyen Trong Tai –Dr. Một số trường hợp thiết lập thanh ghi điều khiển Result of Executing the PLS Instruction Control Register Enable Mode PWM Update Mode Time base Pulse Width Cycle Time 16#D1 Yes PWM Single 1us/cycle Load 16#D2 Y PWM Si l 1 / l L des ng e us cyc e oa 16#D3 Yes PWM Single 1us/cycle Load Load 16#D9 Y PWM Si l 1 / l L des ng e ms cyc e oa 16#DA Yes PWM Single 1ms/cycle Load 16#DB Y PWM Si l 1 / l L d L des ng e ms cyc e oa oa 02‐Nov‐13 144@Nguyen Trong Tai –Dr. Calculating Profile Table Values Multi-segment PTO có thể ứng dụng trong nhiều trường hợp, cụ thể là điều khiển step motor Có thể ó tối đ 255 tc a segmen Delta cycle time = ( End_Ctseg ‐ Init_CTseg ) / Quantityseg 02‐Nov‐13 145@Nguyen Trong Tai –Dr. Calculating Profile Table Values Ví dụ Tần số bắt đầu và cuối là 2 kHz, tần số cực đại là 10kHz, cần 4000 xung để h à thà h h kỳ h t độo n n c u oạ ng. Giá trị trong profile table quy ước theo chu kỳ, Î phải chuyển từ tần số sang chu kỳ: Chu kỳ hoạt động lúc khởi động và kết thúc là 500us Chu kỳ hoạt động ở tần số cực đại là 100us ố ể ầ ố ầTrong quá trình giảm t c, đ đạt t n s cực đại, c n 200 xung Trong quá trình giảm tốc, cần 400 xung 02‐Nov‐13 146@Nguyen Trong Tai –Dr. Calculating Profile Table Values Ví dụ Tần số bắt đầu và cuối là 2 kHz, tần số cực đại là 10kHz, cần 4000 xung để h à thà h h kỳ h t độo n n c u oạ ng. Giá trị trong profile table quy ước theo chu kỳ, Î phải chuyển từ tần số sang chu kỳ: Chu kỳ hoạt động lúc khởi động và kết thúc là 500us Chu kỳ hoạt động ở tần số cực đại là 100us ố ể ầ ố ầTrong quá trình giảm t c, đ đạt t n s cực đại, c n 200 xung Trong quá trình giảm tốc, cần 400 xung 02‐Nov‐13 147@Nguyen Trong Tai –Dr. 02‐Nov‐13 148@Nguyen Trong Tai –Dr.
File đính kèm:
- giao_trinh_lap_trinh_plc_s7_200_nguyen_trong_tai.pdf