Chúng ta đang sống trong thời đại mà mọi thứ đang cần được triển khai một cách nhanh nhất có thể. Trong quá trình triển khai 1 dự án công nghiệp, với vai trò là 1 người trưởng dự án hoặc chủ doanh nghiệp, câu chuyện của bạn sẽ bao gồm từ việc xây dựng nhà xưởng, tuyển dụng và đào tạo nhân viên, cho nhân viên chạy thử máy và tiến hành sản xuất và duy trì hoạt động sau này. Trong toàn bộ quá trình này, việc ráp và chuyển tải các thông tin dưới dạng trực quan và tương tác được là vô cùng quan trọng, đảm bảo việc vận hành được trước khi hệ thống được xây dựng xong.
Ở góc độ kỹ thuật cơ khí - xây dựng, việc xây dựng nhà xưởng đã được hiện đại hóa việc triển khai, từ những ngày đầu 1960s khi mà tất cả các bản vẽ được vẽ bằng tay, tới 1990s là được vẽ bằng CAD 2D, và tới thời điểm hiện tại, các công trình và máy móc đều được triển khai 3D ( BIM, Solidworks, etc) và kiểm chứng trên 3D trước khi được lắp đặt. Sau khi thiết kế ở 3D, khối lượng vật tư, cũng như kiểm tra va chạm được làm trước, và người dùng có thể cảm nhận cũng như làm quen với thiết kế trước khi triển khai
Tuy nhiên, ở góc độ tự động hóa và đào tạo nhân viên, việc chạy thử trong môi trường ảo thường gặp nhiều khó khăn hơn do có khá nhiều cấp độ giả lập khác nhau, và sử dụng nhiều công cụ khác nhau để triển khai hệ thống. Trong bài viết này, Hùng sẽ cố gắng miêu tả về việc ảo hóa - thực tế song song này.
1/ Cấp độ 1 - ảo hóa hệ thống PLC / HMI / SCADA
Cấp độ này là đơn giản nhất và được sử dụng nhiều nhất. Hầu như các PLC đều được định nghĩa theo wiki là máy tính:
A programmable logic controller or programmable controller is an industrial computer that has been ruggedized and adapted for the control of manufacturing processes, such as assembly lines, machines, robotic devices, or any activity that requires high reliability, ease of programming, and process fault diagnosis.
Vì thế nên việc giả lập hệ thống PLC trong môi trường máy tính (Emulation) là việc vô cùng dễ dàng. Trong môi trường giả lập, PLC ảo có thể hoạt động hầu như toàn bộ các chức năng của PLC thật - Trừ việc xuất ra I/O như PLC thật.
Ở cấp độ này, chúng ta thường làm việc là giả lập từng tín hiệu I/O vào để kiểm tra được phản ứng của hệ thống, và giả lập được màn hình HMI / SCADA trên môi trường PC để hiển thị được giao diện người dùng.
Hầu như các hãng đều có thể làm được việc này. Ở Rockwell Automation thì có
Ở trong cấp độ 1, việc emulate được PLC và các function của PLC là 1 phần nhỏ. Phần lớn hơn mà các nhà phát triển và viết chương trình PLC cần quan tâm là làm sao giả lập được hoạt động của các thiết bị trường (Field devices). Việc giả lập thiết bị trường trong môi trường code sẽ tốn thêm 1 thời gian của lập trình viên để ngắt kết nối của các object trong chương trình với I/O thật, và chuyển qua số liệu ảo. Với số liệu ảo, và việc tạo ra tương tác giữa các object (ví dụ nếu bơm bật thì flowmeter sẽ đếm, level trong tank sẽ tăng), thì tổng thể hoạt động hệ thống có thể được giả lập. Khi hệ thống được giả lập thì việc validate và commissioning hệ thống sẽ được làm rất nhanh. Dành 30% thời gian trước thi công cho việc lập trình giả lập, sẽ tiết kiệm 50% thời gian commissioning ( đắt hơn rất nhiều). Với Hùng, việc emulate cấp độ 1 này là bắt buộc, để đảm bảo hệ thống chạy được kha khá và dành ít thời gian nhất có thể cho commissioning.
2/ Cấp độ 2: Mô phỏng tương tác
Khi ở cấp độ 1, việc PLC xử lý tín hiệu IO và giả lập các hoạt động sẽ hoàn toàn được mô phỏng trong PLC và dựa theo kiến thức của người lập trình và không có tí gì liên hệ với thực tế cả. Ví dụ trong quá trình mô phỏng, bạn có thể bơm 1 triệu m3/hr vào 1 bể 1m3 khối và không có ai nói là nó sai cả. Hoặc bạn có thể mô phỏng 2 hệ thống servo chung trục chuyển động ngược nhau, trong thực tế thì sẽ gãy trục, nhưng mà mô phỏng cấp độ 1 thì lại không thể.
Vì thế, các phần mềm mô phỏng ở cấp độ 2 sẽ giả lập tính chất vật lý / hình học / hóa học của hệ thống.
Với các hệ thống máy discreet control, thì tất cả code và chuyển động, kết hợp mô hình 3D của máy móc đã được bên cơ khí thiết kế, sẽ tạo thành mô hình máy 3D có thể điều khiển được bằng HMI / SCADA, và từ đó có thể xác định được các lỗi trong chương trình một cách trực quan nhất. Ví dụ về phần mềm cho hệ thống này là Emulate3D. https://www.demo3d.com/
Ở góc độ kỹ thuật cơ khí - xây dựng, việc xây dựng nhà xưởng đã được hiện đại hóa việc triển khai, từ những ngày đầu 1960s khi mà tất cả các bản vẽ được vẽ bằng tay, tới 1990s là được vẽ bằng CAD 2D, và tới thời điểm hiện tại, các công trình và máy móc đều được triển khai 3D ( BIM, Solidworks, etc) và kiểm chứng trên 3D trước khi được lắp đặt. Sau khi thiết kế ở 3D, khối lượng vật tư, cũng như kiểm tra va chạm được làm trước, và người dùng có thể cảm nhận cũng như làm quen với thiết kế trước khi triển khai
Tuy nhiên, ở góc độ tự động hóa và đào tạo nhân viên, việc chạy thử trong môi trường ảo thường gặp nhiều khó khăn hơn do có khá nhiều cấp độ giả lập khác nhau, và sử dụng nhiều công cụ khác nhau để triển khai hệ thống. Trong bài viết này, Hùng sẽ cố gắng miêu tả về việc ảo hóa - thực tế song song này.
1/ Cấp độ 1 - ảo hóa hệ thống PLC / HMI / SCADA
Cấp độ này là đơn giản nhất và được sử dụng nhiều nhất. Hầu như các PLC đều được định nghĩa theo wiki là máy tính:
A programmable logic controller or programmable controller is an industrial computer that has been ruggedized and adapted for the control of manufacturing processes, such as assembly lines, machines, robotic devices, or any activity that requires high reliability, ease of programming, and process fault diagnosis.
Vì thế nên việc giả lập hệ thống PLC trong môi trường máy tính (Emulation) là việc vô cùng dễ dàng. Trong môi trường giả lập, PLC ảo có thể hoạt động hầu như toàn bộ các chức năng của PLC thật - Trừ việc xuất ra I/O như PLC thật.
Ở cấp độ này, chúng ta thường làm việc là giả lập từng tín hiệu I/O vào để kiểm tra được phản ứng của hệ thống, và giả lập được màn hình HMI / SCADA trên môi trường PC để hiển thị được giao diện người dùng.
Hầu như các hãng đều có thể làm được việc này. Ở Rockwell Automation thì có
- RSEmulate cho các PLC 5570 (Controllogix L7 trở về trước)
- LogixEcho cho các PLC 5580 (Controllogix L8 trở về sau)
- ConnectedComponentWorkbench (CCW) cho Micro800 và CompactLogix L1
Ở trong cấp độ 1, việc emulate được PLC và các function của PLC là 1 phần nhỏ. Phần lớn hơn mà các nhà phát triển và viết chương trình PLC cần quan tâm là làm sao giả lập được hoạt động của các thiết bị trường (Field devices). Việc giả lập thiết bị trường trong môi trường code sẽ tốn thêm 1 thời gian của lập trình viên để ngắt kết nối của các object trong chương trình với I/O thật, và chuyển qua số liệu ảo. Với số liệu ảo, và việc tạo ra tương tác giữa các object (ví dụ nếu bơm bật thì flowmeter sẽ đếm, level trong tank sẽ tăng), thì tổng thể hoạt động hệ thống có thể được giả lập. Khi hệ thống được giả lập thì việc validate và commissioning hệ thống sẽ được làm rất nhanh. Dành 30% thời gian trước thi công cho việc lập trình giả lập, sẽ tiết kiệm 50% thời gian commissioning ( đắt hơn rất nhiều). Với Hùng, việc emulate cấp độ 1 này là bắt buộc, để đảm bảo hệ thống chạy được kha khá và dành ít thời gian nhất có thể cho commissioning.
2/ Cấp độ 2: Mô phỏng tương tác
Khi ở cấp độ 1, việc PLC xử lý tín hiệu IO và giả lập các hoạt động sẽ hoàn toàn được mô phỏng trong PLC và dựa theo kiến thức của người lập trình và không có tí gì liên hệ với thực tế cả. Ví dụ trong quá trình mô phỏng, bạn có thể bơm 1 triệu m3/hr vào 1 bể 1m3 khối và không có ai nói là nó sai cả. Hoặc bạn có thể mô phỏng 2 hệ thống servo chung trục chuyển động ngược nhau, trong thực tế thì sẽ gãy trục, nhưng mà mô phỏng cấp độ 1 thì lại không thể.
Vì thế, các phần mềm mô phỏng ở cấp độ 2 sẽ giả lập tính chất vật lý / hình học / hóa học của hệ thống.
Với các hệ thống máy discreet control, thì tất cả code và chuyển động, kết hợp mô hình 3D của máy móc đã được bên cơ khí thiết kế, sẽ tạo thành mô hình máy 3D có thể điều khiển được bằng HMI / SCADA, và từ đó có thể xác định được các lỗi trong chương trình một cách trực quan nhất. Ví dụ về phần mềm cho hệ thống này là Emulate3D. https://www.demo3d.com/
Với hệ thống process control, chuyển động của vật chất không quan trọng bằng việc tương tác của các dòng chảy với nhau và tạo thành các phản ứng hóa học / thay đổi về năng lượng. Để mô phỏng chính xác nhất về các hiện tượng này thì thường các kỹ sư process sẽ dùng phần mềm process simulation để mô phỏng, ví dụ Aspen One (HYSYS ngày xưa mình dùng). Thông tin dynamic từ Aspen sẽ được đưa ngược về PLC simulation để xử lý và hiển thị trên màn hình control.
Ở mô phỏng cấp độ 2 này, thay vì chỉ tưởng tượng máy chạy thế này và tưởng tượng là process sẽ phản ứng như thế kia, feedback từ hình ảnh và các phần mềm chuyên môn sẽ giúp người commissioning và vận hành hiểu được thực tế chính xác trước khi hệ thống được xây dựng nên. Khi người vận hành hiểu được hệ thống thì quá trình transitioning từ commissioning và vận hành về sau sẽ trở nên dễ dàng hơn rất nhiều.
Về mặt chi phí, bạn sẽ bỏ thêm 50-100% thời gian lập trình, tuy nhiên sẽ cắt ngắn 2-3 tháng training cho operator / maintenance để họ hiểu hệ thống. Trong critical path của dự án, thời gian training cho operator và maintenance thường là điểm quan trọng hơn thời gian lập trình, cũng như đắt đỏ hơn (do dùng nhiều nhân sự và vật tư hơn), vì thế trong quá trình triển khai ban đầu, investment cho emulation cấp độ 2 là việc cần phải suy nghĩ và cân nhắc về lợi ích. Tuy nhiên, trong hầu hết các trường hợp, investment này là hợp lý, và có thể dùng cho sau này (training, remote troubleshooting).
Cấp độ 3: tương tác trong môi trường thực tế ảo.
Ở cấp độ cuối, các thông tin bao gồm:
- Thông số máy (lấy từ PLC hoặc các phần mềm ảo hóa)
- Thiết kế 3D
- Tương tác (vật lý/ hóa học)
Sẽ được tổng hợp lại chung trong 1 engine và hiển thị ra ngoài. Hiển thị có thể qua mô hình 3D trên PC, hoặc với các công nghệ mới hơn hiện nay, sẽ là qua Virtual Reality (thực tế ảo) hoặc Augmented reality (thực tế tăng cường).
Nếu mà các bạn đã xem Ironman bản đầu tiên, bạn sẽ thấy Tony Stark cầm thiết kế ảo, chỉnh sửa và thiết kế lại. Đấy chính là bước cuối của môi trường ảo hóa công nghiệp
Ở cấp độ cuối này, người vận hành và bảo trì sẽ có thể nhìn thấy trực tiếp vận hành của thiết bị, trạng thái của thiết bị đó cũng như tương tác với thiết bị (ảo hoặc thật). Việc hỗ trợ từ xa và đào tạo cho người vận hành bảo trì cũng trở nên dễ dàng hơn bao giờ hết. Tuy nhiên, về chi phí thì việc thiết lập hệ thống như vậy sẽ có chi phí khá cao, và cần đánh giá trực tiếp về ROI (return of investment) trước khi đầu tư nếu bạn là End-user hoặc System integrator. Tuy nhiên, nếu bạn là OEM có volume lớn thì đây là giá trị thặng dư rất tốt để bạn có thể bán được cho khách hàng, giúp bạn và khách hàng giảm thiểu tối đa rủi ra toàn vòng đời dự án.