S7300 là dòng sản phẩm PLC (bộ điều khiển lập trình) mang thương hiệu SIMATIC do hãng Siemens sản xuất. PLC S7300 thường được sử dụng trong các ứng dụng vừa và lớn (hệ thống, máy móc, dây chuyền sản xuất trong công nghiệp; robot công nghiệp; xử lý nước thải; .v.v.). S7300 Series bao gồm: CPU 312, CPU 313, CPU 314, CPU 315, CPU 317, CPU 319.
CHƯƠNG 1: CẤU TRÚC CỦA S7 300 1.1.TOÅNG QUAN PLC S7-300 cấu trúc dạng module gồm thành phần sau: CPU loại khác nhau: 312IFM, 312C, 313, 313C, 314, 314IFM, 314C, 315, 315-2 DP, 316-2 DP, 318-2, Module tín hiệu SM xuất nhập tín hiệu tương đồng /soá: SM321, SM322, SM323, SM331, SM332,SM334, SM338, SM374 Module chức FM Module truyền thông CP Module nguồn PS307 cấp nguồn 24VDC cho module khác, dòng 2A, 5A, 10A Module ghép nối IM: IM360, IM361, IM365 Các module gắn rây hình dưới, tối đa module SM/FM/CP bên phải CPU, tạo thành rack, kết nối với qua bus connector gắn mặt sau module Mỗi module gán số slot tính từ trái sang phải, module nguồn slot 1, module CPU slot 2, module kế mang số 4… Trang Nếu có nhiều module bố trí thành nhiều rack (trừ CPU312IFM CPU313 có rack), CPU rack 0, slot 2, kế module phát IM360, slot 3, có nhiệm vụ kết nối rack với rack 1, 2, 3, rack có module kết nối thu IM361, bên phải module IM module SM/FM/CP Cáp nối hai module IM dài tối đa 10m Các module đánh số theo slot dùng làm sở để đặt địa đầu cho module ngõ vào tín hiệu Đối với CPU 315-2DP, 316-2DP, 318-2 gán địa tùy ý cho module Trang Mỗi địa tương ứng với byte Với module số địa ngõ vào hay x.y, x địa byte, y có giá trị từ đến Ví dụ module SM321 DI 32 có 32 ngõ vào gắn kế CPU slot có địa I0.y, I1.y, I2.y, I3.y, I ký hiệu ngõ vào số Module analog có địa theo word, ví dụ module SM332 AO4 có ngõ analog gắn slot rack có địa PQW400, PQW402, PQW404, PQW406, ngõ số có ký hiệu Q ngõ vào analog ký hiệu PIW Các CPU 312IFM, 314 IFM, 31xC có tích hợp sẵn số module mở rộng CPU 312IFM, 312C: 10 ngõ vào số địa I124.0 … I124.7, I125.1; ngõ số Q124.0…Q124.5 CPU 313C: 24 DI I124.0 126.7, 16DO Q124.0 125.7, ngõ vào tương đồng AI địa 752 761, hai ngõ AO 752 755 CPU 314IFM: 20 ngõ vào số I124.0 … I126.3; 16 ngõ số Q124.0 …Q125.7; ngõ vào tương đồng PIW128, PIW130, PIW132, PIW134; ngõ tương đồng PQW128 1.2 CÁC MODULE CỦA PLC S7 300 1.2.1 MODULE NGUỒN (PS): Là module nguồn nuôi Module có tác dụng chuyển đổi điện áp từ 120V đến 230VAC thnahf điện áp 24VDC phù hợp với điện áp làm việc S7 300 Có nhiều kiểu nguồn 2A, 5A, 10A Nguồn cung cấp mạch cách ly, có bảo vệ ngắn mạch, điện áp ổn định Trang 1.2.2 MODULE CPU - Caùc module CPU khaùc theo hình dạng chức năng, vận tốc xử lý lệnh Loại 312IFM, 314IFM thẻ nhớ Loại 312IFM, 313 pin nuôi Loại 315-2DP, 316-2DP, 318-2 có cổng truyền thông DP Các đèn báo có ý nghóa sau: - SF (đỏ) lỗi phần cứng hay mềm, - BATF (đỏ) lỗi pin nuôi, - DC5V (lá cây) nguồn 5V bình thường, - FRCE (vàng ) force request tích cực - RUN (lá cây) CPU mode RUN ; LED chớp luùc start-up w Hz; mode HALT w 0.5 Hz - STOP mode (vaøng) CPU mode STOP hay HALT hay startup; LED chớp memory reset request - BUSF (đỏ) lỗi phần cứng hay phần mềm giao diện PROFIBUS Khóa mode có vị trí: RUN-P chế độ lập trình chạy RUN chế độ chạy chương trình Trang STOP ngừng chạy chương trình MRES reset bộâ n Khóa mode có vị trí: RUN-P chế độ lập trình chạy RUN chế độ chạy chương trình STOP ngừng chạy chương trình MRES reset bộâ nhớ Thẻ nhớ có dung lượng từ 16KB đến 4MB, chứa chương trình từ PLC chuyển qua chuyển chương trình ngược trở lại cho CPU Pin nuôi giúp nuôi chương trình liệu bị nguồn (tối đa năm), nuôi đồng hồ thời gian thực Với loại CPU pin nuôi thi có phần vùng nhớ trì Thông qua cổng truyền thông MPI (MultiPoint Interface) nối : máy tính lập trình, hình OP (Operator panel) , PLC có cổng MPI (S7300, M7-300, S7-400, M7-400, C7-6xx), S7-200, vận tốc truyền đến 187.5kbps (12Mbps với CPU 318-2, 10.2 kbps với S7-200) Cổng Profibus –DP nối thiết bị theo mạng Profibus với vận tốc truyền lên đến 12Mbps Các vùng nhớ PLC Trang Vùng nhớ chương trình (load memory) chứa chương trình người dùng (không chứa địa ký hiệu thích) RAM hay EEPROM CPU hay trên thẻ nhớ Vùng nhớ làm việc (working memory) RAM, chứa chương trình vùng nhớ chương trình chuyển qua; phần chương trình cần thiết chuyển qua, phần không cần lại vùng nhớ chương trình , ví dụ block header, data block Vùng nhớ hệ thống (system memory) phục vụ cho chương trình người dùng, bao gồm timer , counter, vùng nhớ liệu M, nhớ đệm xuất nhập… Trên CPU 312IFM 314 IFM vùng nhớ chương trình RAM EEPROM; CPU khác có pin nuôi, vùng nhớ chương trình RAM thẻ nhớ Khi nguồn hay chế độ MRES ( reset nhớ) RAM bị xóa Một số vùng nhớ RAM ( timer, counter, vùng nhớ M, khối liệu ) khai báo lưu giữ (retentive) phần mềm S7 để chuyển vùng sang nhớ lưu giữ (NVRAM non volative )ù dù pin nuôi, kích thước cụ thể tùy loại CPU Bảng sau cho số thông số CPU Thông số Working CPU 312IFM 6KB CPU 313 12KB CPU 314 24KB CPU 314IFM 32KB memory Load 20KBRAM 20KBRAM 40KB 48KB RAM Trang memory 20KBEEPROM Vận tốc 0.7ms/1000 Data Memory Counter Timer up to 4MB FEPROM up to 4MB FEPROM 48KBEEPROM (memory card) 0.7ms/1000 leänh (memory card) 0.3ms/1000 lệnh 0.3ms/1000 lệnh nhị nhị phân 1KB nhị phân 2KB nhị phân 2KB phân 2KB Retentivity adjustable Retentivity Retentivity adjustable Retentivity adjustable MB0 MB71 adjustable MB0 MB255 MB0 MB143 Preset MB0 MB15 MB0 MB71 Preset MB0 MB15 Preset MB0 MB15 adjustable Retentivity Preset MB0 MB15 adjustable adjustable Retentivity Adjustable Retentivity C0 C31 Retentivity C0 C63 C0 C63 C0 C63 Preset C0 C7 T0 T63 no retentivity Preset C0 C7 T0 T127 Preset C0 C7 T0 T127 Preset C0 C7 T0 T127 Adjustable Adjustable Retentivity Adjustable Retentivity leänh Retentivity T0 T31 T0 T127 T0 T71 Preset: no Preset: no 10 integrated + 128 Preset: no 128 512 496 + 20 integrated integrated + 128 128 512 496 +16 integrated Analog inputs 32 32 64 64 + integrated Analog 32 32 64 64 + integrated Process I0.0 I127.7 I0.0 I127.7 I0.0 I127.7 image input Process Q0.0 Q127.7 Q0.0 Q127.7 Q0.0 Q127.7 Digital inputs Digital outputs outputs image output 1.2.3 Module IM Trang Module IM360 gaén rack kế CPU dùng để ghép nối với module IM361 đặt rack 1, 2, giúp kết nối module mở rộng với CPU số module lớn Cáp nối hai rack loại 368 Trong trường hợp có hai rack, ta dùng loại IM365 1.2.4 Module tín hiệu (SM) Module vào số có loại sau: SM 321; DI 32 _ 24 VDC SM 321; DI 16 _ 24 VDC SM 321; DI 16 _ 120 VAC, 4*4 nhoùm SM 321; DI _ 120/230 VAC, 2*4 nhoùm SM 321; DI 32 _ 120 VAC 8*4 nhóm Module số: SM 322; DO 32 _ 24 VDC/0.5 A, 8*4 nhoùm SM 322; DO 16 _ 24 VDC/0.5 A, 8*2 nhoùm Trang SM 322; DO _ 24 VDC/2 A, 4*2 nhoùm SM 322; DO 16 _ 120 VAC/1 A, 8*2 nhoùm SM 322; DO _ 120/230 VAC/2 A, 4*2 nhoùm SM 322; DO 32_ 120 VAC/1.0 A, 8*4 nhoùm SM 322; DO 16 _ 120 VAC ReLay, 8*2 nhoùm SM 322; DO _ 230 VAC Relay, 4*2 nhoùm SM 322; DO _ 230 VAC/5A Relay,1*8 nhóm Module vào/ SM 323; DI 16/DO 16 _ 24 VDC/0.5 A SM 323; DI 8/DO _ 24 VDC/0.5 A Module Analog in Module analog in có nhiều ngõ vào, dùng để đo điện áp, dòng điện, điện trở ba dây, bốn dây, nhiệt độ Có nhiều tầm đo, độ phân giải, thời gian chuyển đổi khác Cài đặt thông số hoạt động cho module phần mềm S7- Simatic 300 Station – Hardware và/hoặc chương trình người dùng sử dụng hàm SFC 55, 56, 57 phù cài đặt nhờ modulle tầm đo (measuring range module) gắn module SM Kết chuyển đổi số nhị phân phụ hai với bit MSB bit dấu - SM331 AI 2*12 : module chuyển đổi hai kênh vi sai áp dòng, kênh điện trở 2/3/4 dây, dùng phương pháp tích phân, thời gian chuyển đổi từ 5ms đến 100ms, độ phân giải 9, 12, 14 bit + dấu, tầm ño nhö sau: 80 mV; 250 mV; 500 mV; 1000 mV; 2.5 V; Trang V;1 V; 10 V; 3.2 mA; 10 mA; 20 mA; 20 mA; 20 mA Điện trở 150 ; 300 ; 600 ; Đo nhiệy độ dùng cặp nhiệt E, N, J, K, L, nhiệt kế điện trở Pt 100, Ni 100 Các thông số mặc định cài sẵn module, kết hợp với đặt vị trí module tầm đo (bốn vị trí A, B, C, D) không cần thay đổi sử dụng Trang 10 3.3 Counter: Lệnh đếm lên xuống S_CUD: Ngõ vào I0.2=1 : đưa giá trị đếm vào PV Khi I0.0 chuyển trạng thái từ lên ,C0 đếm tăng lên Khi I0.1 chuyển trạng thái từ lên ,C0 đếm giảm xuống Khi I0.0 I0.1 chuyển trạng thái C0 không thay đổi Khi I0.3=1 C0 bị Reset Giá trị đếm thời nằm ô nhớ MW100 MW102 dạng Integer dạng BCD ,giá trị có tầm từ – 999 Ngõ Q0.0=1 giá trị đếm lớn Lệnh đếm lên S_CU: Ngõ vào I0.1=1 : đưa giá trị đếm vào PV Khi I0.0 chuyển trạng thái từ sang , C0 đếm tăng lên Khi I0.2 = Counter bị Reset Ngõ Q0.0=1 giá trị đếm lớn Giá trị đếm thời nằm ô nhớ MW100 Trang 39 MW102 dạng Integer dạng BCD ,giá trị có tầm từ – 999 Ngõ Q0.0=1 giá trị đếm lớn Lệnh đếm lên S_CU: Ngõ vào I0.1=1 : đưa giá trị đếm vào PV Khi I0.0 chuyển trạng thái từ sang , C0 đếm tăng lên Khi I0.2 = Counter bị Reset Ngõ Q0.0=1 giá trị đếm lớn Giá trị đếm thời nằm ô nhớ MW100 MW102 dạng Integer dạng BCD ,giá trị có tầm từ – 999 Ngõ Q0.0=1 giá trị đếm lớn Lệnh đếm xuống S_CD: Ngõ vào I0.1=1 : đưa giá trị đếm vào PV Khi I0.0 chuyển trạng thái từ sang , C0 giảm Khi I0.2 = Counter bị Reset Ngõ Q0.0=1 giá trị đếm lớn Giá trị đếm thời nằm ô nhớ MW100 MW102 dạng Integer dạng BCD ,giá trị có tầm từ – 999 Trang 40 Ngõ Q0.0=1 giá trị đếm lớn Lệnh Set Counter: (SC) S7_300 có 1000 counter (từ C0 đến C999) Khi I0.0 ON, giá trị 100 nạp cho Counter C5 Khi I0.0 OFF, giá trị Counter phụ thuộc vào tín hiệu kích đếm Lệnh đếm lên: (CU) Trang 41 Khi I0.0 chuyển từ lên 1, giá trị 100 nạp vào cho Counter C10 Cứ xung cạnh lên ngõ vào I0.1, đếm C10 tăng đơn vị Khi giá trị tăng đến 999 tín hiệu kích tăng không tác dụng Khi I0.2 chuyển từ lên 1, giá trị đếm bit C10 reset Lệnh đếm xuống: (CD) Khi I0.0 chuyển từ lên 1, giá trị 100 nạp vào cho Counter C10 Cứ xung cạnh lên ngõ vào I0.1, đếm C10 giảm đơn vị Khi giá trị giảm đến tín hiệu kích giảm không tác dụng, đồng thời lúc C10 OFF Nếu đếm khác 0, C10 ON Khi I0.2 chuyển từ lên 1, giá trị đếm bit C10 reset 3.4 Lệnh So Sánh: Lệnh so sánh số nguyên: Lệnh EQ_I ( Equal Integer): So sánh MW100 MW102, số nguyên KQ=KT Trang 42 Lệnh NE_I ( Not Equal Integer) : So sánh MW100 MW102,nếu số khác KQ=KT Lệnh GT_I ( Greater than Integer) : So sánh số MW100 MW102 ,nếu MW100 lớn MW102 KQ=KT Leänh LT_I ( Less than Integer ) : So sánh số MW100 MW102,Nếu MW100 bé MW102 KQ=KT Lệnh GE_I ( Greater than or equal Integer ) : So sánh số MW100 MW102, Nếu MW100 lớn MW102 KQ=KT Lệnh LE_I ( Less than or equal Integer ) : So saùnh số MW100 MW102, Nếu MW100 bé MW102 KQ=KT Trang 43 Lệnh so sánh số Double Integer: Lệnh EQ_D ( Equal Double Integer): So sánh MD100 MD104, số nguyên KQ=KT Lệnh NE_D ( Not Equal Double Integer) : So sánh MD100 MD104,nếu số khác KQ=KT Lệnh GT_D ( Greater than DoubleInteger) : So sánh số MD100 MD104 ,nếu MD100 lớn MD104 KQ=KT Lệnh LT_D ( Less than DoubleInteger ) : So sánh số MD100 MD104 Nếu MD100 bé MD104 KQ=KT Trang 44 Lệnh GE_D ( Greater than or equal DoubleInteger ) : So saùnh số MD100 MD104, Nếu MD100 lớn MD104 KQ=KT Lệnh LE_D ( Less than or equal DoubleInteger ) : So sánh số MD100 MD104, Nếu MD100 bé MD104 KQ=KT Lệnh so sánh số thực ( Real): Tương tự lệnh số nguyên số nguyên kép định dạng liệu số thực 3.5 Các lệnh số học: a/Phép Toán số nguyên 16 Bit Lệnh ADD_I : Lệnh thực việc cộng số nguyên 16 Bit ,kết cất vào số nguyên 16 Bit,nếu kết vượt 16 Bit cờ OV bật lên ,cờ OS lưu Bit bị tràn MW104 = MW100 + MW102 Lệnh SUB_I : Lệnh thực việc trừ số nguyên 16 Bit ,kết cất vào số nguyên 16 it , kết vượt 16 Bit cờ OV bật lên ,cờ OS lưu Bit bị tràn W104 = MW100 - MW102 Trang 45 Lệnh MUL_I : Lệnh thực việc nhân số nguyên 16 Bit ,kết cất vào số nguyên 16 Bit , kết vượt 16 Bit cờ OV bật lên ,cờ OS lưu Bit bị tràn MW104 = MW100 * MW102 Lệnh DIV_I : Lệnh thực việc chia số nguyên 16 Bit ,kết cất vào số nguyên 16Bit , kết vượt 16 Bit cờ OV bật lên ,cờ OS lưu Bit bị tràn MW104 = MW100 : MW102 b/ Phép Toán số nguyên 32 Bit: Lệnh ADD_DI : Lệnh thực việc cộng số nguyên 32 Bit ,kết cất vào số nguyên 32 Bit,nếu kết vượt 32 Bit cờ OV bật lên ,cờ OS lưu Bit bị tràn MD108 = MD100 + MD104 Lệnh SUB_DI : Lệnh thực việc trừ số nguyên 32 Bit ,kết cất vào số nguyên 32 Bit , kết vượt 32 Bit cờ OV bật lên ,cờ OS lưu Bit bị Trang 46 tràn MD108 = MD100 - MD104 Lệnh MUL_DI : Lệnh thực việc nhân số nguyên 32 Bit ,kết cất vào số nguyên 32 Bit , kết vượt 32 Bit cờ OV bật lên ,cờ OS lưu Bit bị tràn MD108 = MD100 * MD104 Lệnh DIV_DI :Lệnh thực việc chia số nguyên 32 Bit ,kết cất vào số nguyên 32 Bit , kết vượt 32 Bit cờ OV bật lên ,cờ OS lưu Bit bị tràn MD108 = MD100 : MD104 Lệnh MOD_DI : Lệnh xác định phần dư phép chia số nguyên 32 Bit ,kết cất vào số nguyên 32 Bit , kết vượt 32 Bit cờ OV bật lên ,cờ OS lưu Bit bị tràn MD108 = MD100 mod MD104 c/ Phép Toán số nguyên 32 Bit ( Floating Point Trang 47 Function): Lệnh ADD_R : Lệnh thực việc cộng số thực ,kết cất vào số thực,nếu kết vượt 32 Bit cờ OV bật lên ,cờ OS lưu Bit bị tràn MD108 = MD100 + MD104 Lệnh SUB_R : Lệnh thực việc trừ số thực ,kết cất vào số thực , kết vượt 32 Bit cờ OV bật lên ,cờ OS lưu Bit bị tràn MD108 = MD100 - MD104 Lệnh MUL_R : Lệnh thực việc nhân số thực ,kết cất vào số thực , kết vượt 32 Bit cờ OV bật lên ,cờ OS lưu Bit bị tràn MD108 = MD100 * MD104 Lệnh DIV_R :Lệnh thực việc chia số thực ,kết cất vào số thực , kết vượt 32 Bit cờ OV bật lên ,cờ OS lưu Bit bị tràn MD108 = MD100 : MD104 Trang 48 3.6 Lệnh Di chuyển Lệnh MOV : Lệnh đưa giá trị ô nhớ sang ô nhớ khác,lệnh áp dụng cho kiểu số khác nhau.( Int,Dint,Real,Byte….) 3.7 Lệnh Dịch Bit SHR_I: Lệnh thực việc dịch phải ô nhớ 16Bit,kết cất vào ô nhớ 16 Bit,N số Bit dịch SHR_DI: Lệnh thực việc dịch phải ô nhớ 32Bit,kết cất vào ô nhớ 32 Bit,N số Bit dịch Trang 49 SHL_W: Lệnh thực việc dịch trái ô nhớ16Bit,kết cất vào ô nhớ 16 Bit,N số Bit dịch Ô nhớ định dạng theo kiểu Word Nếu N lớn 16 MW100 =0 cờ CC0,OV ghi trạng thái SHR_W: Lệnh thực việc dịch phải ô nhớ16Bit,kết cất vào ô nhớ 16 Bit,N số Bit dịch Ô nhớ định dạng theo kiểu Word SHL_DW: Lệnh thực việc dịch trái ô nhớ 32Bit,kết cất vào ô nhớ 32 Bit,N số Bit dịch Ô nhớ định dạng theo kiểu Word Trang 50 SHR_DW: Lệnh thực việc dịch phải ô nhớ 32Bit,kết cất vào ô nhớ 32 Bit,N số Bit dịch Ô nhớ định dạng theo kiểu Word ROL_DW: Lệnh thực việc dịch trái xoay tròn ô nhớ 32Bit,N số Bit dịch Ô nhớ định dạng theo kiểu Word ROR_DW: Lệnh thực việc dịch phải xoay tròn ô nhớ 32Bit,N số Bit dịch Ô nhớ định dạng theo kiểu Word Trang 51 3.8 Xử lý tín hiệu Analog Đọc tín hiệu Analog: - Để đọc tốt tín hiệu Analog trước hết ta phải xác định tín hiệu đọc Analog tín hiệu loại ( 0-10V,4-20mA,cách đấu dây,cách đấu dây……) - Bước phải chọn loại tín hiệu phần cứng ( Chọn loại tín hiệu Modul đọc kênh Analog) chọn cấu hình phần cứng cho phù hợp,nếu chọn bước không tương thích đèn System Fault Modul Analog sáng kênh Analog đọc sai - Xác định tín hiệu sử dụng,đơn cực hay lưỡng cực - Xác định địa cho kênh Analog ( vd: PIW256…) - Sử dụng hàm SCALE sau : Trang 52 Hàm SCALE thực việc kênh chỉnh từ tín hiệu IN kết lưu OUT = (Float (IN)-K1)/(K2-K1) * ( HI_LIM – LO_LIM) + LO_LIM Tín hiệu BIPOLAR : K1 = -27648.0 , K2 = 27648.0 Tín hiệu UNBIPOLAR : K1 = 0.0 , K2 = 27648.0 RET_VAL : Trả lỗi việc thực hàm SCALE có vấn đề Việc xuất tín hiệu Analog sử dụng hàm SCALE,Tín hiệu Analog Out đưa Modul xuất tín hiệu Analog tương ứng Xuất tín hiệu Analog Out điều khiển biến tần : Có cách thông dụng để thay đổi tốc độ động điều khiển biến tần cách thay đổi cấp điện áp tương ứng,hoặc dòng tương ứng Tuỳ thuộc vào toán cụ thể,tốc độ động thay đổi tương ứng cho phù hợp Trang 53 ... ,chuyển khối.Xem phần chương trình khối chương trình S7_300 cho phép gọi chương trình lồng ,tức chương trình gọi chương trình khác từ chương trình gọi lại gọi tới chương trình thứ … Số lệnh gọi lồng... chương trình xử lí ngắt,để thực lệnh trực tiếp với cổng vào 2.3 Cấu trúc chương trình: Chương trình S7_300 lưu nhớ PLC vùng giành riêng cho chương trình lập với dạng cấu trúc khác Trang 19 a/ Lập trình. .. KỸ THUẬT LẬP TRÌNH TRONG S7-300 2.1 Bộ nhớ PLC: gồm vùng a/ Vùng chứa chương trình ứng dụng : Vùng chứa chương trình chia thành miền - OB ( Organisation block) : miền chứa chương trình tổ chức