CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ BỘ ĐIỀU KHIỂN LẬP TRÌNH PLC S7-1200 1. Tổng quan về PLC S7-1200 Bộ điều khiển PLC S7-1200 được sử dụng với sự linh động và khả năng mở rộng phù hợp cho các ứng dụng của hệ thống tự động hóa nhỏ và vừa. Thiết kế nhỏ gọn, chi phí thấp, cấu hình linh động, hỗ trợ mạnh mẽ về tập lệnh làm cho bộ điều khiển PLC S7-1200 trở thành một giải pháp hoàn hảo trong việc điều khiển, chọn lựa phù hợp đối với nhiều ứng dụng khác nhau. CPU của PLC S7-1200 được kết hợp với 1 vi xử lý, một bộ nguồn tích hợp, tín hiệu vào/ra, thiết kế tích hợp cổng Profinet, các bộ đếm/ phát xung tốc độ cao tích hợp trên thân, điều khiển vị trí (motion control), và ngõ vào tương tự (analog) đã làm cho PLC S7-1200 trở thành bộ điều khiển nhỏ gọn nhưng đầy mạnh mẽ.
Sau khi tải chương trình xuống CPU nhưng vẫn lưu giữ những logoic cần thiết để theo dõi và kiểm soát các thiết bị/ thông tin trong ứng dụng của người lập trình. CPU giám sát ngõ vào/ra thay đổi ngõ ra theo logic trong chương trình người dùng bao gồm các phép toán logic của đại số Boolean, các bộ đếm, bộ định thời, các phép toán phức tạp và những giao tiếp truyền thông với những thiết bị thông minh khác. Bộ điều khiển PLC S7-1200 được tích hợp sẵn một cổng Profinet để truyền thông mạng Profinet. Ngoài ra, PLC S7-1200 có thể truyền thông Profibus, GPRS, RS485 hoặc RS232 thông qua các modoule mở rộng.
Một số tính năng bảo mật giúp bảo vệ quyền truy cập vào cả CPU và chương trình điều khiển: - Tất cả các CPU đều cung cấp bảo vệ bằng password chống truy cập vào PLC. - Tính năng “know-how protection” để bảo vệ các block đặc biệt của mình. Giảng viên thực hiện: Đào Thị Mỹ Chi Trang 8 HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ QUA WEBSERVER Hình 1.1 Cấu tạo của bộ điều khiển CPU S7 – 1200. * Chú thích: 1.
Bộ phận kết nối nguồn 2. Các bộ phận kết nối nối dây của người dùng có thể tháo được (phía sau các nắp che) 3. Các LED trạng thái dành cho I/O tích hợp 4. Bộ phận kết nối PROFINET.
Các module CPU khác nhau có hình dạng, chức năng, tốc độ xử lý, bộ nhớ chương trình khác nhau. Tập lệnh PLC S7-1200 1. Bit logic (tập lệnh tiếp điểm): - Tiếp điểm thường hở: L Tiếp điểm thường hở sẽ đóng khi giá trị của A bit có địa chỉ là n bằng 1 Toán hạng n: I, Q, M,L,D D - Tiếp điểm thường đóng: L Tiếp điểm thường đóng sẽ đóng khi giá trị A của bit có địa chỉ n là 0 Toán hạng n: I, Q, M,L,D D Giảng viên thực hiện: Đào Thị Mỹ Chi Trang 9 HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ QUA WEBSERVER - Lệnh OUT: L Giá trị của bit có địa chỉ là n sẽ bằng 1 khi A đầu vào của lệnh này bằng 1 và ngược lại Toán hạng n: Q, M, L, D. D Chỉ sử dụng một lệnh out cho 1 địa chỉ.
- Lệnh OUT đảo: L Giá trị của bit có địa chỉ là n sẽ bằng 1 khi A đầu vào của lệnh này bằng 0 và ngược lại Toán hạng n: Q, M, L, D D Chỉ sử dụng một lệnh out not cho 1 địa chỉ - Lệnh logic NOT: L Lệnh đảo trạng thái ngõ vào / ra A D - Tiếp điểm phát hiện xung cạnh lên dạng 1: L Tiếp điểm phát hiện cạnh lên sẽ phát ra A một xung khi đầu vào tiếp điểm P có sự chuyển đổi từ mức thấp lên mức cao. D Trạng thái của tín hiệu được lưu lại vào “M_BIT”. Độ rộng của xung này bằng thời gian của một chu kì quét. Giảng viên thực hiện: Đào Thị Mỹ Chi Trang 10 HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ QUA WEBSERVER - Tiếp điểm phát hiện xung cạnh lên dạng 2: L Thay đổi trạng thái tín hiệu phía trước không A ảnh hưởng đến “IN”.
Phát hiện sự thay đổi trạng thái của 1 tín hiệu D “IN” từ 0 lên 1. Trạng thái của tín hiệu IN được lưu lại vào “M_BIT”. Độ rộng của xung này bằng thời gian của một chu kì quét. - Tiếp điểm phát hiện xung cạnh xuống dạng 1: L Tiếp điểm phát hiện cạnh xuống sẽ phát ra A một xung khi đầu vào tiếp điểm này có sự chuyển đổi từ mức cao xuống mức thấp D Trạng thái của tín hiệu được lưu lại vào “M_BIT” Độ rộng của xung này bằng thời gian của một chu kì quét.
- Tiếp điểm phát hiện xung cạnh xuống dạng 2: L Thay đổi trạng thái tín hiệu phía trước không A ảnh hưởng đến “IN”. Phát hiện sự thay đổi trạng thái của 1 tín hiệu D “IN” từ 1 xuống 0. Trạng thái của tín hiệu IN được lưu lại vào “M_BIT”. Giảng viên thực hiện: Đào Thị Mỹ Chi Trang 11 HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ QUA WEBSERVER Độ rộng của xung này bằng thời gian của một chu kì quét.
- Lệnh SR fliplop: L Mạch chốt RS ưu tiên Reset. Nếu R à S1 đều A là 1, ngõ ra sẽ lên 0. D - Lệnh RS fliplop: L Mạch chốt RS ưu tiên Set. Nếu R à S1 đều A là 1, ngõ ra sẽ lên 1.
So sánh - Lệnh so sánh: So sánh 2 kiểu dữ liệu giống nhau, nếu lệnh so sánh thỏa thì ngõ ra sẽ là mức 1 = TRUE. Kiểu dữ liệu so sánh là: SInt, Int, Dint, USInt, UDInt, Real, LReal, String, Char, Time, DTL, Constant. Giảng viên thực hiện: Đào Thị Mỹ Chi Trang 12 HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ QUA WEBSERVER L Lệnh so sánh dùng để so sánh hai giá trị IN1 và IN2 A bao gồm IN1 = IN2, IN1 >= IN2, IN1 <= IN2, IN1 < IN2, IN1 > IN2 hoặc IN1 <> IN2. D So sánh 2 kiểu dữ liệu giống nhau, nếu lệnh so sánh thỏa thì ngõ ra sẽ là mức 1 = TRUE (tác động mức cao) và ngược lại.
Kiểu dữ liệu so sánh là: SInt, Int, Dint, USInt, UDInt, Real, LReal, String, Char, Time, DTL, Constant. - Lệnh trong khoảng In – range L Tham số: MIN, VAL, MAX. A Kiểu dữ liệu so sánh: SInt, Int, Dint, USInt, UInt, D UDInt, Real, LReal, Constant. So sánh 2 kiểu dữ liệu giống nhau, nếu so sánh MIN<=VAL<=MAX thỏa thì tác động mức cao và ngược lại.
- Lệnh ngoài khoảng out-of-range: L Tham số: MIN, VAL, MAX. A Kiểu dữ liệu so sánh: SInt, Int, Dint, USInt, UInt, D UDInt, Real, LReal, Constant. So sánh 2 kiểu dữ liệu giống nhau, nếu so sánh MIN > VAL hoặc MAX < VAL thỏa thì tác động mức cao và ngược lại. - Lệnh OK: Giảng viên thực hiện: Đào Thị Mỹ Chi Trang 13 HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ QUA WEBSERVER L Tham số: IN.
A Kiểu dữ liệu: Real, LReal. D Lệnh OK kiểm tra tính hợp lệ của toán tử. - Lệnh NOT OK: L Tham số: IN A Kiểu dữ liệu: Real, LReal D Lệnh NOT_OK kiểm tra tính không hợp lệ của toán tử. Toán học - Lệnh tính toán: L Công dụng: thực hiện phép toán từ các A giá trị ngõ vào IN1, IN2, IN(n) theo công thức OUT=…(+,,*,/) rồi xuất kết quả ra D ngõ ra OUT.
Các thông số ngõ vào dùng trong khối phải chung định dạng. - Lệnh cộng, trừ: Giảng viên thực hiện: Đào Thị Mỹ Chi Trang 14 HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ QUA WEBSERVER L Lệnh cộng ADD: OUT = IN1 + IN2 A Lệnh trừ SUB: OUT = IN1 – IN2 D Tham số IN1, IN2 phải cùng kiểu dữ liệu: SInt, Int, Dint, USInt, UInt, UDInt, Real, LReal, Constant Tham số OUT có kiểu dữ liệu: SInt, Int, Dint, USInt, UInt, UDInt, Real, LReal Tham số ENO = 1 nếu không có lỗi xảy ra trong quá trình thực thi. Ngược lại ENO = 0 khi có lỗi, một số lỗi xảy ra khi thực hiện lệnh này: - Kết quả toán học nằm ngoài phạm vi của kiểu dữ liệu. - Real/LReal: Nếu một trong những giá trị đầu vào là NaN sau đó được trả về NaN.
- ADD Real/LReal: Nếu cả hai giá trị IN là INF có dấu khác nhau, đây là một khai báo không hợp lệ và được trả về NaN - SUB Real/LReal: Nếu cả hai giá trị IN là INF cùng dấu, đây là một khai báo không hợp lệ và được trả về NaN - Lệnh nhân, chia: L Lệnh nhân MUL: OUT = IN1*IN2 A Lệnh chia DIV : OUT = IN1/IN2 D Tham số IN1, IN2 phải cùng kiểu dữ liệu: SInt, Int, Dint, USInt, UInt, UDInt, Real, LReal, Constant Tham số OUT có kiểu dữ liệu: SInt, Int, Dint, USInt, UInt, UDInt, Real, LReal Giảng viên thực hiện: Đào Thị Mỹ Chi Trang 15 HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ QUA WEBSERVER Tham số ENO = 1 nếu không có lỗi xảy ra trong quá trình thực thi. Ngược lại ENO = 0 khi có lỗi, một số lỗi xảy ra khi thực hiện lệnh này: - Kết quả toán học nằm ngoài phạm vi của kiểu dữ liệu. - Chia cho 0 (IN2 = 0) - Real/LReal: Nếu một trong những giá trị đầu vào là NaN sau đó được trả về NaN. - MUL Real/LReal: Nếu một trong 2 giá trị là 0 hoặc là INF, đây là khai báo không hợp lệ và được trả về NaN.
- DIV Real/LReal: Nếu cả hai giá trị IN bằng không hoặc INF, đây là khai báo không hợp lệ và được trả về NaN. - Lệnh lấy phần dư: L Lệnh Modulo sẽ lấy phần dư của phép toán. Giá trị ngõ vào IN1 chia cho IN2 và giá trị phần dư sẽ được A lưu vào OUT Tham số: D EN: Bool ENO: Bool IN1: SINT, INT, DINT, USINT, UINT, UDINT IN2: SINT, INT, DINT, USINT, UINT, UDINT OUT: SINT, INT, DINT, USINT, UINT, UDINT - Lệnh phủ định: Giảng viên thực hiện: Đào Thị Mỹ Chi Trang 16 HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ QUA WEBSERVER L Lệnh NEG đảo ngược dấu hiệu số học của giá trị ở A trong tham số và lưu trữ các kết quả trong tham số OUT D Tham số: EN: Bool – cho phép ngõ vào ENO: Bool – cho phép ngõ ra - ENO = 1: không có lỗi - ENO = 0: kết quả giá trị nằm ngoài tầm giá trị của kiểu dữ liệu IN: toán tử đầu vào SInt, INt, Dint, Real, LReal, Constant OUT: toán tử đầu ra Sint, Int, Dint, Real, LReal - Lệnh tăng, giảm: L Tăng / giảm giá trị kiểu số Interger lên / xuống một A đơn vị Tham số: D EN: cho phép ngõ vào IN/OUT: toán tử ngõ vào và ra ENO: cho phép ngõ ra - ENO = 1: không có lỗi - ENO = 0: kết quả nằm ngoài tầm giá trị của kiểu dữ liệu.