Industrial Controller I/O State Logging for Intermittent Error Diagnosis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional industrial control systems face challenges in diagnosing and debugging complex industrial processes due to the difficulty in capturing and analyzing large amounts of I/O data, especially when errors are intermittent and hard to reproduce, and existing HMI tools can only process real-time values, making it difficult to identify issues with actual processes deviating from idealized models.
Innovation Solution
A log of I/O state data is saved with timestamps, addresses of controller program instructions, and values of changed I/O data, allowing for efficient diagnostics by saving only changed data and enabling playback in both forward and reverse directions, triggered by operational errors or manual inputs, which reduces memory usage and review time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If all I/O data is captured and stored for diagnostics, then diagnostic completeness is improved, but data storage requirements and system bandwidth increase significantly
Solution Approach 1:
The patent extracts only the essential diagnostic information (state changes) from the complete I/O data stream, storing only when transitions occur rather than continuously logging all data points. This selective extraction reduces storage requirements while maintaining diagnostic completeness for troubleshooting.
Solution Approach 2:
The system performs partial logging by capturing only state changes rather than all I/O data points. This partial action approach provides sufficient diagnostic information for intermittent errors without the excessive data volume of complete continuous logging.
2Measurement precision
If high resolution data samples are collected with high precision, then measurement accuracy is improved, but data acquisition bandwidth requirements increase
Solution Approach 1:
Instead of continuous high-resolution sampling, the system uses event-driven periodic action where data is captured only when state changes occur. This maintains measurement precision for critical transitions while dramatically reducing the average bandwidth requirements for data acquisition.
3Loss of information
If detailed I/O state data is logged for analysis, then diagnostic capability is improved, but memory usage increases
Solution Approach 1:
The system extracts only the essential diagnostic elements (state changes with timestamps and addresses) from complete I/O data, storing minimal information necessary for diagnostics. This reduces memory usage while preserving the ability to analyze intermittent errors and operational issues.
4Reliability
If continuous monitoring of all I/O data is performed, then real-time diagnostic capability is improved, but system complexity increases
Solution Approach 1:
The controller processor automatically detects and logs state changes without requiring complex external monitoring systems. This self-service approach maintains reliable diagnostic capability while reducing system complexity by eliminating the need for separate continuous monitoring infrastructure.
Data Source
AI summary
An industrial controller module (13a) is provided with a routine of program instructions (29a) for storing a log of I/O table state changes (31) in a defined portion of memory (23). Upon the occurrence of a trigger event, a file of the state changes (37) is saved in the memory (23). Each entry (32) in the log of I/O table state changes (31) includes a timestamp (33) and values of each word of I/O state data (36) that changed at a time of the timestamp. Logs of state change data (16a), including timestamp data can also be saved for intelligent sensors and actuators (16) and uploaded with the log of controller processor state data (31) to a computer (20) with a diagnostic program (21a) for playing back the state changes and synchronizing changes of the intelligent sensors and actuators (16) with changes of the controller processor module (13a).


