PLC Process Data Logging With Thread Pools and Hash-Based Tagging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing logging techniques for PLC-controlled equipment are inefficient and resource-intensive, often resulting in incomplete data capture and significant jitter in complex systems with multiple parallel functions, making it difficult to maintain performance, commission, and troubleshoot these systems.
Innovation Solution
A method that assigns process values from PLC application code tasks with different execution rates to threads in a thread pool, using a hash function to arrange tag and process values in data tables, allowing for parallel and efficient logging of process data across various execution rates and domains.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If manual logging solutions are used to capture process data, then data capture completeness is improved, but resource consumption increases unreasonably
Solution Approach 1:
The logging system is segmented into multiple worker threads that process different tasks in parallel. Each worker thread handles specific process data collection and logging independently, allowing the system to capture comprehensive data from multiple PLC tasks simultaneously while distributing computational load efficiently across available resources.
Solution Approach 2:
The logging solution implements a universal thread pool that can handle multiple different PLC tasks with varying execution rates through a common infrastructure. The system uses a single logging mechanism that adapts to different task types and data formats, eliminating the need for separate custom logging implementations for each task while maintaining comprehensive data capture.
2Extent of automation
If stand-alone logging solutions are implemented to automate the logging process, then automation level is improved, but device complexity increases
Solution Approach 1:
The logging functionality is merged with the existing PLC control system infrastructure rather than implementing a separate stand-alone solution. The logging system integrates directly with the PLC task structure and utilizes the existing control architecture, eliminating the need for complex custom implementation while maintaining full automation of the logging process.
Solution Approach 2:
The logging system is designed to be self-configuring and self-managing within the PLC environment. It automatically adapts to the PLC task structure and execution rates without requiring extensive manual customization, reducing implementation complexity while maintaining high automation levels.
3Adaptability or versatility
If existing logging techniques are used in complex systems with multiple parallel functions, then system compatibility is improved, but measurement precision deteriorates due to significant jitter
Solution Approach 1:
The logging system dynamically adapts to different PLC task execution rates by using a thread pool where each worker thread can process data at the appropriate rate for its assigned task. This dynamic approach allows the system to maintain precise timing and reduce jitter for tasks with different execution frequencies while remaining compatible with various PLC configurations.
Solution Approach 2:
The thread pool acts as an intermediary layer between the PLC tasks and the logging mechanism. This intermediary absorbs timing variations and execution rate differences, providing a stable logging interface that reduces jitter while maintaining compatibility with multiple parallel PLC functions operating at different rates.
4Loss of information
If comprehensive process data logging is implemented to retrieve complete machine-DNA, then information completeness is improved, but productivity decreases due to resource intensive processing
Solution Approach 1:
The logging system segments data processing across multiple worker threads that operate in parallel, allowing comprehensive data capture from all PLC tasks to occur simultaneously rather than sequentially. This segmentation enables complete process data logging while maintaining high productivity through efficient parallel processing of tag values and process data.
Data Source
AI summary
A method of logging process data in a PLC controlled equipment is disclosed. Sections of a PLC application code comprise tasks configured to execute program functions at specific execution rates. Each of the tasks comprise program functions having dedicated memory areas assigned as tags, and each data entry of the process data comprises a tag value and an associated process value. The method comprises receiving process data from the PLC application code, assigning process values to threads of a thread pool, and receiving, for each of the threads, in a respective data table associated with each of the threads, the tag- and process values of the received process data, and determining a hash code for each of the tags according to a hash function of the respective data table for arranging the tag values and the associated process values in the respective data table according to said hash code.


