Automated Software Deployment for Electromechanical Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional machine controller systems face challenges in updating programming logic due to vendor-specific integrated development environments (IDEs) and the need for specialized technicians, leading to inefficiencies and costs, especially in volatile environments where interruptions can be dangerous or costly.
Innovation Solution
Implementing an automatic update feature that uses a server computer to distribute updates by overwriting the last known good configuration with new code, leveraging a boot-loader executable to receive and compile binary files over a network, ensuring security and reliability through unique identification verification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional machine controller systems use vendor-specific IDEs for updating programming logic, then system stability is maintained, but update efficiency and cost-effectiveness deteriorate due to requiring specialized technicians and individual machine updates
Solution Approach 1:
A server computer acts as an intermediary between the technician and multiple machine controllers. The server receives programming logic updates, stores them, and automatically distributes them to targeted machine controllers, eliminating the need for technicians to manually update each machine individually while maintaining system stability through controlled update distribution
Solution Approach 2:
The server creates and manages copies of programming logic updates for distribution to multiple machine controllers. Instead of requiring technicians to program each machine separately, the system creates a master update copy that can be replicated and distributed to numerous controllers simultaneously, dramatically improving update efficiency
2Manufacturing precision
If machine controller systems are updated individually by specialized technicians, then update accuracy is maintained, but time consumption and operational downtime increase
Solution Approach 1:
The server performs preliminary actions by pre-processing, validating, and preparing programming logic updates before distribution. The system compiles, checks for errors, and organizes update packages in advance, ensuring update accuracy is maintained while reducing the time technicians need to spend on each individual machine during the actual update process
Solution Approach 2:
Machine controllers are enabled to self-update by receiving and installing programming logic updates from the server automatically. This self-service capability eliminates the need for technicians to manually program each controller, significantly reducing update time while maintaining accuracy through the server's pre-validation process
3Reliability
If machine controller systems require specialized technicians for updates, then update reliability is maintained, but operational costs and complexity increase
Solution Approach 1:
The server acts as an intelligent intermediary that handles the complexity of update distribution, validation, and management. It automatically matches updates to appropriate machine controllers, manages update schedules, and monitors installation status, thereby reducing the complexity burden on technicians while maintaining update reliability through centralized control
Solution Approach 2:
The server provides universal functionality by serving multiple machine controllers with a single update operation. It can simultaneously manage updates for different controller models, store multiple versions of programming logic, and provide various update modes (automatic, manual, scheduled), reducing overall system complexity while maintaining reliability through standardized update procedures
Data Source
AI summary
Techniques for distributing updated executable instructions for machine controller systems may be described herein. For example, a machine controller system may initiate or execute into a boot-loader environment, in response to a first boot cycle, that is configured to communicate with a server computer and receive one or more portions of code. The one or more portions of code may be received and compiled into executable instructions which may be updated executable instructions for the machine controller system. The updated executable instructions may be stored in the external memory of the machine controller system thereby overwriting any previously stored executable instructions. A pointer file of the external memory may be updated to re-direct to the updated executable instructions which may be applied to the machine controller system in response to a second boot cycle of the machine controller system.


