Improve the quality of software while cutting costs and reducing the time spent on engineering – these should be the explicit goals for industrial production. But that’s easier said than done. In this blog I’d like to give you some insight into how these objectives can be achieved using the process of Continuous Integration and encourage you to think about your existing software development and engineering processes.
Continuous Integration is already widely used as a work method in IT, and it plays a major part in app development, among other things. The process helps optimize software development and simultaneously improve the quality of the results: all benefits that are also desirable in an automation environment. That’s why I believe that Continuous Integration offers huge potential for engineering in automation projects. Let me explain briefly what’s behind this work method.
Agile development in automation
Continuous Integration takes the place of traditional approaches in software development and focuses on agile, interdisciplinary teamwork. It can also be used in the TIA Portal for engineering automation projects, where it offers multiple benefits. Even within a single project, teamwork isn’t often confined to a single office these days, and it may sometimes involve separate locations and even multiple countries. In many cases, this can impede the collective software development process, and it also brings with it a high risk of error. But now, thanks to Continuous Integration, several programmers can work as a team on a TIA Portal project, with each developer working on an assigned software module based on a standardized programming guide. What makes this possible is the TIA Portal Project Server and the TIA Portal Mulituser function, both of which offer many benefits to small automation teams and can be used across the entire company.
Once developers have completed a module, they check it off in a version management system with integrated TIA Portal libraries. This system is used to record changes to software objects and documentation throughout the entire machine lifecycle. It also makes any changes and the current software module status transparent, while allowing users to work on several project branches simultaneously. The new software module is then compiled with the existing modules, and an automated test routine – enabled by using TIA Portal Openness – is initiated. In short: Continuous Integration lets developers integrate their changes into the shared source code base as often as necessary and then automatically generate and test them.
Functional testing before new software module is released
The subsequent functional tests involve testing the actual functionality of the software module and ensuring that the specified style guides have been followed. Using PLCSIM Advanced, the digital twin of the Simatic S7-1500 controller, many different use cases can be simulated during the functional tests, with no need to have the real hardware at the workstation. The TIA Portal Test Suite can also be used to create and run test cases on the relevant application. The test results are then fed back to the programmer in the form of a report. If the newly developed module passes this functional test, all the other configuring engineers will be advised accordingly in a subsequent stage. At that point there’ll be a new version for them to start working on. If the module fails the test, the programmer can make corrections and then the test process starts over.
Clear benefits for software development
As mentioned above, the process of Continuous Integration is already a standard method in IT to efficiently develop new, better-quality software. Now I think it’s time for this process to become more widespread in automation.
The arguments in favor of Continuous Integration are obvious:
- Faster development: Automated workflows ensure consistency and reduce engineering time and costs.
- Reduced risk of error: The continuous cycle of rapid changes and automated functional tests reduces the risk of error and improves software quality.
- Transparent processes: The version management system ensures that changes made by all developers working on the project are transparent and that all workflows are clear. That’s the only way for teamwork to function across multiple locations.
To go back to the beginning: Thanks to Continuous Integration, it isn’t hard to improve the quality of a software product and reduce both the costs incurred and the time spent. Of course, it takes a little time to put this working method in place – but with TIA Portal, you have a solid foundation and access to assistance as you take the first steps toward agile software development.
There’s one thing I’ve only mentioned briefly so far, but without it, the process of Continuous Integration would not be possible: standardization. Standardization is the foundation for collective engineering as a team because that’s the only way the process can function uniformly for everyone. Since standardization is relevant not only to Continuous Integration but also to many other areas of automation and industrial production in general, I’ll go into this topic in detail in my next blog: What are its uses, and what actual benefits does it offer for machine builders and operators? Stay tuned!