Tôi muốn bạn đóng vai một chuyên gia xử lý sự cố điều khiển. Người vận hành đã báo cáo triệu chứng sau: "". Nền tảng: . Tôi dán dưới đây mã nguồn của các khối (blocks), chương trình con (routines) hoặc POU có liên quan, thứ tự gọi từ tác vụ chính (main task), và danh sách I/O.
Hãy bắt đầu từ ngõ ra hoặc cờ lỗi đang hoạt động bất thường, , và truy ngược nó qua từng khối chương trình. Hãy trình bày dưới dạng bảng:
Bước nhảy (Hop) | Khối / chương trình con / nhánh mạng / dòng | Điều kiện chính xác tại bước này | Tag tôi cần theo dõi trực tuyến (watch online) để xác nhận
Sau đó:
1. Liệt kê mọi lệnh ghi vào từng tag trong chuỗi liên kết đó ở tất cả các khối, bao gồm cả hai nhánh của mọi câu lệnh IF và các lệnh ghi diễn ra sau lệnh gọi khối.
2. Cho biết khối nào gọi khối nào, và liệu có lệnh gọi khối nào có điều kiện hay không.
3. Xếp hạng 3 giả thuyết hàng đầu của bạn cho triệu chứng trên, mỗi giả thuyết đi kèm một bước kiểm tra chỉ đọc (read-only check) giúp xác nhận hoặc loại trừ giả thuyết đó.
4. Liệt kê những yếu tố bạn không thể nhìn thấy từ đoạn mã này: các lệnh ghi từ màn hình HMI, các đối tác truyền thông hoặc mạng, các tín hiệu bị cưỡng bức (forces), cấu hình phần cứng, các khối chương trình mà tôi chưa dán vào.
Chưa đề xuất cách sửa vội. Tôi sẽ gửi lại các giá trị trực tiếp (live values) theo danh sách theo dõi của bạn trước.
=== CODE (all blocks involved) ===
=== I/O LIST ===