1.3.1. Cấu hình phần cứng của PLC S7-200
S7-200 là thiết bị điều khiển logic khả trình loại nhỏ của hãng siemens, Trong đó có nhiều loại CPU nhƣ: CPU 212, CPU 214, CPU 221, CPU 222, CPU 226... Đối với đồ án này em đã sử dụng CPU 222 và CPU 224 với các đặc điểm nhƣ sau:
Kích cớ vật lý: 90 x 80 x 62 (mm)
Bộ nhớ chƣơng trình: 4096 Byte.
Bộ nhớ dữ liệu: 2048 Byte.
Đầu vào số: 8
Đầu ra số: 6
Đầu vào/ra Analog: Không.
Số lƣợng module mở rộng: 2
Cổng truyền thông: 1 cổng RS 485.
Khoa Điện Lớp ĐH Điện A K3
Đồ án tốt nghiệp 135
1.3.2. Các đèn báo
Run: Màu xanh đèn sáng báo hiệu PLC đang ở chế độ làn việc và đang thực hiện chƣơng trình nạp cho máy.
Stop: Màu vàng đèn sáng báo hiệu CPU đang làm việc và đang thực hiện chƣơng trình hiện có.
SF: Màu đỏ đèn sáng báo hiệu CPU gặp sự cố
Ix.x: Đèn xanh ở cổng vào chỉ định trạng thái tức thời của cổng Ix.x. Đèn này báo trạng thái của tín hiệu theo giá trị logic của cổng.
Qy.y: Đèn xanh ở cổng ra báo hiệu trạng thái tức thời của cổng Qy.y. Đèn này báo trạng thái của tín hiệu theo giá trị logic của cổng.
Pin và nguồn nuôi bộ nhớ:
Ngõ vào 24V DC, 110V AC hoặc 220V AC; ngõ ra: Dạng rơle, transitor hay triac. Kí hiệu cực cho PLC: L+
= 24V, M = 0V.
Nguồn nuôi dùng để ghi chƣơng trình hoặc nạp một chƣơng trình mới Nguồn pin dùng để mở rộng thời gian lƣu trữ dữ liệu trong bộ nhớ.
1.3.3. Cổng truyền thông
S7-200 sử dụng cổng truyền thông nối tiếp RS485 với phích nối 9 chân để phục vụ cho việc ghép nối nhiều thiết bị lập trình hoặc với các trạn PLC khác. Tốc độ truyền cho máy lập trình kiểu PPI là 9600 baud.
Đối với các thiết bị lập trình có cổng giao tiếp PPI thì có thể kết nối trực tiếp với PLC thông qua sơi cáp. Tuy nhiên đối với các máy tính cá nhân cần thiết phải có cáp chuyển đổi PC/PPI. Có 2 loại cáp chuyển đổi là cáp RS – 232/PPI Multi – Master và cáp USB/PPI Multi – Master.
Khoa Điện Lớp ĐH Điện A K3
Đồ án tốt nghiệp 136
Hình 2.35: Hình dáng cáp RS – 232/PPI và các chuyển mạch trên cáp
1.3.4. Cấu trúc chương trình PLC S7-200
Chƣơng trình chính: Trong chƣơng trình chính ngƣời sử dụng viết các câu lệnh để điều khiển một ứng dụng nào đó. Câu lệnh trong chƣơng trình chính đƣợc thực hiện tuần tự và một lần trong mổi vòng quét. Khi chƣơng trình đến hàng cuối cùng sẽ tự động trở về câu đầu tiên. Chƣơng trình chính kết thúc bằng lệnh END.
Chƣơng trình con là một bộ phận của chƣơng trình chính, chƣơng trình con đƣợc thực hiện mổi khi đƣợc gọi từ chƣơng trình chính. Chƣơng trình con rất hửu ích trong trƣờng hợp có những chức năng nào đó đƣợc thực hiện lặp lại nhiều lần.
Ƣu điểm của chƣơng trình con: giảm kích thƣớc chƣơng trình, thời gian quét giảm, dễ sao chép sang chƣơng trình khác.
Chƣơng trình phục vụ ngắt: là một bộ phận của chƣơng trình chính, nó đƣợc gọi khi có sự kiện ngắt xuất hiện. Sự kiện ngắt đƣợc định nghĩa trƣớc trong chƣơng trình chính.
Khoa Điện Lớp ĐH Điện A K3
Đồ án tốt nghiệp 137
Khi xảy ra sự kiện ngắt hệ thống sẽ tự động lƣu lại các giá trị trạng thái của stack. Thanh ghi và các vùng nhớ đặc biệt trƣớc khi đi vào chƣơng trình phục vụ ngắt và phục hồi các giá trị này khi quay về chƣơng trình chính
Nếu chƣơng trình phục vụ ngắt quá dài có thể gây ra những hoạt động không bình thƣờng cho các thiết bị, vậy nên phƣơng châm viết chƣơng trình phục vụ ngắt là càng ngắn càng tốt.
1.3.5. Phép toán trong S7-200
Phép toán AND
Phép toán AND đƣợc sử dụng khi có yêu cầu điều khiển là trạng thái của hai hay nhiều tín hiệu đồng thời xảy ra thì sẽ thực hiện một nhiệm vụ điều khiển nào đó.
Hình 2.36: Phép toán AND được biểu diễn ở 3 dạng ngôn ngữ
Phép toán OR
Phép toán OR sẽ đƣợc sử dụng khi trạng thái của một trong hai bit (hoặc nhiều) tín hiệu thỏa mãn điều kiện của yêu cầu điều khiển thì sẽ đƣợc thực hiện một nhiệm vụ điều khiển nào đó.
Hình 2.37: Phép toán OR
Phép toán XOR
Phép toán XOR đƣợc sử dụng khi có hai tín hiệu mà nếu chúng có cùng trạng thái thì ngõ ra sẽ xuống mức 0 còn nếu hai tín hiệu này khác trạng thái thì ngõ ra sẽ lên mức 1.
Khoa Điện Lớp ĐH Điện A K3
Đồ án tốt nghiệp 138
Hình 2.38: Phép toán XOR
TIMER: TON, TOF, TONR
Các thông số chính: IN: BOOL
PT: INT, là giá trị đặt cho TIMER (VW, IW, QW, MW, SW, SMW, LW, AIW, T, C, AC, CONST, *VD, *LD, *AC).
Txxx: là số hiệu TIMER.
Trong S7 – 200 có tất cả là 256 TIMER, kí hiệu từ T0 – T255. Các số hiệu TIMER trong S7 – 200 nhƣ sau:
TIMER Type Resolution Maximum Value TIMER Number
TONR 1 ms 32.767 s T0, T64 10 ms 327.67 s T1 – T4, T65 – T68 100 ms 3276.7 s T5 – T31, T69 – T95 TON, TOF 1 ms 32.767 s T32, T96 10 ms 327.67 s T33 – T36, T97 – T100 100 ms 3276.7 s T37 – T63, T101 – T255
Khoa Điện Lớp ĐH Điện A K3
Đồ án tốt nghiệp 139
TON:
Hình 2.39: Phép toán TON ở ba dạng ngôn ngử
Khi ngõ vào I0.0 = 1 T37 đƣợc kích, nếu sau 100×100ms = 10s mà I0.0 vẫn dữ trạng thái thì Bit T37 sẽ lên 1 (khi đó Q0.0 = 1). Nếu I0.0 =1 không đủ thời gian 10s thì Bit T37 sẽ không lên 1.
Khoa Điện Lớp ĐH Điện A K3
Đồ án tốt nghiệp 140
TOF:
Hình 2.41: Phép toán TOF ở 3 dạng ngôn ngữ
Khi ngõ vào I0.0 = 1 thì bit T33 = 1 (ngõ ra Q0.0 = 1 ). Khi I0.0 = 0, thời gian T33 bắt đầu tính, đủ thời gian 1s = 100×10ms thì bit T33 = 0 (Q0.0 =0).
Nếu I0.0 = 0 trong khoảng thời gian chƣa đủ 1s đã lên 1 lại thì bit T33 vẫn giữ nguyên trạng thái.
Khoa Điện Lớp ĐH Điện A K3
Đồ án tốt nghiệp 141
TONR:
Hình 2.43: Phép toán TONR
Ngõ vòa I0.0 có tác dụng kích thời gian cho TONR, khi I0.0 = 1 thời gian TONR đủ tính, khi I0.0 = 0 thời gian không bị Reset về 0. Khi đủ thời gian Bit sẽ lên 1.
Thời gian TONR bị Reset khi có tín hiệu Reset Timer (tín hiệu từ I0.1)
Hình 2.44: Giản đồ thời gian TONR
COUNTER: CTU, CTD, CTUD
CTU:
Khoa Điện Lớp ĐH Điện A K3
Đồ án tốt nghiệp 142
CU: Kích đếm lên BOOL R: Reset BOOL PV: Giá trị đặt cho COUNTER INT
PV: VW, IW, QW, MW, SMW, LW, AIW, AC, T, C, CONSTANT, *VD, *AC, *LD, SW.
Hình 2.45: Phép toán COUNTER viết ở 3 dạng ngôn ngữ
Mỗi lần có một sƣờn cạnh lên ở chân CU, giá trị bộ đếm (1 WORD) đƣợc tăng lên 1. Khi giá trih hiện tại lớn hơn hoặc bằng giá trị đặt PV, ngõ ra sẽ đƣợc bật lên ON. Khi chân Reset đƣợc kích (sƣờn lên) giá trị hiện tại bộ đếm và ngõ ra đƣợc trả về 0. Bộ đếm ngừng đếm kkhi giá trị bộ đếm đạt đến trị tối đa là 32767 (216
– 1 ).
Khoa Điện Lớp ĐH Điện A K3 Đồ án tốt nghiệp 143 CTD: Cxxx: là số hiệu COUTER (0 – 255) CD: Kích đếm xuống BOOL LD: Load BOOL PV: Giá trị đặt cho COUNTER INT
PV: VW, IW, QW, MW, SMW, LW, AIW, AC, T, C, CONSTANT, *VD, *AC, *LD, SW.
Hình 2.47: Phép toán CTD viết ở ba dạng ngôn ngữ
Khi chân LD đƣợc kích (sƣờn lên) giá trị PV đƣợc nạp cho bộ đếm. Mỗi lần có một sƣờn cạnh lên ở chân CD, giá trị bộ đếm (1 WORD) đƣợc giảm xuống 1. Khi giá trị hiện tại của bộ đếm bằng 0, ngõ ra đƣợc bật lên ON và bộ đếm sẽ ngƣng đếm.
Khoa Điện Lớp ĐH Điện A K3
Đồ án tốt nghiệp 144
Hình 2.48: Giản đồ thời gian của CTD
CTUD:
Cxxx: là số hiệu COUTER (0 – 255) CU: Kích đếm lên
CD: Kích đếm xuống BOOL R: Reset BOOL PV: Giá trị đặt cho COUNTER INT
PV: VW, IW, QW, MW, SMW, LW, AIW, AC, T, C, CONSTANT, *VD, *AC, *LD, SW.
Hình 2.49: Phép toán CTUD
Mỗi lần có một sƣờn cạnh lên ở chân CU, giá trị bộ đếm (1 Word) đƣợc tăng lên “1”. Mỗi lần có một sƣờn cạnh lên ở chân CD, giá trị bộ đếm đƣợc giảm xuống 1. Khi giá trị hiện tại lớn hơn hoặc bằng giá trị đặt PV, ngõ ra sẽ đƣợc bật l ên ON. Khi chân R đƣợc kích (sƣờn lên) giá trị bộ đếm và ngõ Out đƣợc trả về 0. Giá trị cao nhất của bộ đếm là 32767 và thấp nhất là – 32767.
Khoa Điện Lớp ĐH Điện A K3
Đồ án tốt nghiệp 145
Phép toán cộng trừ:
Cộng, trừ hai số nguyên 16 BIT :
ADD_I: Cộng hai số nguyên 16 BIT SUB_I: Trừ hai số nguyên 16 BIT
EN: Ngõ vào cho phép IN1 + IN2 = OUT (IN1 – IN2 = OUT).
IN1, IN2: VW, IW, MW, QW, SW, SMWW, T, C, AC, LW, AIW, CONSTAN, *VD, *LD, *AC, INT OUT: VW, IW, MW, QW, SW, SMWW, T, C, AC,
*VD, *LD, *AC, INT
Khi ngõ vào cho phép lên 1 chƣơng trình sẽ thực hiện việc cộng hay trừ hai số nguyên 16 BIT ở IN1, IN2 tƣơng ứng, kết quả đƣa vào OUT.
Tƣơng tự, ta có
ADD_DI: Cộng hai số nguyên 32 BIT SUB_DI: Trừ hai số nguyên 32 BIT ADD_R: Cộng hai số thực
SUB_R: Trừ hai số thực
Nhân ,chia hai số nguyên 16 BIT: MUL_I: Nhân hai số nguyên 16 BIT DIV_I: Chia hai số nguyên 16 BIT
EN: Ngõ vào cho phép IN1 * IN2 = OUT (IN1 / IN2 = OUT, nếu kết quả có dƣ thì phần dƣ sẽ đƣợc bỏ).
IN1, IN2: VW, IW, MW, QW, SW, SMWW, T, C, AC, LW, AIW, CONSTAN, *VD, *LD, *AC, INT OUT: VW, IW, MW, QW, SW, SMWW, T, C, AC,
*VD, *LD, *AC, INT
Khi ngõ vào cho phép lên 1 chƣơng trình sẽ thực hiện việc nhân hay chia hai số nguyên 16 BIT ở IN1, IN2 tƣơng ứng, kết quả đƣa vào OUT.
Trƣờng hợp chia: Vì OUT là số nguyên nên phần dƣ của phép chia sẽ bị bỏ.
Trƣờng hợp nhân: Nếu phép nhân bị tràn bộ nhớ thì OUT sẽ chứa phần BYTE thấp.
Khoa Điện Lớp ĐH Điện A K3
Đồ án tốt nghiệp 146
Tƣơng tự, ta có
MUL_DI: Nhân hai số nguyên 32 BIT DIV_DI: Chia hai số nguyên 32 BIT MUL_R: Nhân hai số thực
DIV_R: Chia hai số thực Phép tăng giảm:
Tăng, giảm BYTE: INC_B: Tăng BYTE
DEC_B: Giảm BYTE
EN: Ngõ vào cho phép IN1 + 1 = OUT (IN1 – 1 = OUT).
IN1: VB, IB, MB, QB, SB, SMB, T, C, AC, LB, CONSTAN, *VD, *LD, *AC, BYTE
OUT: VB, IB, MB, QB, SB, SMB, *VD, *LD, *AC, AC, Các hàm tƣơng tự:
INC_W: Tăng WORD DEC_W: Giảm WORD INC_DW: Tăng DWORD DEC_DW: Giảm DWORD Phép toán so sánh:
So sánh bằng: Khi IN1 = IN2 thì ngõ ra tích cực
IN1, IN2: VB, IB, MB, QB, SB, SMB, T, C, AC, LB, CONSTAN, *VD, *LD, *AC, BYTE
OUT: V, I, M, Q, S, SM, T, C, L, BOOL Tƣơng tự, ta có các hàm so sánh nhƣ sau: So sánh khác: <> So sánh lớn hơn hoặc bằng: >= So sánh nhỏ hơn hoặc bằng: <= So sánh lớn hơn: > So sánh nhỏ hơn: <
Cũng tƣơng tự hàm so sánh cho BYTE, ta có các phép so sánh cho số INT, DINT, REAL. Khi thực hiện các hàm so sánh thì IN1, IN2 phải đƣợc chọn đúng kiểu dữ liệu.
Khoa Điện Lớp ĐH Điện A K3
Đồ án tốt nghiệp 147