Working with Project Version Control

  • All objects in the device tree or POU tree are represented by an object in the SVN repository, there might be hidden objects that are not visible in the tree but that exist in SVN.
  • The smallest unit in the SVN repository is one object including all its data like name, parameters, device identification.
  • Objects are identified in the SVN repository by their name. Renaming one object in Automation_Builder means to delete it from the SVN repository and add a new one to the SVN repository. Renaming an object causes a break in the history of that object.
  • By default objects are locked before they are changed to prevent other users from changing the object. The locking strategy can be changed in the user options.
  • Objects can be compared to other versions of the same object, many differences/changes between the current object in the Automation_Builder project and the compared object can be merged into the object in the Automation_Builder project. Merging changes could be used to resolve conflicts in case concurrent changed can not be avoided.
  • To ensure consistency it is required and also enforced that some changes can be committed or reverted only together.
    • All changes to device objects in the hardware tree that are sub-nodes to the same top level device. Note: Objects that are not devices are excluded, e.g. the application node.
    • All changes below the AC500 PLC application node.
  • Most SVN operations can not be performed while other external applications like IEC 61131-3 editor or Panel Builder work on files that are embedded in Automation_Builder project.
  • Some operations like changing the target or updating the project to the latest device (description) versions do a recursive lock of the whole AC500 PLC. If the lock can’t be obtained the operation is aborted.
  • Some objects contain internal data that has no meaning to the end user but is also important. Changes on such data are not shown in the compare dialog or are summarized by a placeholder like “There are hidden changes”.
  • Including externals is not supported.