There are two ways to reduce code development costs in a company: the first is to reduce the cost of development; and the second, and less commonly used, is to reuse existing code and focus on its maintenance and planning. If we take these two best practices to the manufacturing world, the efficiency of product engineering, validation and test groups would be much higher.
How is software version control implemented in the industry?
Companies with manufacturing processes that implement high-volume machinery today face several challenges, including: small batch production, high variability in the production of different types of products, and a changing product portfolio during the life cycle of a machine or plant. Therefore, production systems must support changes not only in their physical design, but also comprehensive technical upgrades, as the life cycles of a production system or station can last up to 50 years (Vogel-Heuser & Ocker, 2018).
In most cases, companies do not have enough knowledge about the existing software variants and versions within their own company. In addition, due to time pressures of product release in manufacturing, they resort to the typical: "If it already pulls, don't move it". It is essential to keep a software version control of all the test and measurement stations of your company's manufacturing lines.
How to identify when you need to implement version control?
- Number of developers. If your development team has more than two engineers involved in the simultaneous development of the software.
- Concurrent development: The development of several stations with similar focus and/or implementation is proposed.
- Software maintenance: The purpose of the development is a software that will require maintenance and release of different versions.
- Different platforms for software development: LabVIEW, LabWindows/CVI, TestStand, C#, Python, etcetera.
- Adaptations and annexes to the code: Coordination is required for changes and improvements.
- Error handling: Code has been debugged due to the presence of errors.
All of the above can be solved with the use of Source Code Control (SCC), since the source code files are saved and in this way the changes that have been made can be registered.
What features should a version control system have?
Version control systems or VCS ( Version Control System). These systems facilitate the management of the different versions of each developed product, as well as the possible specializations made (for example, for a specific client). A version control system must provide:
- Storage mechanism for the elements to be managed (e.g. text files, images, documentation...).
- Possibility of making changes to the stored elements (e.g. partial modifications, adding, deleting, renaming or moving elements).
- Historical record of the actions performed with each element or set of elements (usually being able to go back or extract a previous state of the product).
There are currently three types of Source Control on the market: Locked, Merged and Distributed. There are several tools on the market for source control and one of them is SubVersion (SVN). SVN is an open source and multiplatform version control system which is based on having a central repository which has the peculiarity of remembering all the changes that have been made to your files and directories. In Lab it Studio we have specialized material for this tool. More information can be found at: http://subversion.apache.org/.
Apache Subversion (often abbreviated as SVN, for the svn command) is an open source version control tool based on a repository whose operation closely resembles that of a file system. It is free software under an Apache/BSD license.
Subversion can access the repository over networks, allowing it to be used by people on different computers. At some level, the ability for multiple people to modify and manage the same data set from their respective locations encourages collaboration. Faster progress can be made without a single conduit through which all modifications must pass. And since the work is under version control, there is no reason to fear that the quality of the work will suffer-if an incorrect change has been made to the data, simply undo that change.2
In Lab it Studio we accompany you throughout the process of implementing this type of tools in your company, thus achieving maximum efficiency in the control and software release of your test, measurement and automation systems. Contact us!



