Glossary · Engineering, integration and validation
Version control
Also known as: Source control, Revision control, Version control system (VCS)
German: Versionsverwaltung
In software engineering, version control is the practice and tooling for recording changes to files over time, so that earlier versions can be restored, changes compared and parallel work merged. In automation, it is applied to PLC and HMI projects, parameters, scripts and documentation sources.
- Validation
In one sentence
Version control records changes to files over time, so versions can be compared, restored and parallel work merged, also for PLC projects.
Example
The commit history shows who changed the timer in the filling sequence, when and why, and lets the team restore the previous version after a failed test.
How it applies
- Engineering: Teams store control projects in a version control system such as Git, often in text-based export formats so that changes can be compared line by line. Branches allow parallel development and controlled merging.
- Commissioning: Changes made online on site must be brought back into version control, otherwise the repository and the running controller drift apart.
- Maintenance: Tagged versions mark released states; together with Configuration management they show which version runs on which machine and enable Rollback capability.
- Documentation: Documentation sources, such as DITA or Markdown, can live in the same or a linked repository, so manual versions follow software releases. The documentation team can use change histories to find what has to be updated.
Version control vs. configuration management
Version control tracks file histories. Configuration management defines which items are controlled, how changes are approved and how the consistency of the whole product configuration is verified. Version control is a tool for it, not a replacement.