RSLogix 5000
Last updated
Last updated
Copia provides support for Rockwell RSLogix 5000 v16-v20, with advanced feature support for the following:
Advanced Merging for Conflict Resolution (*v20 only)
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 Advanced Merge for Conflict Resolution, Copia will require all necessary Add-On Profiles 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.
For projects larger than 40MB, the default display of the project file or diff will only be available "on demand". This is to prevent any negative performance impacts to the Copia applications due to the processing of these files.
The following types are currently supported for graphical output:
Ladder (LAD)
Sequential Function Chart (SFC)
Function Block Diagram (FBD)
Structured Text (ST)
Add-On Instructions (AOI)
Datatypes
Modules
Programs
Tag Lists
To display the logic and changes to encrypted or encoded data, source protection must be removed, otherwise these items will appear as inaccessible. This includes projects that are restricted by FactoryTalk Security as well, but 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 Items
This setting affects the tree view, and if enabled will display the items that are not modified
Hide System Data Types
This applies only to system data types
Ignore Source Protected Items
If 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 changes
This lets you disregard all tag value changes
Show unmodified tags
This applies to unmodified datatype and tag values
Hide unchanged rungs
This applies to logic rungs that have not changed
Show XML
This 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.
Neutral Text is Rockwell's RSLogix 5000 plain-text representation of Ladder Diagram (LD). Some Rockwell developers prefer to use Neutral Text because it can be faster to write than manually adding the graphical instruction elements in the IDE, while others use it for automatically generating LD routines for import.
Copia's PLC file viewer allows you to select an individual rung to copy the Neutral Text representation of that rung to your keyboard. You can then paste that directly into the IDE to recreate the rung. This can save significant time in those scenarios in which you want to borrow a rung or two from another Rockwell PLC project that's already in a Copia repo because you can skip the steps of downloading the file, waiting for the IDE to open the project, and then copy/paste.
Open a full Rockwell RSLogix 5000 project in the web or desktop app (Note: Neutral Text copying is only available when viewing an entire project; it is not available for PLC diffs)
Navigate to a Ladder Diagram routine
Hover your mouse over the rung number and click to copy the Neutral Text to your keyboard. Alternatively, you may click the Copy button on the tooltip that appears on hover
In a Ladder Diagram routine within RSLogix 5000, double-click on the rung number. This will open the Neutral Text box at the top of the window
Ensure that the dropdown says "In Neutral Text". Note that RSLogix 5000 will not accept Neutral Text if you have the "In ASCII Text" option selected
Click the check box to accept the changes
Open a full Rockwell Studio 5000 project in the web or desktop app (Note: Neutral Text copying is only available when viewing an entire project; it is not available for PLC diffs)
Navigate to a Ladder Diagram routine
Hover your mouse over the rung body and left-click. The rung will become highlighted once selected. Repeat for any number of rungs, sequential or non-sequential.
Click the teal Copy button that appears after you've selected one or more rungs to copy the neutral text to your clipboard
In a Ladder Diagram routine within Studio 5000, double-click on the rung number. This will open the Neutral Text box at the top of the window
Ensure that the dropdown says "In Neutral Text". Note that Studio 5000 will not accept Neutral Text if you have the "In ASCII Text" option selected
Click the check box to accept the changes
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 RSLogix 5000 v20 files.
The Advanced Merge tool will convert programs of any prior version to v20. As such, it is not recommended, nor supported, to perform the merge operation using projects made in versions prior to v20!
Currently, the Advanced Merge tool has the following limitations:
All Add-On Profiles and .EDS files are required
****The Advanced Merging process will require all necessary AOPs 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.
Logic merge is at the Routine level, and not Rung level
When 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.
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 Advanced Merge Tool to continue.
Advanced Merge will process the files for merge, and then immediately initiate a test of the files to confirm that there are no missing AOP or EDS Files, or issues with conversion.
While this is occurring, you may stat resolving conflicts, if they are listed. 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.
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, and assuming the analysis has succeeded, you will be presented with the Build Merge Result option.
If the analysis of your files succeeds (i.e. there is no problems during conversion or missing AOP and EDS files) you have the option to perform the Automatic or Manual merge flow. You will also be able to Show Preview of the results of your conflict resolutions, as a candidate for conversion to .acd.
Prior to pressing "Commit Merge Results", if you would like to test the converted ACD file, you can select the "Click Here" above the button, which will perform the conversion and provide you with the .acd. Of course, once you are satisfied with the Preview and .acd file, you can "Commit Merge Result" and complete the Merge Request in the PR.
If the analysis of your files fails (i.e. a problem in conversion was detected) Copia will describe what failed, including the required files, if needed.
In this case you have two options:
Perform a Manual Conversion
Send Copia the required files, and "Click Here" to return to the PR and try again once the files have been added, which should allow you to attempt the automatic conversion.
Even if performing a manual merge, it is recommended to send Copia the EDS or other files so that they are available the next time a merge is desired.
As always, you will be able to Show Preview of the results of your conflict resolutions, as a candidate for conversion to .acd.
The manual merge option allows you to download the L5X file that has been created using the resolutions you have performed. You can then use Studio 5000 to importa nd save an .acd file for upload back into the process. You can then Commit Merge Result, unsing the manually converted file.
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.
While the web-app Advanced Merge Tool for Conflict Resolution is often preferred for quickly resolving merge conflicts within RSLogix 5000 projects during branch merges, you may prefer to instead use Rockwell's provided compare and merge tool known as the Logix Designer Compare Tool. This is a local tool that is typically installed along RSLogix 5000. In cases when you are without an internet connection or are otherwise unable to use Copia's Advanced Merge Tool, the Copia Desktop App will offer to launch the Logix Designer Compare Tool in the event of a merge conflict of an .ACD
or .L5X
file. This section will cover steps to launch this tool but does not cover the usage of the Logix Designer Compare Tool itself.
Copia's Advanced Merge Tool is preferred in most cases as it requires a Pull Request, which allows you to request and receive in-app Code Reviews
This option is available only if Logix Designer Compare Tool (RSLCompare) is installed on the user's system. RSLCompare must be installed on the same host OS as the Copia Desktop App. No configuration in the Desktop Application is required to enable this option; the installation is automatically detected. Other external merge tools is not supported at this time. Local merges may not be possible if a repository has branch protections requiring Code Approval.
Follow the steps below when using the Logix Designer Compare Tool to resolve merge conflicts in the Copia Desktop App. A video demonstration can be found at the end of the list.
Ensure both the target and source branches are locally available
Identify the branch that needs to merge into current branch from the branch list by clicking Desktop Application -> View -> Branch List
Select that branch so that it is fetched to the local repo. If this step is skipped a warning dialog box will pop up during the merge process branch missing locally with recommended step to fetch the branch
Switch back to the current (source) branch
Start merge by clicking Application -> Branch -> Merge into current branch, or click the branch dropdown selector and click the Choose a branch to merge into <branch_name> button
Click on branch that needs to merged into
Select Merge button
Click Resolve button on .ACD
and .L5X
files containing conflicts
To use RSLCompare.exe tool that is installed with Studio 5000, click "Resolve with Logix Designer Compare Tool"
This will launch the compare tool. It may take some time to load. If the two files being merged contain common ancestor, it will launch the compare tool as a 3 way merge. If common ancestor is not present, then the compare tool will be launched as a 2 way merge
Once the merge tool completes loading, select the appropriate elements to merge and click Save
Save the file with the correct extension in the temporary folder presented in the save option.
You may either save it with the default name offered by the tool (MergeResult.ACD/L5X
) or provide a preferred name. The Copia Desktop App will disregard the name at this step and automatically rename it to the original file name regardless of what file name is used.
Ensure that the extension matches to the file type that is being merged
Do not change the save location. The location presented by the tool must be used for the files to be properly finalized into the repository. Saving in any other location other than the presented location will not complete the merge.
After saving you may close the Logix Designer Compare Tool
Return to the Copia Desktop Application. The file that was merged will be removed from the list of conflicts and will be marked as resolved in the repository view
Perform the same action if there are conflicts in other supported file types (i.e *.ACD and *.L5X)
Commit the merge