Để giải quyết bài toán dự phòng PLC bằng phần mềm thì cần phải xây dựng cấu trúc chương trình điều khiển của PRIMARY PLC cũng như STANDBY PLC.
Trong luận văn này, sử dụng Premium PLC của hãng Schneider Electric và phần mềm lập trình UnityPro nên cấu trúc chương trình cho 2 PLC đều được xây dựng trên phần mềm này. Trong Master task và Faster task của mỗi PLC gồm 01 section, mỗi section đảm nhận chức năng khác nhau:
LUẬN VĂN CAO HỌC
Stt Section Phần/Bộ phận
1 HSTBY_PROCESS_COMM (Master task)
Khởi tạo giá trị ban đầu, điều khiển chuyển đổi dữ liệu và đồng bộ giữa PRIMARY PLC và STANDBY PLC
2 HSTBY_PROCESS_STANDBY (Faster task)
Kiểm tra trạng thái hoạt động của PRIMARY PLC và STANDBY PLC, truyền trạng thái hoạt động của STANDBY PLC sang PRIMARY PLC
ĐỒNG BỘ DỮ LIỆU GIỮA PRIMARY PLC VÀ STANDBY PLC
Đối với giải pháp thực hiện dự phòng controller PLC bằng phần cứng, việc đồng bộ dữ liệu thực hiện bằng một module riêng biệt gọi là module đồng bộ dữ liệu hay được gọi là Copro, ví dụ bộ Premium Hot/STANDBY PLC TSX H5744M.
Đối với PLC không hỗ trợ giải pháp bằng phần cứng cũng như không hỗ trợ module đồng bộ dữ liệu thì việc đồng bộ dữ liệu được thực hiện bằng cách viết các hàm trao đổi dữ liệu trong chương trình. Tùy vào mỗi loại PLC và giao thức truyền thông của các hãng khác nhau sẽ có các hàm riêng biệt [Hình 3.13].
LUẬN VĂN CAO HỌC
Read input from Remote IO, HMI
Execute Application section
Write output signal to Remote IO, HMI
Transfer data to Standby PLC
STANDBY PLC
Master Task
Read input from Remote IO, HMI
Execute Application section
Write output signal to Remote IO, HMI
Transfer data to Primary PLC Primary fault?
N Y
Transfer data through
%M,%MW PRIMARY PLC
Master Task
Hình 3. 13: Cấu trúc trong master task của PLC
Từ hình vẽ ta thấy, khi PRIMARY PLC đang hoạt động tốt và điều khiển hệ thống, PRIMARY PLC sẽ truyền tất cả các data cần thiết như: %M, %MW, giá trị timer, counter, realtime sang STANDBY PLC ở cuối chu kỳ master task. Ngược lại khi Primary bị lỗi, thì quá trình truyền ngược lại cũng được thực hiện từ Standby sang Primary. Việc truyền thông thực hiện thông qua các hàm có trong chương trình UnityPro và Function Block Diagram xây dựng.
Đối với PRIMARY PLC khi ở trạng thái RUN, PRIMARY PLC sẽ ghi trạng thái điều khiển vào các ô nhớ, đồng thời sẽ truyền sang STANDBY PLC biến Heatbeats, biến Heatbeats sẽ tự động tăng giá trị lên trong chu kỳ 10 ms, để báo cho STANDBY PLC biết rằng nó vẫn đang hoạt động bình thường.
Đối với STANDBY PLC khi ở trạng thái STOP (hay nói cách khách ở chế độ chờ), sẽ nhận biến Heatbeats liên tục từ PRIMARY PLC để chắc chắn rằng PRIMARY PLC vẫn đang hoạt động bình thường, STANDBY PLC cập nhật liên tục
LUẬN VĂN CAO HỌC
các trạng thái điều khiển của PRIMARY PLC từ các ô nhớ của PRIMARY PLC thông qua chức năng I/O Scanning trên PLC.
Khi có sự cố hay nói cách khác là PRIMARY PLC không thể điều khiển được hệ thống, ngay lập tức STANDBY PLC sẽ chuyển từ chế độ chờ sang chế độ điều khiển, tiếp tục quá trình mà PRIMARY PLC đang thực hiện, sự kiện đó gọi là SwitchOver [Hình 3.14] [Hìn 3.15].
PRIMARY PLC STANDBY PLC
Line 0 Line 1 Line 2
Line 0 Line 1 Line 2
192.168.1.11 192.168.1.12
Hình 3. 14: Hoạt động I/O Scanning trên PRIMARY PLC và STANDBY PLC
Hình 3. 15: Cấu hình dịch vụ I/O Scanning trên PLC
Nguyên lý hoạt động khi sử dụng dịch vụ I/O Scanning trên PLC như sau:
- Đối với PRIMARY PLC khi ở trạng thái RUN để điều khiển ứng dụng, PRIMARY PLC chỉ quét IP của các Remote I/O để điều khiển, không quét IP của STANDBY PLC để giảm tải cho CPU, nếu quét hết tất cả sẽ dẫn đến tình trạng CPU xử lý chậm, không kịp đáp ứng kịp về thời gian khi SwitchOver xảy ra.
- Đối với STANDBY PLC, trong khi PRIMARY PLC hoạt động STANDBY PLC chỉ quét IP của PRIMARY PLC, không quét IP của các Remote I/O để giảm tải cho
LUẬN VĂN CAO HỌC CPU [Hình 3.16].
PRIMARY PLC STANDBY PLC
Line 0 Line 1 Line 2
192.168.1.54 192.168.1.12
192.168.1.54 192.168.1.11
192.168.1.11 192.168.1.12
Line 0 Line 1 Line 2
Disable I/O Scanning line 0 (Remote I/O)
Enable I/O Scanning line 1 (Primary PLC)
Enable I/O Scanning line 0 (Remote I/O) Disable I/O Scanning line 1 (Standby PLC)
Hình 3. 16: Hoạt động I/O Scanning trên PRIMARY PLC và STANDBY PLC khi được cấu hình