A control system integrator uses Git-based software to increase automation and improve the efficiency and quality of onboarding new employees.
Git is a distributed version control system that records file modification history and version changes and supports collaborative development by multiple people. Created by Linux developer Linus Torvalds, Git has become one of the most popular version control systems in software development because it is efficient, flexible, and stable. Git uses a data structure called a “repository” to store code and its change history. Git uses a data structure called a “repository” to store code and its change history. Each developer can have their local repository and keep it up to date with everyone else’s repositories. In addition to this, Git provides powerful branching and merging capabilities that allow developers to create and test new features without affecting the main trunk.
Since 1996, engineering consultancy DMC has been helping clients improve the productivity of their manufacturing facilities through customized automation software and control systems. They have been involved in many industry applications such as automotive, food and beverage, and even naval warships.
John Sullivan, project director in charge of the company’s automation business in the western U.S., says the demand for services has never been higher. “At times, we’ve had to ground reject contracts because the demand exceeds our ability to hire and train control engineers quickly.”
Sullivan’s judgment is backed up by a recent survey by the Control Systems Integrators Association (CSIA), which revealed a tough hiring situation for systems integration engineers in 2021, but a turnover rate of 16.5 percent across the sector.
The biggest bottlenecks are developing new talent and effectively utilizing the time of senior engineers. Software engineering students, typically learn text-based programming languages rather than the programmable logic controller (PLC) visualization ladder logic diagrams dedicated to machine automation. As a result, young engineers need to be paired with experienced mentors for training, which can take months.
At DMC, software project teams range in size from one programmer to 25 engineers, and larger teams are often needed during the summer months when newcomers can learn from experienced colleagues. Senior engineers’ schedules are quickly filled with frequent design reviews. By winter, smaller teams become more common as college graduates become more capable of working independently.
To streamline their design review process, version control, and collaboration, they adopted Git-based software that accelerates development across multiple PLC programming environments. This allows teams to work on the same files without the risk of overwriting the work of others. Git branching and merging capabilities bring the same collaborative benefits to ladder logic programming as they do to text-language projects.
Visual inspection with annotations provides easy-to-read, color-coded comparisons, eliminating the need for reviewers to download and open files in the original integrated development environment (IDE).
Find and Fix Errors Early
The automatic rendering of the PLC programming language and the ability to quickly visualize changes without using the original IDE dramatically speed up the feedback path between junior and senior engineers. When leading multiple projects, senior engineers can save up to one day per week due to faster code reviews. In addition, reviews are more frequent than ever before. says Sullivan, “We find more bugs before we deploy or test. Because we always look at visualized code before merging, we make fewer mistakes.”
Moving to Git-based software has made Sullivan’s team much more efficient. He says, “While Git itself did a great job of managing project history, it was out of its depth when it came to reviewing code. Whenever someone commits a code change, our senior engineers would need to open two copies of the development environment, compare between the two platforms, and manually copy the code before re-committing. Now, we can see the changes immediately and merge them with just a few clicks of a button. What used to be a 45-minute process now takes 15 minutes.”
“One of the keys to success is making sure you have the most up-to-date code. Sharing the same repository helps with that.”
Overcoming the Challenges of Automated Programming
Copia Automation’s Git-based version history captures all coding changes during a project’s lifecycle, allowing teams to revert to any earlier version as needed. Edit history is important for team members to stay up-to-date on the latest project changes, and it also helps manage the challenges that have plagued DMC companies for years. For many organizations, the challenge is how to maintain the ability to provide ongoing support for machines and systems long after installation.
Sullivan says: “I recently received a letter from a customer who last worked with us seven years ago. The engineer and manager responsible for the project had passed away. It’s important to always be able to find documentation for older projects. Another client’s facility experienced a power surge that caused them to lose the associated procedures. Unfortunately, they never kept a copy of it. As a result, we needed to get the old code and help redeploy them to a new set of hardware so they could get back up and running. Now, anyone on our team can easily deal with these challenges without the involvement of the original engineers involved in the project. Having contextual information about the entire lifecycle of the project is very valuable.”
Having a single source of information in a secure central repository also helps the team work more effectively with manufacturing customers. Some customers operate their facilities with engineers making small code changes regularly. When problems do arise, they give prompt feedback. Sullivan says, “Our job is to step in and help our customers solve problems. One of the keys to success is making sure we have the latest code. Sharing the same repository does that.”
It is “embarrassing” that the industry still relies on file names and shared folders. Developing a streamlined platform where programmers can learn from each other and develop a single source of information is critical to reducing bottlenecks and allowing young engineers to learn without bothering senior engineers. Git-based software has helped them become much more productive.