Khi hai chỗ trong chương trình cùng ghi một ngõ ra
Sản phẩm mang mã 6ES7522-1BL01-0AB0 là module ngõ ra số SM 522 với ba mươi hai điểm, thuộc dòng SIMATIC S7-1500 của Siemens.
Đây là một trong những lỗi khó tìm nhất trong lập trình điều khiển: cùng một ngõ ra được ghi ở hai chỗ khác nhau trong chương trình, và hai chỗ đó mâu thuẫn với nhau.
Vì sao nó khó phát hiện
Vì chương trình chạy tuần tự, giá trị cuối cùng ghi được là giá trị thắng. Chỗ ghi trước bị chỗ ghi sau đè lên mà không có cảnh báo nào.
Kết quả là thiết bị hành xử theo một trong hai đoạn logic, tùy thứ tự thực hiện, và người đọc chương trình ở đoạn đầu tiên sẽ không hiểu vì sao thực tế khác với những gì mình đọc.
Tình huống còn khó hơn khi hai chỗ ghi nằm trong hai khối chạy ở hai mức ưu tiên khác nhau, vì khi đó kết quả thay đổi theo thời điểm.
Nó xảy ra thế nào
Nguyên nhân phổ biến nhất là chương trình được nhiều người sửa qua nhiều năm. Người sau thêm một chức năng và ghi vào ngõ ra mà không biết chỗ khác đã ghi rồi.
Nguyên nhân thứ hai là chế độ vận hành bằng tay được viết thành một khối riêng, ghi trực tiếp vào ngõ ra thay vì đi qua cùng một điểm với chế độ tự động.
Ba cách phòng ngừa
Cách thứ nhất là quy tắc mỗi ngõ ra chỉ được ghi ở đúng một chỗ trong toàn chương trình. Mọi chế độ và mọi chức năng đều đưa yêu cầu của mình về điểm đó, và điểm đó quyết định.
Cách thứ hai là dùng công cụ tham chiếu chéo của phần mềm lập trình để rà soát, việc này chỉ mất vài phút và nên làm trước mỗi lần bàn giao.
Cách thứ ba là đặt tên và tổ chức khối sao cho phần ghi ngõ ra tập trung ở một nhóm khối duy nhất, dễ kiểm soát.
Rà soát cho hệ thống đang chạy
Với chương trình đã tồn tại nhiều năm, nên chạy tham chiếu chéo một lần cho toàn bộ ngõ ra và xem xét mọi trường hợp có nhiều hơn một điểm ghi. Kết quả thường phát hiện vài chỗ, và trong đó ít nhất một chỗ là nguyên nhân của một hiện tượng lạ mà nhà máy đã sống chung nhiều năm.
Điều kiện cung cấp
Sản phẩm mới 100 phần trăm, bảo hành theo chính sách chính hãng, xuất hóa đơn VAT và cung cấp CO/CQ khi hồ sơ yêu cầu. Anh chị mô tả hiện trạng để nhân viên tư vấn hỗ trợ. Dự án xin gửi qua Vietautomation.com.










