Vì vậy, nghiên cứu xây dựng giải thuật thu thập dữ liệu và điều khiển dự phòng hệ thống là rất cần thiết nhằm đem lại một hệ thống điều khiển hoàn chỉnh, hoạt động ổn định, giảm thiểu th
Trang 1PHẠM TẤN PHÁT
NGHIÊN CỨU VÀ PHÁT TRIỂN GIẢI THUẬT CHO HỆ THỐNG ĐIỀU KHIỂN DỰ PHÒNG
Research and development for redundancy control systems
Chuyên ngành : Kỹ Thuật Điều Khiển Và Tự Động Hóa
Mã số: 60520216
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 1 năm 201 9
Trang 2Cán bộ hướng dẫn khóa học: TS Trương Đình Châu
5 PGS.TS Nguyễn Thanh Phương
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
Trang 3
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: PHẠM TẤN PHÁT MSHV:1570370
Ngày, tháng, năm sinh: 27-07-1992 Nơi sinh: Quảng Ngãi
Chuyên ngành: Kỹ Thuật Điều Khiển Và Tự Động Hóa Mã số : 60520216
I TÊN ĐỀ TÀI:
Nghiên cứu và phát triển giải thuật cho hệ thống điều khiển dự phòng
II NHIỆM VỤ VÀ NỘI DUNG:
Tìm hiểu, nghiên cứu cấu trúc dự phòng bằng phần mềm, từ đó xây dựng thư viện điều khiển dự phòng hướng đối tượng Bao gồm các nội cụng cụ thể như sau :
Nghiên cứu tổng quát và xây dựng giải pháp các cơ chế và cấu trúc redundancy trong hệ thống điều khiển
Thiết lập cấu hình Hot/Standby cho hệ thống điều khiển
Xây dựng giải pháp Redundancy cho cấp điều khiển
Đồng bộ Datablock trong đồng bộ dữ liệu theo hướng đối tượng
Xây dựng chương trình và kiểm nghiệm thực tế hệ thống
Tp HCM, ngày tháng 12 năm 2018
TRƯỞNG KHOA….………
Trang 4LỜI CẢM ƠN
Đầu tiên tôi xin gởi đến Thầy TS Trương Đình Châu lời cảm ơn chân thành và sâu sắc nhất Nhờ sự hướng dẫn và chỉ bảo tận tình của Thầy trong suốt thời gian qua tôi đã thực hiện đề cương đề tài và tiếp tục hoàn thành luận văn Thạc Sĩ Những lời nhận xét, góp ý và hướng dẫn tận tình của Thầy đã giúp tôi có một định hướng đúng đắn trong suốt quá trình thực hiện đề tài
Đồng thời, tôi xin chân thành cảm ơn các Thầy Cô của Trường Đại học Bách Khoa nói chung và của khoa Điện – Điện Tử nói riêng đã dạy dỗ tôi trong suốt thời gian qua Những lời giảng của Thầy Cô đã trang bị cho tôi thêm những kiến thức, giúp tôi tích lũy thêm những ý tưởng hay và bổ ích
Cuối cùng, chúng em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều kiện, quan tâm, giúp đỡ, động viên chúng em trong suốt quá trình học tập và hoàn thành luận văn tốt nghiệp
Hồ Chí Minh, ngày 21 tháng 12 năm 2018
Thân ái Học viên
PHẠM TẤN PHÁT
Trang 5Vì vậy, nghiên cứu xây dựng giải thuật thu thập dữ liệu và điều khiển dự phòng hệ thống là rất cần thiết nhằm đem lại một hệ thống điều khiển hoàn chỉnh, hoạt động ổn định, giảm thiểu thời gian chờ sửa chữa các thiết bị hư hỏng Do đó trong luận văn tìm hiểu giải quyết các vấn đề sau:
+ Tìm hiểu khái niệm dự phòng (Redundancy) trong ở cấp điều khiển Tìm hiểu cơ chế, cấu trúc, nguyên lý dự phòng trong cấp điều khiển
+ Xây dựng cấu trúc dự phòng Hot/Standby cho cấp điều khiển
+ Xây dựng cấu trúc đồng bộ dữ liệu nhằm giảm thời gian lập trình của người thiết kế
+ Xây dựng dãy thuật kết nối WINCC với hệ thống redundancy
Trang 6LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướng dẫn khoa học của TS Trương Đình Châu Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm
về nội dung luận văn của mình Trường Đại học Bách Khoa TP HCM không liên quan đến những vi phạm (nếu có) về tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện
TP Hồ Chí Minh, ngày 21 tháng 12 năm 2018
Tác giả
PHẠM TẤN PHÁT
Trang 7MỤC LỤC
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1
1.1 Tổng quan đề tài 1
1.1.1 Tổng quan hệ thống 1
1.1.2 Khái quát các giải pháp dự phòng trong hệ thống điều khiển 2
1.2 Mục tiêu đề tài 4
1.3 Tổng quan phương pháp xây dựng thư viện dự phòng bằng phần mềm 5
CHƯƠNG 2 TỔ CHỨC VÀ XÂY DỰNG THUẬT TOÁN DỰ PHÒNG 8
2.1 Các thành phần liên quan 8
2.1.1 Bộ điều khiển S7-1200 8
2.1.2 S7 Communication protocol 8
2.2 Xây dựng giải thuật dự phòng ở cấp điều khiển 9
2.2.1 Hệ thống phần cứng có cấu trúc như sau: 9
2.2.2 Cấu trúc phần mềm 11
2.3 Kiểm tra trạng thái hoạt động của PLC Primary 14
2.4 Đồng bộ dữ liệu giữa Primary và Standby PLC 24
2.4.1 Dãy thuật update dữ liệu 24
2.4.2 Đồng bộ Timer 26
2.4.3 Đồng bộ Counter 28
2.4.4 Đồng bộ dữ liệu 30
2.5 Cấu hình HMI 36
CHƯƠNG 3 ÁP DỤNG THƯ VIỆN REDUNDACY VÀO THIẾT KẾ DỰ ÁN 42
3.1 Cấu trúc chương trình của Master và Standby CPU 42
3.2 Mô hình kiểm tra thực tế 42
3.3 Các bước cấu hình đồng bộ dữ liệu trên PLC 42
3.4 Cấu hình HMI 52
Trang 8CHƯƠNG 4 PHÂN TÍCH KẾT QUẢ ĐẠT ĐƯỢC TỪ ĐỀ TÀI 57
4.1 Kết quả đạt được 57
4.2 Hướng phát triển đề tài 59
TÀI LIỆU THAM KHẢO 61
LÝ LỊCH TRÍCH NGANG 62
Trang 9DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Công đoạn vận chuyển sản phẩm 2
Hình 1.2 Trạm bơm công nghiệp 3
Hình 1.3 Điều khiển các van lưu lượng 4
Hình 2.1 Bộ điều khiển S7-1200 8
Hình 2.2 Cấu trúc Client – Server khi sử dụng PUT/GET 9
Hình 2.3 Cấu trúc phần cứng hệ thống redundancy 10
Hình 2.4 Hoạt động của hệ thống khi Primary PLC bình thường 12
Hình 2.5 Hoạt động của hệ thống khi Primary PLC bị lỗi 13
Hình 2.6 Hoạt động của hệ thống khi Primary PLC phục hồi 13
Hình 2.7 Nguyên lý dự phòng bằng phần mềm 14
Hình 2.8 Cấu trúc hệ thống PLC redundancy 15
Hình 2.9 Giải thuật heartbeat 16
Hình 2.10 CPU Primary PLC bị lỗi hoặc không hoạt động 18
Hình 2.11 Module truyền thông của Primary PLC bị lỗi 19
Hình 2.12 Ethernet cable của Primary PLC bị lỗi 20
Hình 2.13 Giải thuật Heart beat 21
Hình 2.14 Giải thuật Switch over cho CPU Standby 22
Hình 2.15 Giải thuật Switch over cho CPU Master 23
Hình 2.16 Cấu trúc trong đồng bộ dữ liệu 24
Hình 2.17 Dãy thuật Update dữ liệu 25
Hình 2.18 Timer-ON Redundancy 26
Hình 2.19 Giải thuật đồng bộ Timer ON 27
Hình 2.20 Datablock Counter 29
Hình 2.21 Hoạt động của hệ thống redundancy 30
Hình 2.22 Vùng dữ liệu đồng bộ Timer cho hệ thống Redundancy 31
Hình 2.23 Khối Funtion đồng bộ Datablock 32
Hình 2.24 Sơ đồ kết nối HMI với hệ thống redundancy 36
Hình 2.25 Dãy thuật kiểm tra kết nối HMI với hệ thống redundancy 37
Hình 2.26 Dãy thuật Switch Over giữa HMI với hệ thống redundancy 38
Hình 3.1 Mô hình kiểm tra hoạt động hệ thống redundancy 42
Hình 3.2 Chọn thiết bị cho hệ thống redundancy 43
Hình 3.3 Cấu hình địa chỉ IP cho CPU Master 44
Hình 3.4 Cấu hình địa chỉ IP cho CPU Standby 44
Hình 3.5 Cấu hình địa chỉ IP cho CPU Device 45
Hình 3.6 Tạo OB riêng cấu hình redundancy cho hệ thống 45
Hình 3.7 Các biến chức năng trong khối Heartbit 46
Hình 3.8 Cấu hình thông số cho khối Heartbit 47
Hình 3.9 Cấu hình cho khối SwOver 48
Trang 10Hình 3.10 Cấu hình cho khối Update 49
Hình 3.11 Chương trình User_Program 49
Hình 3.12 Gọi Timer từ thư viện 50
Hình 3.13 Ngõ vào khối redundancy 51
Hình 3.14 Đồng bộ timer 51
Hình 3.15 Chọn cấu hình Scada cho hệ thống 52
Hình 3.16 Chương trình đồng bộ với HMI trên PLC 53
Hình 3.17 Cấu hình địa chỉ IP cho Máy chủ/HMI 53
Hình 3.18 Tạo connection tới PLC 54
Hình 3.19 Cấu hình sự kiện Scheduled tasks 55
Hình 3.20 Tag trong chương trình Scada/HMI 56
Hình 3.21 Giao diện chương trình điều khiển tốc độ động cơ 56
Trang 11Thuật ngữ Redundancy chỉ hai thiết bị (PLC, computer, ) được nối mạng với nhau, cả hai có nhiệm vụ điều khiển toàn bộ hoạt động của hệ thống Trong đó một thiết bị sẽ ở chế độ chờ Standby Khi PLC Primary đang hoạt động bị hỏng, PLC Standby này sẽ chuyển từ chế độ Standby sang Active và thay thế cho PLC hỏng tiếp tục hoạt động điều khiển hệ thống Khi đó hoạt động của hệ thống không bị gián đoạn
Hầu hết các máy tính, các bộ điều khiển được thiết kế đáng tin cậy nhưng
hư hỏng vẫn xảy ra, đặc biệt khi chúng được sử dụng trong môi trường khắc nghiệt Khi sự cố xảy ra làm gián đoạn hoạt động sản xuất, thời gian chờ sửa chữa lâu dẫn đến chi phí cao, có khi ảnh hưởng đến hoạt động xã hội, thiệt hại lớn về kinh tế, vật chất vì vậy tính năng redundancy cần thiết phải được tích hợp vào hệ thống để loại trừ sự cố thiết bị hư hỏng
Giải pháp dự phòng trong công nghiệp được thiết kế đối với những hệ thống có yêu cầu về tính ổn định, độ tin cậy để đảm bảo hệ thống vẫn hoạt động liên tục trong trường hợp bộ điều khiển bị lỗi Giải pháp này gần như đã trở
Trang 12đó không tốn nhiều thời gian phải chờ đợi
Hình 1.1 Công đoạn vận chuyển sản phẩm
Ưu/khuyết điểm: Phương án dự phòng này chỉ áp dụng đối với những hệ thống mà khi có sự cố xảy ra không ảnh hưởng nhiều đến tính nguy hiểm, tính
an toàn, sản phẩm không bị hư hỏng khi phải chờ một thời gian để bảo trì và thay thế
Trang 13xử lý chính không điều khiển quá trình Khi xảy ra sự cố, bộ xử lý phụ đảm nhận điều khiển các tín hiệu ngõ vào hoặc ngõ ra và trở thành bộ xử lý chính, cho phép bộ xử lý chính thành bộ xử lý thứ cấp và có thể được bảo trì mà không mất quyền kiểm soát quá trình
Hình 1.2 Trạm bơm công nghiệp
- Dự phòng nóng
Định nghĩa: Dự phòng nóng được dùng khi quá trình vận hành không được dừng dưới bất kỳ trường hợp nào Có những ứng dụng có thể không yêu cầu dự phòng nóng nhưng để có tính liên tục cao thì dự phòng nóng là rất cần thiết
Cơ chế: Như đã nêu ở trên, việc bố trí hệ thống dự phòng nóng thì hầu như giống với hệ thống dự phòng ấm Tuy nhiên, hệ thống dự phòng nóng cung
Trang 14sự ổn định, xác suất sự cố xảy ra được giảm đến mức thấp nhất, đem lại sự an toàn và đảm bảo liên tục cho người sử dụng
1.2 Mục tiêu đề tài
Xây dựng cấu trúc dự phòng bằng phần mềm có áp dụng thiết kế ứng dụng hệ thống điều khiển dự phòng vào thực tế họat động sản xuất Đáp ứng được nhu cầu điều khiển dự phòng cho các hệ thống vừa và nhỏ, giải quyết được vấn đề làm chủ công nghệ, có khả năng mở rộng trong tương lai Xây dựng giao diện theo hướng đối tượng dễ dàng sử dụng
Định hướng giải quyết vấn đề của đề tài như sau:
redundancy trong hệ thống điều khiển
Trang 15GVHD: TS Trương Đình Châu
HVTH: Phạm Tấn Phát
1.3 Tổng quan phương pháp xây dựng thư viện dự phòng bằng phần mềm
Tổng quan về các phương pháp thiết kế hệ thống: hướng cấu trúc và hướng đối tượng
Phương pháp Thiết kế theo hướng cấu trúc Thiết kế theo hướng đối tượng
cấu trúc thiết kế theo hướng phân chia chương trình thành nhiều chương trình con hướng tới thực hiện một công việc xác định (phân rã chương trình theo các chức năng cần đáp ứng và
dữ liệu cho các chức năng đó)
- Cách thực hiện theo hướng từ cao đến thấp Phương pháp này tiến hành phân tách các vấn đề
- Phương pháp lập trình theo hướng đối tượng thiết kế theo hướng phản ánh chân thực từng vấn đề trong hệ thống theo các yêu cầu thực tế Với cách tiếp cận này, một hệ thống được phân chia thành các phần nhỏ gọi là các đối tượng Mỗi đối tượng bao gồm đầy đủ cả dữ liệu và chức năng liên quan đến đối tượng đó Các đối tượng trong hệ thống độc lập với nhau và phần mềm được xây dựng bằng cách kết hợp các đối tượng đó lại thông qua các mối liên hệ và tương quan giữa chúng
- Phương pháp này được tiến hành từ thấp lên cao, bắt đầu từ những thuộc tính cụ thể của từng
Trang 16GVHD: TS Trương Đình Châu
HVTH: Phạm Tấn Phát
từ lớn thành những vấn đề nhỏ hơn cho đến khi giải quyết được vấn đề
đối tượng, sau đó tiến hành trừu tượng hóa thành các lớp của đối tượng
ràng
- Chương trình rõ ràng, dễ hiểu
- Phân tích được đầy đủ các chức năng của hệ thống
- Dễ dàng, thuận lợi trong việc quản lý dữ liệu
tính kế thừa Các phương trình, giải thuật hướng cấu trúc phụ thuộc chặt chẽ vào cấu trúc dữ liệu và bài toán cụ thể, do đó không thể dùng lại các module nào của phần mềm này cho phần mềm khác với các yêu cầu kỹ thuật khác
- Không phù hợp cho phát triển các phần mềm lớn
- Khó khăn trong việc quản lý mối quan hệ giữa các module
và dễ gây ra lỗi trong phân tích cũng như trong kiểm tra và bảo trì hệ thống
- Phương pháp này khá phức tạp, khó theo dõi và quản lý dữ liệu ở đầu vào
Lĩnh vực áp - Phương pháp này thường phù - Phương pháp này thường được
Trang 17GVHD: TS Trương Đình Châu
HVTH: Phạm Tấn Phát
luồng dữ liệu rõ ràng Người lập trình cần có tư duy phân tích và quản lý được các dữ liệu truy cập của hệ thống
áp dụng cho các bài toán lớn, phức tạp, hoặc có nhiều luồn dữ liệu khác nhau mà phương pháp hướng cấu trúc không quản lý được Khi đó phương pháp hướng đối tượng được sử dụng Trên thực tế đề tài điều khiển dự phòng bằng phần mềm không phải là
đề tài mới Trước đó đã có một số đề tài nghiên cứu về giải pháp điều khiền dự phòng bằng phần mềm Tuy nhiên qua khảo sát có thể thấy phần lớn các đề tài đều mới tập trung vào nguyên lý dự phòng và sử dụng phương pháp hướng cấu trúc trong thực hiện các ứng dụng kiểm chứng dãy thuật dự phòng
Qua phân tích ở trên ta thấy phướng pháp thiết kế theo hướng cấu trúc rất khó để ứng dụng đề tài vào thực tế vì nó yêu cầu người kỹ sư thiết kế cũng phải nắm vững về nguyên lý, dãy thuật của hệ thống điều khiển dự phòng Cũng như khó phát triển ứng dụng lớn Từ đó luận văn đi sâu vào việc xây dựng ứng dụng, thiết kế theo hướng đối tượng, với mục đích đơn giản hóa quá trình thiết
kế, đưa đề tài nghiên cứu vào thực tiễn quá thiết kế hệ thống một cách dễ dàng
Trang 18và toàn diện
Ứng dụng: Sử dụng trong công nghiệp và dân dụng như hệ thống băng tải, hệ thống đèn chiếu sáng, điều khiển bơm cao áp, máy đóng gói, máy in, máy dệt, máy trộn, …
Hình 2.1 Bộ điều khiển S7-1200 2.1.2 S7 Communication protocol
Cho phép trao đổi dữ liệu giữa các PLC của dòng S7 1200 thông qua 2 hàm truyền thông chính là PUT và GET S7 communication protocol là giao thức truyền thông được sử dụng trong đề tài, đây là giao thức được phát triển bởi Siemens, dùng để giao tiếp giữa các PLC S7 1200 Điều quan trọng nhất là giao thức này truyền thông trên nền Ethernet nên bản chất cấu trúc của nó là
Trang 19GVHD: TS Trương Đình Châu
HVTH: Phạm Tấn Phát
Client - Server Vì cấu trúc này mà chúng ta dễ dàng thực hiện việc trao đổi dữ liệu giữa các phần tử với nhau Với cấu trúc này, Primary PLC cũng như Standby PLC có thể vừa là Client, vừa là Server Do đó Primary PLC có thể yêu cầu đọc hoặc ghi dữ liệu từ Standby PLC cũng như Standby PLC có thể yêu cầu đọc hoặc ghi dữ liệu từ Primary PLC Chính vì lý do này mà giúp người lập trình rất thuận tiện trong việc lựa chọn giải pháp đồng bộ dữ liệu giữa Primary PLC
và Standby PLC
Hình 2.2 Cấu trúc Client – Server khi sử dụng PUT/GET 2.2 Xây dựng giải thuật dự phòng ở cấp điều khiển
2.2.1 Hệ thống phần cứng có cấu trúc như sau:
Hai PLC S7-1200 đóng vai trò là thiết bị điều khiển trong đó một Primary PLC và một PLC là Standby PLC PLC S7-1200 còn lại đóng vai trò là remote I/O Khi hệ thống làm việc bình thường Cả Primary PLC và Standby PLC
sẽ thực hiện đọc tín hiệu cảm biến qua remote I/O Primary PLC sẽ thực hiện chương trình ứng dụng, đồng bộ dữ liệu theo chu kỳ cho Standby PLC và xuất tín hiệu điều khiển cho remote I/O Standby PLC trong chế độ làm việc bình thường sau khi đọc tín hiệu cảm biến từ remote I/O sẽ kiểm tra trạng thái làm
Trang 20GVHD: TS Trương Đình Châu
HVTH: Phạm Tấn Phát
việc của PLC Primary, đồng thời nhận tín hiệu dữ liệu đồng bộ từ PLC Primary Khi PLC Primary bị sự cố thì PLC Stanby sẽ đảm nhận vai trò điều khiển của PLC Primary, sau khi đã khắc phục xong sự cố thì PLC Primary sẽ đảm nhận trở lại vai trò điều khiển và PLC Standby sẽ tiếp tục đóng vai trò dự phòng
Hình 2.3 Cấu trúc phần cứng hệ thống redundancy
Trang 21Điều kiện SwitchOver: Phát hiện khi có sự cố xảy ra đối với Primary controller, Standby controller sẽ nhảy vào thay thế Vấn đề đặt ra:
Kiểm tra khi nào thì xảy ra điều kiện SwitchOver?
Vấn đề đồng bộ hóa dữ liệu giữa 2 PLC Primary và Secondary Sau mỗi chu kỳ quét của PLC Primary thì PLC Primary sẽ thực hiện việc chuyển dữ liệu cho PLC Standby
Vai trò của Primary PLC:
Primary PLC mang đầy đủ các chức năng như khi nó đứng một mình trong hệ thống Standalone (single controller) Điều này có nghĩa là khi Primary PLC hoạt động bình thường nó sẽ thực hiện điều khiển các thiết bị cấp trường, các module Ethernet…vv
Ngoài ra Primary PLC còn có nhiệm vụ liên tục kết nối tới Standby PLC để truyền dữ liệu đảm bảo cho Standby PLC luôn cập nhật đầy đủ và đảm bảo tính dự phòng trong trường hợp Primary PLC bị lỗi và không thể điều khiển được thiết bị
Khi Primary PLC khắc phục sự cố trở lại điều khiển nó sẽ trở lại điều khiển hệ thống
Vai trò của Standby PLC:
Standby PLC sẽ liên tục cập nhật dữ liệu từ cảm biến qua remote I/O, trạng thái và dữ liệu đồng bộ từ Primary PLC và sẵn sàng trở thành Primary PLC nếu có sự cố xảy ra đối với Primary PLC Lúc này Standby PLC trở thành Primary PLC
Khi Primary PLC được khắc phục xong, nó sẽ trở lại chế độ Standby
Trang 22GVHD: TS Trương Đình Châu
HVTH: Phạm Tấn Phát
Hình 2.4 Hoạt động của hệ thống khi Primary PLC bình thường
Trang 23GVHD: TS Trương Đình Châu
HVTH: Phạm Tấn Phát
Hình 2.5 Hoạt động của hệ thống khi Primary PLC bị lỗi
Hình 2.6 Hoạt động của hệ thống khi Primary PLC phục hồi
Để 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 PLC S7-1200 của hãng Siemens và phần mềm lập
Trang 24GVHD: TS Trương Đình Châu
HVTH: Phạm Tấn Phát
trình TIA Portal V14 nên cấu trúc chương trình cho hai PLC đều được xây dựng
trên phần mềm này Nguyên lý dự phòng bằng phần mềm như sau:
Hình 2.7 Nguyên lý dự phòng bằng phần mềm 2.3 Kiểm tra trạng thái hoạt động của PLC Primary
Kiểm tra điều kiện Switch over
Trong hệ thống dự phòng bằng phần mềm, việc phát hiện được điều kiện
switch over là rất quan trọng Mỗi khi Primary PLC gặp sự cố thì Primary không
thể thông báo cho Standby PLC biết rằng Primary PLC bị lỗi và không thể điều
khiển các thiết bị cấp trường Do đó Standby PLC phải thường xuyên cập nhật
trạng thái của Primary PLC thông qua kiểm tra truyền thông và kỹ thuật nhịp
tim (heatbeat) Trong đó kỹ thuật Heatbeat để biết được CPU của Primary có bị
Trang 26GVHD: TS Trương Đình Châu
HVTH: Phạm Tấn Phát
Hình 2.9 Giải thuật heartbeat
Trang 27GVHD: TS Trương Đình Châu
HVTH: Phạm Tấn Phát
Đây là giải thuật đơn giản nhưng hiệu quả để xác định CPU của Primary
có hoạt động tốt hay không Ngoài ra có một trường hợp nữa không nằm trong giả thuyết này ví dụ như trường hợp muốn tạm thời dừng chương trình của Primary PLC để sửa chữa,… Khi đó chuyển Primary PLC sang chế độ Stop mode
do đó khi standby PLC thấy được Primary không điều khiển được hệ thống nên stanby PLC sẽ đảm nhận quyền điều khiển cho đến khi nâng cấp chương trình cho Primary xong thì Primary PLC được chuyển sang Run mode thì lúc đó Primary sẽ thông báo cho standby PLC biết rằng Primary PLC đã trở lại điều khiển hệ thống và do đó Standby PLC chuyển về lại chế độ Standby mode Nhờ vậy mà thời gian chỉnh sửa, nâng cấp cho Primary PLC thì hệ thống vẫn tạm thời hoạt động liên tục, qua đó nâng cao sản xuất
Trang 29GVHD: TS Trương Đình Châu
HVTH: Phạm Tấn Phát
Trường hợp 1: Module truyền thông của Primary PLC bị lỗi
Hình 2.11 Module truyền thông của Primary PLC bị lỗi
Trường hợp 2: Ethernet cabble nối giữa node1 đến module ETY Thông thường hiện tượng này xảy ra do tiếp xúc giữa đầu cable RJ45 và Hub tại node
1 hoặc tại giữa đầu RJ45 và đầu Ethernet của PLC không tốt
Trang 30GVHD: TS Trương Đình Châu
HVTH: Phạm Tấn Phát
Hình 2.12 Ethernet cable của Primary PLC bị lỗi
Trang 31Note: when Primary PLC is erro, Standby
PLC will become Primary PLC
Trang 32+ 𝑆0) 𝑇𝑖𝑚𝑒𝑟3) 𝑆𝑇4 𝑆0𝑇𝚤𝑚𝑒𝑟5 𝑆𝑇4 𝑆0 𝑆1 𝑇𝚤𝑚𝑒𝑟4 𝑆𝑇5 ≔ (𝑆𝑇5 + 𝑆𝑇3 𝑇𝑖𝑚𝑒𝑟2) 𝑆𝑇5 𝑆0 𝑇𝚤𝑚𝑒𝑟3
Trang 33+ 𝑆𝑇5 𝑆0 𝑇𝑖𝑚𝑒𝑟3) 𝑆𝑇4 𝑆0𝑇𝚤𝑚𝑒𝑟5 𝑆𝑇4 𝑆0 𝑆1 𝑇𝚤𝑚𝑒𝑟4 𝑆𝑇5 ≔ (𝑆𝑇5 + 𝑆𝑇3 𝑇𝑖𝑚𝑒𝑟2) 𝑆𝑇5 𝑆0 𝑇𝚤𝑚𝑒𝑟3
Hình 2.15 Giải thuật Switch over cho CPU Master
Trang 34GVHD: TS Trương Đình Châu
HVTH: Phạm Tấn Phát
2.4 Đồng bộ dữ liệu giữa Primary và Standby PLC
2.4.1 Dãy thuật update dữ liệu
Đối với giải pháp PLC Redundancy 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 Đố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 mỗi loại PLC, tùy mỗi giao thức truyền thông thì có mỗi hàm truyền thông riêng biệt Hình bên dưới thể hiện cấu trúc chương trình trong Primary và Standby PLC
Hình 2.16 Cấu trúc trong đồng bộ dữ liệu
Trang 35GVHD: TS Trương Đình Châu
HVTH: Phạm Tấn Phát
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, 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 TIA Portal và Function Block Diagram xây dựng
Dãy thuật Update dữ liệu khi Standby PLC chuyển trạng thái
Hình 2.17 Dãy thuật Update dữ liệu Chương trình cập nhật dữ liệu
Trang 36GVHD: TS Trương Đình Châu
HVTH: Phạm Tấn Phát
2.4.2 Đồng bộ Timer
Timer hoạt động dựa trên phần cứng, giá trị ET (External Timer) chỉ đọc
mà không thể ghi được
Giả sử ta có Primary PLC đang chạy chương trình ứng dụng và có một Timer có giá trị như sau: PT (20s), ET (8s300ms) Vấn đề đặt ra là nếu Primary PLC bị lỗ thì sau khi nhận quyền điều khiển, một timer tương ứng trong chương trình ứng dụng của Standby PLC phải tiếp tục chương trình tại thời điểm xảy ra lỗi ở Primary, có nghĩa là giá trị ET của timer này cũng bắt đầu từ 8s300ms và tiếp tục đếm lên nếu điều kiện ngõ vào IN còn cho phép Đây là yêu cầu bắt buộc nếu một hệ thống được gọi là redundancy Tuy nhiên thục tế thì khó để đáp ứng một cách hoàn toàn chính xác vấn đề trên Do đó tiêu chuẩn đặt
ra ở đây là sai số cho phép khoảng 100 đến 200ms Đa số các hệ thống trong công nghiệp không yêu cầu khắc khe về thời gian thì sai số này hoàn toàn có thể chấp nhận được
Đối với PT (Preset Value) thì hoàn toàn có thể update giá trị PT của timer bằng cách gán PT của Standby PLC bằng giá trị PT của Primary PLC Tuy nhiên đối với giá trị ET thì PLC không cho phép điều này
Hình 2.18 Timer-ON Redundancy