Jul 24, 2015
Engineering On The Cutting Edge
Engineering recently completed a successful R&D project with one of our largest aerospace clients. The project was an important step forward for our client in the development of their next generation manufacturing system. This new breed of autonomous Manufacturing Execution System will allow them to maintain their edge in today’s highly competitive economy.
In order to realize the possibilities of improved productivity and cost savings that these types of systems can offer, Engineering was commissioned to design and develop a prototype to prove the viability of the technology. The software solution is a combination of off-the-shelf software (Siemens Opcenter Execution (SIMATIC IT)) and custom applications. Integrating the various software systems presented enormous challenges. Unifying components, which range from legacy systems to newly developed applications, into a cohesive system was not an easy task. The complex nature of the project and our client’s manufacturing process presented an immensely difficult challenge that would take detailed planning, teamwork and technical expertise to overcome.
The following article describes the project in more detail, and outlines the system requirements, as well as some of the challenges that we faced during the design and development.
System Requirements
The vision for this project was to determine the feasibility of a work cell automation system that would require almost no human intervention to function. The system should be fully automated, and be able to recover from errors that occur in the course of the manufacturing process. The system should also be adaptable, with the ability to incorporate new types of equipment and new tasks with very little effort and technical knowledge by system administrators and engineers. Large amounts of data are captured throughout the process by the equipment, and the system would have to be able to retrieve and store this data both for real-time updates and historical data analysis.
The following list outlines a few of the high-level tasks that the system will be performing in order to accomplish the stated requirements:
- Equipment task planning and dispatching
- Real-time equipment status updates
- Real-time equipment state monitoring
- High-volume data collection
- Historical data storage and analysis
- Integration with third party software applications
Development Challenges
A project of this scale and scope presents numerous design, technology and management challenges that have to be overcome in order to be successful. The system needed to be designed in such a way that it would be completely automated, yet safe and reliable. Engineers in the factory would need a way of designing and controlling the production process that is straightforward and non-technical. Supervisors, on the other hand, would need a way of monitoring the process in real time. Safety protocols would also need to be defined and implemented to ensure no damage was done to people or equipment.
Individual components of the system would be developed by five geographically diverse Engineering teams. Making sure everyone was aligned and understood how the system would work as a whole was vital to the success of the project.
In order to overcome these and other challenges, we adopted a development methodology and chose a system architecture that would help the team cope with rapidly changing requirements and extreme technical complexity. We also fostered an environment that supported close collaboration within our team and with our clients.
Our Methodology
As the development progresses, system requirements in research projects can change at a moment’s notice. In order to handle changes as effectively as possible, and to ensure the best possible result, our team adopted an agile development approach. Agile is an iterative flexible approach to software and systems development that allows for changes in the design and the addition of new features as development progresses and requirements change. This happened to align closely with how our client worked; as a result, we were able to develop features quickly in “sprints,” or fixed periods of time in which new features are completed.
For the application development, we utilized standard development workflows and practiced modern object-oriented software design principles. Using a modern development approach was a key factor in the success of the entire project, helping to meet tight deadlines for new features.
Architectural Design
The system is comprised of numerous sub-systems spanning multiple tiers, from Programmable Logic Controllers (PLCs) on the factory floor to higher level systems responsible for executing task management, data analysis, and the display of real-time status updates from the equipment. Communication between equipment and the application server is facilitated through a custom protocol designed to be flexible enough to work with nearly any type of PLC. On the application layer, we went with a modular design approach that would complement our development philosophy. This enabled us to add new testable features quickly when requirements changed.
The main interaction from users is through a web application which allows operators to start tasks and view the status of equipment throughout the factory. The web interface takes full advantage of the latest HTML 5 features supported by the web browsers. This allows for the dynamic display of real-time data being collected by equipment, as well as the status of the equipment and work cells on the factory floor.