Trong bối cảnh dịch Covid-19 hiện tại, việc tiếp cận với hiện trường thực tế sản xuất để thực hiện dự án về tự động hóa công nghiệp là rất hạn chế. Bởi vậy thao tác kết nối với bộ điều khiển vật lý kiểm tra chương trình điều khiển và ứng dụng SCADA tại nơi chế tạo, đặc biệt tại hiện trường nhà máy lại càng khó khăn hơn.
Trong đào tạo ngành Tự động hóa Công nghiệp, khi phải tuân thủ quy định giãn cách xã hội bởi dịch Covid-19 cũng khiến cho bài thực hành của người học bị gián đoạn, khó tiếp cận được với các bộ điều khiển vật lý ở phòng thí nghiệm tại trường đại học.
Giải pháp sử dụng bộ điều khiển ảo thay thế cho bộ điều khiển vật lý cả trong thực hiện lập trình, kiểm tra chương trình điều khiển, hay trong giảng dạy và thí nghiệm sẽ khắc phục được các hạn chế nêu trên.
Bài viết đưa ra khái niệm về bộ điều khiển ảo, sau đó đi sâu vào phân tích cấu trúc, đặc tính kỹ thuật và cách sử dụng bộ điều khiển PLCSim Advanced của Simatic. Sau cuối là phân tích những cấu trúc tương tác của bộ điều khiển ảo với thế giới bên ngoài.
Hy vọng bài viết sẽ mang lại những kiến thức hữu ích cho các kỹ sư lập trình, nhà tích hợp hệ thống, nhà máy, giảng viên và sinh viên ngành Tự động hóa Công nghiệp và áp dụng không chỉ trong bối cảnh giãn cách xã hội mà cả trong thời gian bình thường mới sắp tới.
Bộ điều khiển ảo là bộ điều khiển có hệ điều hành, thay vì chạy trên thiết bị vật lý PLC công nghiệp thì được chạy trên máy tính thông thường, sử dụng các tài nguyên của máy tính và giữ nguyên các chức năng, hiệu năng như khi chạy trên PLC vật lý. Các ứng dụng SCADA từ đây có thể truy cập vào các PLC ảo này để thu thập dữ liệu và điều khiển giám sát. Đến khi triển khai thực tế, không cần phải thay đổi, dù là một phần nhỏ từ chương trình điều khiển trên PLC cho đến chương trình ứng dụng SCADA.
Theo truyền thống, từ trước tới nay, sau khi hoàn thành lập trình chương trình điều khiển, kỹ sư có thể dùng cáp mạng ethernet để nối máy tính với PLC vật lý và đổ chương trình xuống chạy thử. Tuy nhiên sau một thời gian dài, người ta đã nghĩ ra cách làm sao không cần PLC vật lý mà có thể kiểm tra được các thuật toán lập trình hoạt động có đúng hay không. Dần dần xuất hiện các kỹ thuật cho phép thực hiện điều này. Phổ biến là có hai cách để kiểm tra lập trình điều khiển:
Phần mềm trong cách thứ hai gọi là PLC mô phỏng. Kỹ thuật này gặp nhiều hạn chế sau:
Điểm chung giữa PLC mô phỏng và PLC ảo là hỗ trợ các hàm API để giao tiếp với các phần mềm khác để mô phỏng quá trình, đối tượng điều khiển.
PLCSim Advanced là phần mềm nằm trong hệ sinh thái TIA Portal của Simatic, mượn tài nguyên của máy tính, sử dụng công nghệ ảo hóa (virtualization) để tạo ra các PLC ảo khác nhau, phân bố trên các máy tính khác nhau với các địa chỉ IP khác nhau.
Hình 1 biểu diễn các dòng PLC phổ biến trên thị trường hiện nay là S7-1500 và tất cả các dòng này được ảo hóa bằng phầm mềm PLCSim Advanced, sẵn sàng chứa chương trình được xây dựng cho tất cả các dòng PLC S7-1500 vật lý.
Phần mềm PLCSim Advanced có thể cài đặt và chạy độc lập với công cụ lập trình Step 7 trong TIA Portal. Điều này có nghĩa là PLCSim Advanced có thể chạy trên một máy tính khác (không cần cài đặt TIA Portal) so với máy tính lập trình có cài đặt TIA Portal.
Sau khi cài PLCSim Advanced, trên máy tính xuất hiện 2 thành phần sau (hình 2):
Cơ chế hoạt động này có thể được giải thích bằng hình 3.
Sau khi hoàn thành việc lập trình của giai đoạn nào đó trong toàn bộ dự án, người dùng có thể tiến hành đổ chương trình xuống PLC. Việc đổ chương trình này hoàn toàn không khác gì so với việc đổ chương trình xuống PLC vật lý, Step 7 cũng không biết là đang làm việc với PLC ảo. Tuy nhiên, để đổ được chương trình xuống PLC ảo thì chúng ta cần phần phải nắm một số bước sau đây (hình 4):
Qua các bước trên thì rõ ràng là nếu đứng từ hướng Step 7, thì việc đổ chương trình xuống PLC vật lý hoàn toàn không khác gì so với việc đổ chương trình xuống PLC ảo. Điều này cũng hoàn toàn đúng đối với ứng dụng SCADA khi kết nối với PLC ảo.
Vận hành ảo là thao tác trên giao diện thực, tác động đến PLC ảo để thu thập dữ liệu và điều khiển quá trình mô phỏng (sau đây gọi là bản sao số). Với cách làm này, thì có thể cho phép kỹ sư lập trình và kiểm chứng chương trình khi máy móc, quá trình công nghệ, đối tượng chưa hình thành. Lợi ích thấy được rõ ràng là nhà tích hợp hệ thống không cần phải bỏ kinh phí để mua thiết bị, mà hệ thống có thể chạy thử, đẩy nhanh quá trình kiểm tra tại nơi sản xuất, tại hiện trường mà không lo bị hư hỏng thiết bị và giúp cải thiện chất lượng sản xuất.
Một câu hỏi đặt ra là làm sao PLC ảo tương tác được với bản sao số, từ đó nó có thể thu thập tín hiệu (input) và đưa tín hiệu điều khiển (output) để điều khiển các thiết bị chấp hành? Hiện nay có hai cách mà PLC ảo có thể tương tác với bản sao số:
Có thể giải thích cơ chế tương tác giữa PLC ảo với bản sao số như hình 5. Trong trường hợp này PLC ảo là đơn vị thụ động. Phần mềm mô phỏng quá trình chủ động đọc/ghi dữ liệu từ PLC ảo thông qua API:
Hiện nay có những phần mềm phổ biến mô phỏng quá trình, đối tượng có thể liên kết được với PLCSim Advanced như: Matlab, Simit, NX, Labview, Factory I/O. Tuy nhiên, để đáp ứng được tính realtime, độ tin cậy cao, định hướng công nghiệp thì Simit là phần mềm chiếm ưu thế. Simit dùng để mô phỏng các quá trình vật lý diễn ra trong các đường ống, hoặc các đối tượng vật lý như động cơ, bơm hoặc các bồn, bể chứa trong nhà máy, quá trình nhiệt động học, các quá trình hóa học, tính chất vật lí của các chất dẫn như nhiệt độ, áp suất.
Hình 6 là sơ đồ P&ID xây dựng bằng Simit để mô phỏng quá trình lọc nước tính khiết. Mô hình được xây dựng bởi sinh viên ngành Kỹ thuật Điều khiển và Tự động hóa, Đại học Bách khoa TP.HCM, là một nhiệm vụ trong luận văn của sinh viên trong thời gian giãn cách xã hội bởi dịch Covid-19.
Sau khi xây dựng xong mô hình, sinh viên có thể dùng PLCSim Advanced nối I/O với các tín hiệu của mô hình để thu thập dữ liệu và điều khiển. Tiếp đó là xây dựng hệ thống SCADA và các hệ thống khác trên cơ sở hệ điều khiển này.
Trước lúc đưa ra các phương án trao đổi dữ liệu giữa PLC ảo với các thành phần khác trong mạng và internet, chúng ta tìm hiểu cần phải cấu hình thế nào để PLC ảo có thể kết nối được với thế giới bên ngoài. Trong hình 7, nhấn mạnh 2 điểm mấu chốt để PLC ảo tương tác được với thế giới bên ngoài máy tính vật lý mà nó đang chạy:
Như vậy, nếu cắm card ethernet của máy tính vào switch bên ngoài thì rõ ràng PLC ảo hoàn toàn có thể tương tác được với các thành phần bên ngoài. Theo cấu trúc trên hình 8 thì PLC từ máy tính vật lý №1 thể trao đổi dữ liệu với máy tính №2 bằng các giao thức phổ biến như: S7, Modbus TCP/IP, OPC UA. TIA Portal (Step 7 và WinCC Professional) từ máy tính №3 có thể tương tác với 2 PLC ảo chạy trong mạng.
Tương tự như PLC vật lý, PLC ảo có thể trao đổi dữ liệu với các thiết bị vật lý bên ngoài (hình 9). Cụ thể là PLC S7-1200, S7-1500 (2), các thiết bị trường hỗ trợ giao thức Modbus TCP/IP như điện kế, biến tần (3) và các PLC hỗ trợ Modbus TCP/IP (4).
Không dừng lại ở đó, PLC ảo còn có thể đóng vai trò là thiết bị IoT để trao đổi dữ liệu với điện toán đám mây bằng các giao thức IoT phổ biến như: MQTT, OPC UA. Trong các trường hợp này PLC ảo đóng vài trò là client. Tương tự như PLC vật lý, trong trường hợp PLC ảo muốn kết nối với điện toán đám mây hoặc các server khác thông qua internet, thì phải cấu hình card ethernet như trong hình 10:
Như vậy, PLC ảo đóng vai trò là một thiết bị IoT hoàn toàn giống như PLC vật lý. Cấu trúc tương tác của các thành phần trong trường hợp này được thể hiện qua hình 11: PLC ảo (1) có thể đóng vai trò là OPC UA client, MQTT client, sử dụng internet (2) với đường truyền cáp quang như hiện nay (3) để đẩy dữ liệu lên MQTT broker hoặc OPC UA server chạy trên điện toán đám mây hoặc trên máy tính ảo (4). Các thiết bị di động (5) có thể thông qua mạng 3G/LTE, kết nối với MQTT broker/OPC UA sever để thu thập dữ liệu do PLC ảo đưa lên, và có thể tương tác ngược lại bằng điều khiển các đối tượng/quá trình trên bản sao số phía PLC ảo.
Qua phân tích loạt cấu trúc, nguyên lý hoạt động và cơ chế trao đổi dữ liệu với các thành phần khác của PLC ảo ở trên, rõ ràng là PLC ảo có thể thay thế hoàn toàn PLC vật lý trong giai đoạn lập trình, kiểm tra chương trình điều khiển tại nơi chế tạo. Từ đó, cho phép rút ngắn thời gian kiểm tra tại hiện trường nhà máy.
Đối với ứng dụng SCADA sau khi lập trình và kiểm tra xong, mang ra triển khai tại nhà máy thì hoàn toàn không cần phải thay đổi hay thêm bớt gì trong chương trình.
Tác giả đã áp dụng PLCSim Advanced để thực hiện được một số dự án trong một số lĩnh vực như: nhà máy xử lý nước thải, trại chăn nuôi, cơ sở hạ tầng. Một trong những dự án có thể kể đến là dự án điều khiển các hệ thống bơm nước, các hệ thống valve thủy lực trên diện rộng, bao gồm khoảng trên 95 valve thủy lực, trên 70 bơm dầu, 22 bơm nước công suất lớn, khoảng 30 thiết bị điều khiển bằng biến tần. Toàn hệ thống sử dụng 8 PLC ảo. Hệ thống SCADA trong dự án này được xây dựng bằng công cụ lập trình WinCC Professional trong hệ sinh thái TIA Portal.
Trong đào tạo ngành Tự động hóa Công nghiệp, với bối cảnh giãn cách xã hội hiện tại, việc sử dụng PLC ảo kết hợp mô hình mô phỏng, hay cao hơn nữa là bản sao số, để từ đó, người học có thể lập trình, đổ chương trình, chạy và kiểm tra thuật toán điều khiển là lựa chọn hoàn toàn hợp lý. Bên cạnh đó bộ PLC ảo còn phát huy thế mạnh trong các môn học khác như SCADA, Số hóa công nghiệp. Bản thân tác giả đã sử dụng PLCSim Advanced đã 4 năm nay trong đào tạo sinh viên đại học và học viên cao học ngành Kỹ thuật Điều khiển và Tự động hóa trong các môn học và trong luận văn tốt nghiệp của sinh viên, học viên.
Dr. Trương Đình Châu
Sài Gòn, tháng 9, 2021