Studio 5000 Logix Designer
Copia provides support for Rockwell Studio 5000 Logix Designer v28-v35, with advanced feature support for the following:
Copia supports Rockwell files, with
.ACD
as the standard working file format. You can alternatively use .L5X
, which may decrease file conversion times.To get set up, simply store the file in a Copia repository. Once you perform the appropriate commit and push operations, you'll be able to see your project file and all of its data from both the Web App and Desktop App.
If you want to use the Merge operation, Copia will require all necessary
.AOP
and .EDS
files to be installed on the Copia server. More information can be found in the Advanced Merging section.We recommend that you disable the Automatic Project Backup option if you are working directly in the repository, as this may create additional
.BAK
files.
When the exported project file is selected in the Web App or Desktop App, Copia displays the project tree structure in a way that's familiar to users of the Rockwell IDE. This way, you can easily navigate to a project item or identify differences.

The following types are currently supported for graphical output and/or change detection:
- Ladder (LAD)
- Function Block Diagram (FBD)
- Structured Text (ST)
- Add-On Instructions (AOI)
- Datatypes
- Modules
- Programs
- Tag Lists
- Source Protection:
- Source Protected AOI's will be identified as changed based on the Edited Date field, only. Source Protected Routines are not supported for change detection.
To graphically display the logic and changes to encrypted or encoded data, source protection must be removed. This does not apply to Safety Locked code, which is accessible for display.
There are several options you can manage while viewing your Rockwell files in Copia.
- Show Unmodified ItemsThis setting affects the tree view, and if enabled will display the items that are not modified
- Hide System Data TypesThis applies only to system data types
- Ignore Source Protected ItemsIf source protected items are not exposed, they will be assumed to be different. In those cases, you can toggle them to be ignored, if desired.
- Ignore tag value changesThis lets you disregard all tag value changes
- Show unmodified tagsThis applies to unmodified datatype and tag values
- Hide unchanged rungsThis applies to logic rungs that have not changed
- Show XMLThis displays the difference in a direct XML text-based compare

The View Options dropdown on the left affects items in the project tree, while the one on the right controls more specific viewing settings for items that are in a focus state.
Rockwell comparisons allow you to print a report (or save a PDF) of the differences that are displayed. When viewing a specific commit, select the Generate Report button to launch the configurable preview.

Once in the configurable preview, set the View Options that should be used for your report. Then select the Print PDF button to open the printer dialog.

Choose the destination of your export (printing as PDF or directly to a device). Before printing your report, be sure to select the Background graphics option in the dialog to print the color highlighting in the report. Finally, press the Save button to finish generating your report.

Copia supports rung commenting for Rockwell files for both Ladder and Structured Text.
Rung Commenting enhances the Code Review process once someone generates a Pull Request to merge a Branch. During the review process, users can add comments directly to the supported parts of the code.

You can watch an overview of rung commenting in the video below.
The product version in the video may be older than the current release, but the process is still applicable.
While Copia provides the standard Git-based approach to merging branches and conflict resolution, it offers advanced merging capabilities for Rockwell files.
The Advanced Merging process will require all necessary
.AOP
and .EDS
files on the Copia server to perform the operation. If missing, a dialog will appear with instructions on how to resolve the issue and provide the required data.Currently, the Advanced Merge tool has the following limitations:
- Logic merge is at the Routine level, and not Rung levelWhen merging logic changes, you cannot merge two different rungs changed within the same routine. Advanced merging is only capable at the routine level.
- Safety Locks must be reapplied The merge process for Rockwell utilizes the L5X project format. As a result, the Safety Lock's which have been applied to a project will no longer exist after merge. Based on this, Copia recommends that you either cancel and manually merge, or continue while making sure to re-enable the Safety Lock upon completion.
We do not recommend that you merge projects of differing versions. During a merge of two Studio 5000 projects with different version numbers, the resulting project after the two branches have been merged will be the version of the branch that is being merged into.
You can watch an overview on merging in the video below.
The product version in the video may be older than the current release, but the process is still applicable.
Advanced Merge is available to resolve a conflict during the merging of one branch into another. If two people worked in the same project after the branch was created, a conflict will occur.

When a Pull request has been made and it is ready to be merged, you will notice in the Web App that there is a conflict and that the Advanced Merge tool option will appear. You can either overwrite the target branch, or take advantage of Advanced Merge. Click Open Merge Tool to continue.

Advanced Merge will list the changed items from each branch. In addition, a section for conflicted items (i.e. changed in both branches) will be provided for manual resolution. The number of changes or conflicts are listed at the right of each section.
As seen in the Conflicts section, you can expand into each item by clicking the arrow on the left side of the screen. In addition, you can either manually review and resolve each section by clicking on it, or you can resolve the conflicts by accepting all changes from one branch or the other using the buttons provided.

For Rockwell, Tag conflicts and Routine conflicts are handled differently.
Select one of the "Tags" conflicted items (labeled by the "Needs Resolution" tag), and you will be presented the list of tags which have been modified. Changes made to each branch will be presented in a side-by-side view.
Changes that are not in conflict will be pre-selected, and items that are in conflict (i.e. were changed in both branches) will require manual selection using the checkboxes provided.
On each side, green highlighting reflect items that were added, and red highlighted items have been removed.

The tag "bAlarm" was added to each branch, but has a conflicting value
Once you have made your selections, a green "resolved" label will appear in the top right, and you can move onto the next section.

Select a conflicted routine, and you will be presented with the routine logic from each branch in an above-and-below format (which allows for better visibility).

Using the checkboxes provided, select either branch to accept it's changes, which will resolve the conflict indicated by the green label at the top of the section with the name of the selected branch.

Once all conflicts are resolved, you will be presented with the Build Merge Result option.

After selecting the Build Merge Result button, you will be given the option to view or download the resulting file. In addition, a Commit Merge Result option will be provided to continue the merge process.

After completing the Advanced Merge, you'll be placed back into the standard merge process. Copia presents you with multiple opportunities to provide details and feedback, and to confirm that the merge is desired. Continue through these final screens and add any additional details. Press the Merge Pull Request to complete the process.

Once the Pull Request is merged, you will be given the opportunity to delete the branch by clicking the Delete Branch button. This is an optional step that will only delete the branch in the remote repository -- the local branch will remain unless it is deleted locally.
Last modified 8d ago