Software Configuration Management Tool
I'm curious if any other group has investigated or used software configuration management tools such as subversion, git, or perforce. What has your experience been?
We are working on a software repository for 5-6 engineers to use for keeping control of the standardized software modules in Compact Control Builder.
Voted best answer
We're using Tortiose SVN to manage changes in our control standard (AC 800M Libraries with Data Types & Function Block Types). To be able to use version control we first do an export to XML (using a custom built tool) and then commit this XML to the repository.
After each change a partial XML export is made and committed to the repository. Now we are able to manage changes from different developers (merging), keep track of all changes and have the possibility to revert a change.
At the end of the development cycle we import the XML back to Control Builder so we can deliver the control standard in an ABB format to our end users.
We are both using Control Builder Professional (800xA) and Compact Control Builder. If you're only using CCB you can try to put the Project files under version control since these are text-based. Note that this method only allows you to make changes in CCB because a change made in the file itself will corrupt the calculated checksum.
In my opinion the benefit of using version control outweighs the extra effort. Of course this depends on the number of developers, number of changes and the size of the library. In our case 6 developers making 200 changes/year on a library with 120 Function Block Types.
I hope this will help you deciding whether or not to use version control.
I've considered using this on a few projects. It would be great but ....
- For 800xA projects the source code files are encoded in the 800xA system and cannot be saved to a separate repository which makes SCM's useless for most of our projects.
- It did not seem to be worth the effort to protect just one or two files that can easily be archived in our own servers.
It's a shame because otherwise I'm very much a supporter of systems like git. I use git extensively for non-ABB related projects. If you do decide to use some form of software repository I'd be very interested in hearing about your experience.