mở đầu giới thiệu đến bạn đọc các bước xây dựng chương trình PLC từ những yêu cầu thô sơ nhát của khách hàng cho tới hoàn thiện chương trình ứng dụng trên PLC. GIỚI THIỆU BỘ ĐIỀU KHIẾN PLC 1. Sơ lược về bộ điều khiển PLC Năm 1968, những nhà thiết kế của General Motors cho ra đời bộ điều khiển lô-gic có khả năng lập trình (PLC) đầu tiên, với mục đích thay thế cho hệ thống điều khiển rơ-le phức tạp. Hệ thông điều khiển mới đã đạt được những yêu cầu như: ■ Dễ dàng lập trình, và thiết kế.
■ Chương trình thay đổi mà không cần phải can thiệp vào hệ thông (hệ thống đấu nối dây dẫn). ■ Nhỏ gọn, tiết kiệm chi phí và tăng cường độ tin cậy so với hệ thống điều khiển bằng rơ-le. ■ Dễ dàng và bảo trì với chi phí thấp. Hệ thông tự động hóa sử dụng PLC được dùng trong công nghiệp ngày càng phổ biến và rộng rãi vì những tiện ích của nó mang lại cho cả người thiết kế và người sử dụng hệ thông tự động hóa.
Ngày nay, hệ thống PLC được tích hợp thêm nhiều chức năng để có thể giao tiếp với các hệ thống: Rô-bôt, CAD/CAM, CNC, kết nối tới hệ thống điện toán đám mây, hệ thống điều khiển AI. Thiết kế cơ bản của bộ điều khiển PLC 29 về cơ bản thì bộ điều khiển PLC không hơn gì so với một máy tính PC, nhưng được thiết kế chỉ định riêng cho những tác vụ điều khiển hệ thông tự động công nghiệp. Mô-đun xử lý tín hiệu ngõ vào chuyển đổi các tín hiệu cảm biến gửi về thành tín hiệu mà bộ xử lý trung tâm (CPU) có thể hiểu, sau đó chương trình người dùng (user program) thực hiện các đoạn mã lệnh dựa trên các tín hiệu ngõ vào rồi gửi tín hiệu điều khiển các cơ cấu chấp hành thông qua mô-đun xử lý tín hiệu ngõ ra. Chương trình điều khiển của PLC có thể được lập trình bằng nhiều ngôn ngữ lập trình như: các mã lệnh IL tương tự giông ngôn ngữ máy (assembly), hoặc ngôn ngữ cấp cao ST, hoặc sơ đồ trạng thái điều khiển SFC, và phổ biến nhất như LAD và FBD.
Có thể kết nôi được ít hoặc nhiều tín hiệu vào/ra cũng như các khả năng điều khiển khác tùy thuộc vào dung lượng bộ nhớ và tốc độ xử lý của bộ điều khiển PLC. TIÊU CHUẨN LẬP TRÌNH PLC VỚI IEC 61131 1. Giới thiệu tiêu chuẩn IEC 61131 Các tiêu chuẩn PLC trước đây chủ yếu tập trung vào lập trình PLC theo sơ đồ trạng thái công nghệ từ những năm 1970. Các tiêu chuẩn lập trình PLC này phù hợp với lập trình lô-gic xử lý nhị phân và không có truyền thông mạng.
Trước đây, không có tiêu chuẩn hóa nào đối với ngôn ngữ lập trình cho sự phát triển chương trình PLC và hệ thống như: xử lý tín hiệu tương tự (analog), kết nốì các mô-đun thông minh, hệ thống truyền thông mạng. Bởi vậy, hệ thông PLC của những nhà sản xuất khác nhau yêu cầu các kỹ thuật lập trình khác nhau. 30 Năm 1992, tiêu chuẩn quốc tế IEC 61131 được ban hành mô tả việc lập trình các bộ điều khiển PLC và các thiết bị ngoại vi liên quan (công cụ lập trình và chẩn đoán, giao diện HMI. Tiêu chuẩn IEC 61131 ngày càng được bổ sung thêm nhiều phần để hỗ trợ lập trình PLC như: ■ Phần 1: thông tin chung về tiêu chuẩn IEC 61131.
■ Phần 2: các yêu cầu dành cho thiết bị và cách kiểm tra các bộ điều khiển PLC và thiết bị ngoại vi. ■ Phần 3: các ngôn ngữ lập trình. ■ Phần 4: hướng dẫn cho người dùng (user guideline). ■ Phần 5: các tiêu chuẩn về truyền thông của PLC.
■ Phần 6: các chức năng về an toàn (safety). ■ Phần 7: lập trình điều khiển mờ (Fuzzy). ■ Phần 8: hướng dẫn ứng dụng và triển khai các ngôn ngữ lập trình. ■ Phần 9: giao diện truyền thông kỹ thuật số single-drop cho cảm biến và cơ cấu chấp hành nhỏ (ví dụ như IO-link).
■ Phần 10: định dạng trao đổi tập tin XLM theo tiêu chuẩn PLC mở (PLC open) để xuất/nhập vào các dự án xây dựng theo tiêu chuẩn IEC 61131 - 3. Lưu ý: trong các tiêu chuẩn IEC 61131 người ta thường ký hiệu các phần tương ứng như IEC 61131 - X, với X là số thứ tự phần. Tiêu chuẩn IEC 61131 giúp định nghĩa và tiêu chuẩn hóa lại việc thiết kế và chức năng của PLC, ngôn ngữ lập trình để lập trình ở mức độ mà người dùng có thể vận hành bằng các hệ thống PLC khác nhau mà không gặp khó khăn. Cấu trúc tài nguyên của IEC 61131 - 3 (Software model) IEC 61131 - 3 là một tiêu chuẩn để lập trình không chỉ cho một PLC riêng lẻ (stand-alone) mà dành cho cả hệ thông tự động hóa.
Chương trình điều khiển cho các ứng dụng mở rộng phải được cấu trúc rõ ràng, dễ hiểu, dễ bảo trì và linh hoạt trong mọi trường hợp, thậm chí dễ chuyển sang hệ thống PLC khác. Cấu trúc tài nguyên của IEC 61131 — 3 chia thành hai phần: ■ Cấu trúc dành cho cấp độ cấu hình (configuration level). ■ Cấu trúc dành cho cấp độ lập trình (program level). ^Configuration A Configuration level Resource Task Configuration automation system Var_global ^Access_Path 1 Sequential function Sequence chart <=> representation ________ ___________ J Program Function_Block Function Modularization ^Datatypes Program level Hình 1.
Cấu trúc tài nguyên của IEC 61131 - 3 Ị. Cấu trúc tài nguyên dành cho cấp độ lập trình Cấu trúc tài nguyên (structuring resource) của IEC 61131 - 3 cho phép mô-đun hóa các ứng dụng thành các đơn vị tổ chức chương trình POU (khôi tổ chức OB, hàm chức năng FB/FC. Câu trúc tài nguyên này có thể sử dụng bằng nhiều ngôn ngữ lập trình. 32 Tiêu chuẩn IEC 61131 — 3 định nghĩa một tập hợp toàn diện các chức năng và khôi hàm chức năng được tiêu chuẩn hóa.
Tiêu chuẩn IEC 61131 — 3 cho phép người dùng mở rộng phạm vi sử dụng thông qua các hàm chức năng FB/FC đáp ứng cho các tác vụ (task) đặc biệt hoặc tái sử dụng lại nhiều lần. Các POU có thế sử dụng theo nhiều cách như lưu vào thư viện toàn cục hoặc trong chương trình dự án đang sử dụng. Biểu đồ chức năng tuần tự SFC (Sequential Function Chart) trình bày cấu trúc chương trình với các mối liên hệ giữa các POU được thể hiện một cách minh bạch và dễ hiểu.Cấu trúc tài nguyên dành cho cấp độ cấu hình Các thành phần của cấu trúc cấu hình được sử dụng để cấu trúc các ứng dụng và xác định tương tác giữa các POU. Các thành phần của cấu trúc cấu hình mô tả các thuộc tính chạy run-time của chương trình, đường truyền thông và gán thông tin tới phần cứng PLC.
Cấu trúc cấu hình của IEC 61131 - 3 33 Tham khảo bảng thông tin sau để làm rõ các thành phần của cấu trúc cấu hình: Bảng 1. Các thành phần của cấu trúc cấu hình. 1 Thành phần Miêu tả ■ Định nghĩa các biến được sử dụng. ■ Kết hợp tất cả tài nguyên của PLC.
Configuration ■ Định nghĩa đường dẫn truy cập giữa tất cả các cấu hình. ■ Định nghĩa các biến được sử dụng. ■ Gán các tác vụ task và chương trình tới Resource một resource cụ thể. ■ Gọi các chương trình ứng dụng run-time với các tham số đầu vào/ra.
Task ■ Định nghĩa các thuộc tính run-time. Run-time ■ Gán thuộc tính run-time tới một chương program trình POU. Cấu trúc truyền thông (Communication model) Để lập trình được minh bạch và dễ dàng thực hiện giữa các thành phần của cấu trúc tài nguyên, liên kết dữ liệu giữa các chương trình POU, truyền thông giữa các khôi chương trình ở các cấu trúc chương trình hoặc giữa các PLC khác nhau, thì bạn đọc cần tuân thủ một số nguyên tắc trong cấu trúc truyền thông của Tiêu chuẩn IEC 61131 - 3 như các hình sau đây. Kết nôi dữ liệu trong một chương trình 34 Hình 1.
Truyền thông thông qua biến toàn cục Hình 1. Truyền thông giữa các khôi hàm chức năng Hình 1. Truyền thông thông qua truy cập đường dẫn 35 1. Ngôn ngữ lập trình theo tiêu chuẩn IEC 61131 - 3 Tiêu chuẩn IEC 61131 - 3 định nghĩa 05 ngôn ngữ lập trình.
Mặc dù chức năng và cấu trúc của các ngôn ngữ này khác nhau, nhưng chúng là một họ ngôn ngữ lập trình theo tiêu chuẩn IEC 61131 - 3 với các cấu trúc phần tử (khai báo biến, các khối tổ chức chương trình POƯ,.) và các phần tử cấu hình. ■ Ngôn ngữ IL - Instruction List: lập trình theo dạng các mã lệnh (instruction), gần với ngôn ngữ máy (assembly). ■ Ngôn ngữ LD - Ladder Diagram: lập trình theo dạng ngôn ngữ hình thang (LAD), dễ hiểu, đơn giản nhưng khó phát triển cho các dự án lớn. ■ Ngôn ngữ FBD - Function Block Diagram: lập trình theo dạng mạch lô-gic (AND, OR, XOR,.), giúp người lập trình và người đọc hiểu hơn về lô-gic của hệ thống.
■ Ngôn ngữ ST - structured Text: lập trình theo dạng các câu lệnh (statement), dựa trên nền tảng của các ngôn ngữ lập trình cấp cao (về mặt cú pháp lệnh giống Pascal) phù hợp cho các dự án lớn và lập trình hướng đối tượng. ■ Ngôn ngữ SFC - Sequential Function Chart: có thể lập trình theo dạng đồ họa (graphical) hoặc theo kiểu vàn bản (textual). Ngôn ngữ SFC phù hợp cho các cấu trúc lập trình điều khiển tuần tự (sequence) và phát triển dựa trên nền tảng GRAFCET. Có thể sử dụng nhiều ngôn ngữ lập trình trong một dự án của PLC.
Việc thông nhất và tiêu chuẩn hóa 05 ngôn ngữ trên đã 36 giúp việc lập trình hệ thống PLC trở nên dễ dàng với từng quốc gia và ngành nghề cụ thể. Ngôn ngữ lập trình cho bộ điều khiển SIMATIC S7 được phát triển dựa trên tiêu chuẩn IEC 61131 — 3 tương ứng là: STL, LAD, FBD, S7 - SCL , S7 - GRAPH. QUY TRÌNH PHÁT TRIEN chương trình PLC Chương trình điều khiển của PLC là một thành phần quan trọng của hệ thông tự động hóa. Chương trình điều khiển phải được thiết kế có hệ thống, cấu trúc tốt và lập thành văn bản đầy đủ để: ■ Tránh lỗi xảy ra.
■ Giảm công sức bảo trì hệ thông. ■ Hiệu quả về chi phí đầu tư. Chương trình PLC được phát triển theo bôn giai đoạn như sau: Giai đoạn 1: Mô tả chi tiết - Specification. Giai đoạn 2: Thiết kế - Design V.
• Giai đoạn 3: Hiện thực hóa — Realization l' -1 - --- .■ - Giai đoạn 4: Chạy thử — Commissioning ___________________________________________________ _ ______________________________________________ _______ _______________ ' Hình 1.