Automation Control Program Debugging Without Recompilation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional debugging processes for control programs in automation systems fail to effectively execute debugging when the source code version differs from the translated machine code, necessitating recompilation each time the source code is modified.
Innovation Solution
A method involving the generation of source code identities for both the first and second source code versions, along with a machine code source code relation, to establish line-by-line correlations, allowing debugging on the machine code without recompilation, even when source code changes occur.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the source code version is changed to improve functionality, then the control program can be enhanced, but the debugging process must be restarted by recompiling the machine code
Solution Approach 1:
The patent segments the mapping relationship between source code and machine code into version-specific mappings. Each source code version maintains its own mapping relationship with the machine code, allowing independent debugging without requiring recompilation. The development system stores multiple version mappings (first mapping relationship, second mapping relationship) that correspond to different source code versions, enabling selective activation based on the current debugging needs.
Solution Approach 2:
The patent performs preliminary actions by pre-establishing mapping relationships between different source code versions and the machine code before debugging begins. The development system compiles the source code to generate machine code and creates version mappings in advance. When debugging, the appropriate version mapping is selected and activated, allowing immediate debugging without recompilation. This preliminary preparation eliminates the need for repeated compilation cycles.
2Reliability
If the source code is modified to fix errors or improve functionality, then the control program performance is improved, but the mapping relationship between source code and machine code becomes invalid
Solution Approach 1:
The patent implements dynamic version mapping management where the mapping relationship between source code and machine code adapts to different versions. The development system dynamically selects and activates the appropriate version mapping based on the current source code version being debugged. When a new source code version is introduced, the system generates a new version mapping that reflects the current mapping relationship, allowing flexible adaptation without manual reconfiguration.
Solution Approach 2:
The patent uses copying by creating version mappings that replicate the structure and relationships of the original source code-mach ine code mapping. Each version mapping is a copy adapted to specific version characteristics, preserving the essential mapping logic while accommodating version-specific changes. This allows the system to maintain multiple valid mappings without duplicating the entire compilation process.
3Ease of operation
If standard debugging tools are used to examine control program functionality, then basic debugging functions are provided, but they cannot handle cases where source code differs from the compiled machine code
Solution Approach 1:
The patent implements universal debugging capability by integrating version mapping management directly into the development system. The development system performs multiple functions: compiling source code to machine code, generating version mappings, selecting appropriate mappings, and enabling debugging. This multi-functional integration allows the same development system to handle both standard debugging scenarios and version-mismatch scenarios without requiring separate tools or processes.
Solution Approach 2:
The patent introduces version mappings as an intermediary layer between the source code and machine code. This intermediary contains the mapping relationships that bridge different source code versions with the compiled machine code. The development system uses this intermediary to translate debugging requests from the current source code version to the corresponding machine code instructions, enabling successful debugging even when the source code has changed since compilation.
Data Source
AI summary
A method for executing a debugging process of a control program of an automation system includes receiving a first machine code source code relation and a first source code identity, by a development system for executing the debugging process, in a receiving step; comparing the first source code identity with a second source code identity of a second source code version executed on the development system, in a source code comparing step; generating a version identity based on the comparison of the source code identities, in an identity generating step; determining a second machine code source code relation based on the first machine code source code relation and the version identity, in a relation determining step; and executing the debugging process of the machine code stored on the controller based on the second source code version, using the second machine code source code relation, in a debugging step.


