Studio 5000 Logix Designer

Overview

Copia provides support for Rockwell Studio 5000 Logix Designer v21-v36, with advanced feature support for the following:

Configuration

General

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.

Copia does not support advanced functions for projects that have the PlantPAx Tasking Model enabled, at this time.

Extra Considerations

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.

Graphical Display and Differences

General

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.

Supported Types

The following types are currently supported for graphical output:

  • Ladder (LAD)

  • Function Block Diagram (FBD)

  • Sequential Function Chart (SFC)

  • 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.

View Options

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 Copying

Neutral Text is Rockwell's Studio 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.

Steps for Copying Neutral Text for a single rung

  1. 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)

  2. Navigate to a Ladder Diagram routine

  3. 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

  4. 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

  5. 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

  6. Click the check box to accept the changes

Steps for Copying Neutral Text for multiple rungs

  1. 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)

  2. Navigate to a Ladder Diagram routine

  3. 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.

  4. Click the teal Copy button that appears after you've selected one or more rungs to copy the neutral text to your clipboard

  5. 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

  6. 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

  7. Click the check box to accept the changes

Generate a Report

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.

Rung Commenting for Code Review

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.

Advanced Merging for Conflict Resolution

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 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.

  • Controller Type must not change

    The Advanced Merge Tool cannot merge two projects in which the controller type is different. We recommend that you keep the same controller type in your branches when using the Advanced Merge Tool and then manually changing the type in the IDE after the branches are merged.

  • Projects can't contain Quick Watch Lists

    The Advanced Merge Tool cannot merge any projects that have any Watch Lists. You must remove the Watch Lists from both the target and source branches before using the Advanced Merge Tool.

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.

Launching Advanced Merge

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.

Resolving Tag Conflicts

The Advanced Merge Tool can resolve individual conflicts within conflicting Studio 5000 Tag Lists. It does not yet allow for individual member-level conflict resolutions with UDTs. UDTs are resolved in the same way as Routines: you must make a selection of the entire version of the UDT from one branch or the other.

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.

Resolving Routines

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.

Analysis Succeeded Options

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.

Analysis Failed Options

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:

  1. Perform a Manual Conversion

  2. 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.

Manual Conversion

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.

Completing the Merge

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.


Integration with Logix Designer Compare Tool for Conflict Resolution

While the web-app Advanced Merge Tool for Conflict Resolution is often preferred for quickly resolving merge conflicts within Studio 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 Studio 5000 Logix Designer. 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

Requirements & Limitations

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.

Instructions

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.

  1. Ensure both the target and source branches are locally available

    1. Identify the branch that needs to merge into current branch from the branch list by clicking Desktop Application -> View -> Branch List

    2. 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

  2. Switch back to the current (source) branch

  3. 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

  4. Click on branch that needs to merged into

  5. Select Merge button

  6. Click Resolve button on .ACD and .L5X files containing conflicts

  7. To use RSLCompare.exe tool that is installed with Studio 5000, click "Resolve with Logix Designer Compare Tool"

    1. 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

  8. Once the merge tool completes loading, select the appropriate elements to merge and click Save

  9. Save the file with the correct extension in the temporary folder presented in the save option.

    1. 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.

    2. Ensure that the extension matches to the file type that is being merged

    3. 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.

  10. After saving you may close the Logix Designer Compare Tool

  11. 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

  12. Perform the same action if there are conflicts in other supported file types (i.e *.ACD and *.L5X)

  13. Commit the merge

Last updated