cau truc PLC s7
CHƯƠNG CẤU TRÚC PLC S7-300/400 1.TỔ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 /số: 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 CPU 31xC Nguyễn Đức Thành Các module gắn rây (rail) 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ố module ghép nối mang số module mở rộng… Nguyễn Đức Thành Nguyễn Đức Thành 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 Nguyễn Đức Thành 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, 16 DO Q124.0 125.7, ngõ vào tương đồng AI địa PIW 752 761, hai ngõ AO địa PQW 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 AI PIW128, PIW130, PIW132, PIW134; ngõ tương đồng AO PQW128 MODULE CPU Các module CPU khác theo hình dạng chức năng, vận tốc xử lý lệnh Loại 312IFM, 314IFM thẻ nhớ MMC (micro memory card) Loại 312IFM, 313 pin nuôi Loại 313C, 314C dùng thẻ nhớ tối đa 8MB 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, Nguyễn Đức Thành 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 lúc start-up w Hz; mode HALT w 0.5 Hz STOP mode (vaøng) CPU mode STOP hay HALT hay start-up; LED chớp memory reset request BUSF (đỏ) lỗi phần cứng hay phần mềm giao diện PROFIBUS Nguyễn Đức Thành Nguyễn Đức Thành Khoù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ừ 64KB đến 8MB, chứa chương trình từ PLC chuyển qua chuyển chương trình ngược trở lại cho CPU Các CPU 312IFM/314IFM khơng dùng thẻ nhớ mà dùng EEPROM chứa chương trình 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 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 (S7-300, 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 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) khối liệu , liệu hệ thống laø RAM hay EEPROM Nguyễn Đức Thành (trong CPU hay thẻ nhớ MMC micro memory card, với CPU 31xC bắt buộc phải có MMC) Thẻ nhớ lưu trữ liệu khơng bị (retentive) 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 chạy; 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) RAM 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 , liệu cuc … Các vùng nhớ working system retentive không cần pin Trên CPU 312IFM 314 IFM vùng nhớ chương trình RAM EEPROM; CPU 31x, 31xC vùng nhớ chương trình thẻ nhớ Khi 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 loaïi CPU Chú ý cắm hay rút thẻ nhớ tắt nguồn hay CPU trạng thái STOP máy tính lập trình khơng truy cập thẻ nhớ Nguyễn Đức Thành Bảng sau cho số thông số CPU Thông số Working memory Load memory CPU 312IFM 6KB CPU 313 12KB CPU 314 24KB CPU 314IFM 32KB 20KBRAM 20KB EEPROM 0.7ms/1000 lệnh nhị phân 1KB Retentivity adjustable MB0 MB71 Preset MB0 MB15 adjustable Retentivity C0 C31 Preset C0 C7 T0 T63 no retentivity 40KB up to 4MB FEPROM (memory card) 0.3ms/1000 lệnh nhị phân 2KB Retentivity adjustable MB0 MB255 Preset MB0 MB15 adjustable Retentivity C0 C63 Preset C0 C7 T0 T127 Adjustable Retentivity 48KB RAM 48KB EEPROM Vận tốc Data Memory 20KBRAM up to 4MB FEPROM (memory card) 0.7ms/1000 lệnh nhị phân 2KB Retentivity adjustable MB0 MB71 Preset MB0 MB15 adjustable Retentivity C0 C63 Preset C0 C7 T0 T127 Adjustable Retentivity Counter Timer Nguyễn Đức Thành 0.3ms/1000 lệnh nhị phân 2KB Retentivity adjustable MB0 MB143 Preset MB0 MB15 Adjustable Retentivity C0 C63 Preset C0 C7 T0 T127 Adjustable Retentivity 10 Nguyễn Đức Thành 31 Sơ đồ đầu USB Đầu MPI đầu nối chân phía PLC Adapter, có sơ đồ sau: Nguyễn Đức Thành 32 Loại cáp lập trình thứ hai nối với cổng COM máy tính, mã 6ES7972-0CA2X- 0XA0, phía máy tính có baud rate 19,2 kb/s hay 38,4 kb/s, phía PLC tối đa 1,5Mb/s Nguyễn Đức Thành 33 Sơ đồ Adapter Nguyễn Đức Thành 34 Sơ đồ chân cổng MPI, DP S7-300 tương tự S7-200, có khác chân tín hiệu RTS vào từ máy tính 9.3 Cổng Profibus DP Cổng dùng để nối mạng Profibus cho I/O phân bố, dùng chế độ Master hay Slave, vận tốc truyền lên đến 12Mb/s PLC có cổng MPI cổng DP cổng MPI/DP cổng DP Các CPU có cổng DP 313C/314C / 315/316 /412/413 /414/416-2DP, 315/317-2PN/DP, 414/416-3DP, 319/414/416-3PN/DP Các module CP3425/343/443-5 hỗ trợ cổng DP cho CPU Cổng MPI/DP có cấu hình mặc định MPI Sơ đồ chân cổng DP giống cổng MPI dùng chuẩn RS485 Các trạm nối với cáp hai dây xoắn có bọc giáp tổng trở đặc trưng 150 Ohm cáp quang Một đoạn cáp phải kết thúc hai đầu điện trở có giá trị tổng trở đặc trưng Mỗi đoạn cáp kết nối đến tối đa 32 trạm nút thông qua bus connector Chiều dài tối đa đoạn phụ thuộc vận tốc truyền, từ 100m đến 1000m Khi chiều dài hay số nút vượt giới hạn ta phải dùng repeater, số repeater hai nút tối đa Nguyễn Đức Thành 35 Nguyễn Đức Thành 36 9.4 Cổng Profinet PN Cổng dùng để nối mạng LAN, ETHERNET dùng cáp dây đôi , cáp quang hay wireless Các CPU 315/317 -2PN/DP, 412-2PN, 319/414/416-3PN/DP, module CP343-1, 443-1 có cổng Máy tính lập trình PLC thông qua cổng PN Đầu nối loại RJ45 chân nhiên thường dùng chân 1,2,3 Cáp RJ45 gồm sợi màu , cặp - Cam (orange) / Cam - trắng (orange-white) Xanh (green) / Xanh - trắng (green-white) Xanh dương (blue) / Xanh dương - trắng (blue-white) Nâu (brown) / Nâu - trắng (brown-white) Hai đầu cáp nối với đầu nối đực, nối đến máy tính, PLC hay hub, switch Khi kết nối PLC hay máy tính với hub ta dùng kết nối thẳng, nối hai máy tính hay hai hub với ta dùng kết nối chéo 9.5 Cổng PtP (Point to Point) Dùng kết nối PLC với thiết bị truyền thông nối tiếp RS232 đầu đọc mã vạch, máy in, đầu nối có 15 chân, tốc truyền 19.2/38.4 kb/s Cổng có CPU 313C/314C-2PtP hay module CP340/CP341, dùng chuẩn RS232/ RS422/RS485 Nguyễn Đức Thành 37 Nguyễn Đức Thành 38 10 CÁC LOẠI ĐỊA CHỈ VÀ DỮ LIỆU CPU truy cập vùng nhớ thông qua địa chỉ, vùng nhớ S7-300 liệt kê sau: - Vùng nhớ ngõ vào số: o Truy cập theo bit, ký hiệu Ix.y, x vị trí byte, y từ đến tương ứng bit đến byte x o Truy cập theo byte, ký hiệu IBx o Truy cập theo word, ký hiệu Iwx, gồm hai byte, MSB IBx, LSB IB(x+1) o Truy cập theo double word, ký hiệu IDx, gồm hai word, MSW IWx, LSW IW(x+2) - Vùng nhớ ngõ số: giống thay I Q - Vùng nhớ ngõ vào analog, truy cập theo word, ký hiệu PIWx - Vùng nhớ ngõ analog, truy cập theo word, ký hiệu PQWx - Vùng nhớ bit memory, ký hiệu M, cách truy cập giống I,vùng nhớ M có kích thước hạn chế 256 byte - Vùng nhớ Timer, ký hiệu Tx, x từ đến 255, Timer đếm xuống BCD có giá trị từ đến 999 Tùy trường hợp, Tx bit hay word - Vùng nhớ Counter, ký hiệu Cx, x từ đến 255, Bộ đếm BCD có giá trị từ đến 999 Tùy trường hợp, Cx bit hay word - Vùng nhớ liệu DB (Data block), dùng chung cho khối chương trình (shared DB) hay dùng riêng cho chương trình FB ( instance DB); Khối liệu đánh số, DBy, ô nhớ khối liệu truy cập theo bit, byte, word, doubleword DBXv.w, DBBx, DBWx, DBDx - Vùng nhớ cục bô L cho khối chương trình, Lx.y, LBx, LWx, LDx - Vùng nhớ ngoại vi vào PIBx, PIWx, PIDx truy cập trưc tiếp mà không cần cất vào vùng nhớ đệm Nguyễn Đức Thành 39 Vùng nhớ ngoại vi PQBx, PQWx, PQDx xuất trưc tiếp mà không cần cất vào vùng nhớ đệm S7-300 sử dụng loại liệu sau: - Loại liệu sơ cấp - Type and Description BOOL(Bit) BYTE Siz e in Bits WORD 16 Format Options Range and Number Notation (lowest to highest value)_ Example Boolean text Hexadecimal number Binary number TRUE/FALSE B#16#0 to B#16#FF TRUE L B#16#10 L byte#16#10 L 2#0001_0000_0000_00 00 2#0 to 2#1111_1111_1111_1111 Hexadecimal number W#16#0 to W#16#FFFF L W#16#1000 L word#16#1000 BCD C#0 to C#999 Decimal number unsigned DWORD 32 Binary number L C#998 L B#(10,20) B#(0.0) to B#(255.255) 2#0 to L byte#(10,20) 2#1000_0001_0001_10 00_ 2#1111_1111_1111_1111 1011_1011_0111_1111 1111_1111_1111_1111 L DW#16#00A2_1234 Hexadecimal number DW#16#0000_0000 to DW#16#FFFF_FFFF Decimal number unsigned L dword#16#00A2_1234 L B#(1, 14, 100, 120) B#(0,0,0,0) to L byte#(1,14,100,120) B#(255,255,255,255) -32768 to 32767 L1 Decimal number signed L#-2147483648 to L#2147483647 L L#1 32 IEEE Upper limit: 3.402823e+38 L 1.234567e+13 Lower limit: 1.175 495e-38 16 Floating- point number S7 time in steps of S5T#2H_46M_30S_0MS and INT 16 Decimal number signed DINT 32 REAL S5TIME (SIMATIC time) Nguyễn Đức Thành S5T#0H_0M_0S_10MS to L S5T#0H_1M_0S_0MS 40 10 ms (default) TIME 32 S5T#0H_0M_0S_0MS IEC time in steps of ms, integer signed T#-24D_20H_31M_23S_648MS to L S5TIME#0H_1H_1M_ 0S_0MS L T#0D_1H_1M_0S_0M S T#24D_20H_31M_23S_647MS 16 IEC date in steps of day TIME_OF_DAY 32 Time in steps of ms CHAR - ASCII characters Loại liệu phức hợp: Data Type DATE_AND_TIME DT STRING ARRAY STRUCT UDT ANY D#1990-1-1 to D#2168-12-31 TOD#0:0:0.0 to L DATE#1996-3-15 L TOD#1:10:3.3 TOD#23:59:59.999 DATE L TIME#0D_1H_1M_0S _0MS L D#1996-3-15 L TIME_OF_DAY#1:10: 3.3 L 'E' 'A','B' etc Description Loại biến gồm byte BCD Chuỗi ký tự 256 byte gồm byte header 254 ký tự tối đa (ví dụ: string[9] 'Siemens') Một mảng nhiều chiều (tối đa 6) gồm liệu loại Ví dụ: "ARRAY [1 2,1 3] OF INT" định nghĩa mảng x gồm số nguyên Truy cập phần tử mảng dùng Index ("[2,2]") Index số nguyên (-32768 to 32767) Định nghĩa nhóm liệu nhiều loại Ví dụ , array of structures hay structure structures arrays Tạo loại liệu riêng 11 CÁC KHỐI CHƯƠNG TRÌNH Chương trình người dùng thường chia nhỏ thành khối logic theo kiểu chương trình cấu trúc, giúp cho việc lập trình sửa lỗi thuận tiện Có nhiều loại khối logic: Khối tổ chức OB (Organization blocks) Khối hàm hệ thống SFB (System function blocks) hàm hệ thống SFC (system functions) tích hợp PLC Nguyễn Đức Thành 41 Khối hàm FB (Function blocks) thư viện hay người dùng tự viết Hàm FC (Functions) thư viện hay người dùng tự viết Khối liệu Instance (Instance Data Blocks ) liên kết với FB/SFB Khối liệu chia xẻ (Shared Data Blocks ) Khối tổ chức OB giao diện chương trình ngườ i dùng hệ điều hàmh PLC OB gọi hệ điều hành theo chu kỳ hay có ngắt, có cố hay khởi động PLC Có nhiều khối OB có ưu tiên khác nhau, khối OB có số ưu tiên cao ngắt khối OB số ưu tiên thấp Tuỳ theo loại CPU, số lượng khối OB sử dụng khác nhau, bảng sau liệt kê loại OB Loại OB Chương trình OB1 Ngắt thời gian OB10, OB11, OB12, OB13 OB14, OB15, OB16, OB17 Ngắt trì hỗn OB20 OB21 OB22 OB23 Ngắt chu kỳ OB30 OB31 OB32 OB33 OB34 OB35 OB36 OB37 OB38 Nguyễn Đức Thành Ý nghóa Ưu tiên Được gọi kết thúc khởi động hay kết thúc OB1, thực theo chu kỳ Ngắt theo thời gian ngày, tháng, năm Khi kích hoạt trì hỗn thời gian Ngắt chu kỳ (mặc định 5s) Ngắt chu kỳ (mặc định 2s) Ngắt chu kỳ (mặc định 1s) Ngắt chu kỳ (mặc định 500ms) Ngắt chu kỳ (mặc định 200ms) Ngắt chu kỳ (mặc định 100ms) Ngắt chu kỳ (mặc định 50ms) Ngắt chu kỳ (mặc định 20ms) Ngắt chu kỳ (mặc định 10ms) 10 11 12 13 14 15 42 Ngắt cứng OB40 OB41 OB42 OB43 OB44 OB45 OB46 OB47 OB60 16 17 18 19 20 21 22 23 Gọi SFC35 "MP_ALM" 25 OB70 OB72 OB 73 Sự cố bất đồng OB80 OB81 OB82 OB83 OB84 OB85 OB86 OB87 OB90 Loãi I/O redundancy ( H CPU) Loãi CPU redundancy (H CPU) Loãi Communication redundancy (H CPU) 25 28 25 Sự cố chu kỳ quét Lỗi nguồn Ngắt chẩn đoán Ngắt thêm bớt module Lỗi phần cứng CPU Lỗi chương trình Lỗi module mở rộng Lỗi truyền thông Warm or cold restart or delete a block being executed in OB90 or load an OB90 on the CPU or terminate OB90 26, 28 OB100 OB101 OB102 Khởi động ấm Khởi động nóng Khởi động lạnh 27 Sự cố đồng OB121 OB122 Sai lập trình Sai I/O 29, Ưu tiên tác nhân gây cố 1/ Khối OB1 OB1 gọi sau kết thúc trình khởi động sau kết thúc nó, OB trừ OB90 ngắt OB1 Khi OB1 thực hiện, hệ điều hành gởi liệu toàn cục Trước gọi lại OB1, hệ điều hành chuyển nhớ đệm module xuất , cập nhật đệm nhập nhận liệu toàn cục Khi thực OB1, chương trình Nguyễn Đức Thành 43 khối thực hiện, liệu xuất module xuất cấp tạm nhớ Chương trình OB1 gọi hàm hay khối hàm Thời gian thực OB1 gọi thời gian quét, hệ điều hành ấn định thời gian quét tối đa (150ms) tối thiểu, cài đặt Step Nếu chu kỳ quét kéo dài gọi OB80 hay chuyển sang STOP, chu kỳ quét ngắn thêm trì hoãn hay gọi OB90 OB1 gồm phần mã chương trình, người dùng viết; bảng biến cục (local block) gọi bảng khai báo biến (variable declaration table) gồm 20 byte Cột thứ địa vùng biến cục bộ, cột thứ hai khai báo loại biến, temp nghóa tạm thời, giá trị biến thay đổi sau vòng quét OB, cột thứ ba tên liệu, có ý nghóa sau (giải thích cột thích 6): OB1_EV_CLASS: OB1_SCAN_1: OB1_PRIORITY: OB1_OB_NUMBR: OB1_RESERVED_1: OB1_RESERVED_2: OB1_PREV_CYCLE: OB1_MIN_CYCLE: OB1_MAX_CYCLE: OB1_DATE_TIME: giá trị B#16#11 có nghóa OB1 tích cực B#16#01: hoàn tất warm restart B#16#02: hoàn tất hot restart B#16#03: hoàn tất chu kỳ B#16#04: hoàn tất cold restart giá trị số OB dự trữ dự trữ thời gian vòng quét trước (ms) thời gian vòng quét ngắn thời gian vòng quét dài ngày OB1 bắt đầu thực (8 byte) Các giá trị người dùng không thay đổi được, người dùng thêm biến vào từ địa 20.0 trở đi, biến biến tạm, thay đổi sau vòng quét Các biến thêm vào sử dụng cho lập trình gọi chương trình FC, SFC, FB, SFB 12 CHU KỲ QUÉT CPU chạy hai chương trình: chương trình hệ điều hành chương trình người dùng Chương trình hệ điều hành thực công việc sau: - Xử lý restart (warm start) hot restart - Đọc ngõ vào số cất vào PII (process image input) xuất PIQ (process image output) ngõ Q Nguyễn Đức Thành 44 - Gọi chương trình người dùng Xử lý ngắt Xử lý lỗi Quản lý vùng nhớ Truyền thơng CPU làm việc theo chu kỳ qt hình Nguyễn Đức Thành 45 ... B#(255.255) 2#0 to L byte# (10 ,20) 2 #10 00_00 01_ 00 01_ 10 00_ 2 #11 11_ 111 1 _11 11_ 111 1 10 11_ 1 011 _ 011 1 _11 11 111 1 _11 11_ 111 1 _11 11 L DW #16 #00A2 _12 34 Hexadecimal number DW #16 #0000_0000 to DW #16 #FFFF_FFFF Decimal... 2#00 01_ 0000_0000_00 00 2#0 to 2 #11 11_ 111 1 _11 11_ 111 1 Hexadecimal number W #16 #0 to W #16 #FFFF L W #16 #10 00 L word #16 #10 00 BCD C#0 to C#999 Decimal number unsigned DWORD 32 Binary number L C#998 L B# (10 ,20) B#(0.0)... CPU 312 IFM, 314 IFM, 31xC có tích hợp sẵn số module mở rộng - CPU 312 IFM, 312 C: 10 ngõ vào số địa I124.0 …I124.7, I125 .1; ngõ số Q124.0…Q124.5 - CPU 313 C: 24 DI I124.0 12 6.7, 16 DO Q124.0 12 5.7,