Converting PLC-5 or SLC 500 Logic to Logix-Based Logic
personal injury or death, property damage, or economic loss.
Attentions help you identify a hazard, avoid a hazard, and recognize the consequence.
IMPORTANT
Identifies information that is critical for successful application and understanding of the product.
temperatures.
for Personal Protective Equipment (PPE).
Important User Information
Read this document and the documents listed in the additional resources section about installation, configuration, and
operation of this equipment before you install, configure, operate, or maintain this product. Users are required to familiarize
themselves with installation and wiring instructions in addition to requirements of all applicable codes, laws, and standards.
Activities including installation, adjustments, putting into service, use, assembly, disassembly, and maintenance are required to
be carried out by suitably trained personnel in accordance with applicable code of practice.
If this equipment is used in a manner not specified by the manufacturer, the protection provided by the equipment may be
impaired.
In no event will Rockwell Automation, Inc. be responsible or liable for indirect or consequential damages resulting from the use
or application of this equipment.
The examples and diagrams in this manual are included solely for illustrative purposes. Because of the many variables and
requirements associated with any particular installation, Rockwell Automation, Inc. cannot assume responsibility or liability for
actual use based on the examples and diagrams.
No patent liability is assumed by Rockwell Automation, Inc. with respect to use of information, circuits, equipment, or software
described in this manual.
Reproduction of the contents of this manual, in whole or in part, without written permission of Rockwell Automation, Inc., is
prohibited.
Throughout this manual, when necessary, we use notes to make you aware of safety considerations.
WARNING: Identifies information about practices or circumstances that can cause an explosion in a hazardous environment, which may lead to
ATTENTION: Identifies information about practices or circumstances that can lead to personal injury or death, property damage, or economic loss.
Labels may also be on or inside the equipment to provide specific precautions.
SHOCK HAZARD: Labels may be on or inside the equipment, for example, a drive or motor, to alert people that dangerous voltage may be present.
BURN HAZARD: Labels may be on or inside the equipment, for example, a drive or motor, to alert people that surfaces may reach dangerous
ARC FLASH HAZARD: Labels may be on or inside the equipment, for example, a motor control center, to alert people to potential Arc Flash. Arc Flash
will cause severe injury or death. Wear proper Personal Protective Equipment (PPE). Follow ALL Regulatory requirements for safe work practices and
2 Publication 1756-RM085E-EN-P - September 2020
Subject
Reason
Important information.
Summary of Changes
This manual includes new and updated information. Use these reference
tables to locate changed information.
Grammatical and editorial style changes are not included in this summary.
Global changes
This table identifies changes that apply to all information about a subject in
the manual and the reason for the change. For example, the addition of new
supported hardware, a software design change, or additional reference
material would result in changes to all of the topics that deal with that subject.
Updated tables that provide Tip, Note, and
The Legal Noticeshave been updated. Removed redundant information.
Formatting change.
New or enhanced features
None in this version.
Publication 1756-RM085E-EN-P - September 2020 3
Summary of Changes
Converting a PLC-5 or SLC 500
Program into a Logix Project
Table of Contents
Preface
Studio 5000 environment .......................................................................... 9
The Studio 5000 Automation Engineering & Design Environment® combines
engineering and design elements into a common environment. The first
element is the Studio 5000 Logix Designer® application. The Logix Designer
application is the rebranding of RSLogix 5000® software and will continue to
be the product to program Logix 5000™ controllers for discrete, process,
batch, motion, safety, and drive-based solutions.
The Studio 5000® environment is the foundation for the future of
Rockwell Automation® engineering design tools and capabilities. The Studio
5000 environment is the one place for design engineers to develop all
elements of their control system.
These documents contain additional information concerning related
Rockwell Automation products.
Industrial Automation Wiring and Grounding
Guidelines, publication 1770-4.1
Product Certifications webpage, available at
Provides general guidelines for installing a Rockwell
Automation industrial system.
Provides declarations of conformity, certificates,
View or download publications at
http://www.rockwellautomation.com/literature
. To order paper copies of
technical documentation, contact the local Rockwell Automation distributor
or sales representative.
Rockwell Automation publishes legal notices, such as privacy policies, license
agreements, trademark disclosures, and other terms and conditions on the
Legal Notices
page of the Rockwell Automation website.
Publication 1756-RM085E-EN-P - September 2020 9
Preface
End User License Agreement (EULA)
You can view the Rockwell Automation End-User License Agreement ("EULA")
by opening the License.rtf file located in your product's install folder on your
hard drive.
Open Source Licenses
The software included in this product contains copyrighted software that is
licensed under one or more open source licenses. Copies of those licenses are
included with the software. Corresponding Source code for open source
packages included in this product are located at their respective web site(s).
Alternately, obtain complete Corresponding Source code by contacting
Rockwell Automation via the Contact form on the Rockwell Automation
website:
us/contact/contact.page
Please include "Open Source" as part of the request text.
http://www.rockwellautomation.com/global/about-
A full list of all open source software used in this product and their
corresponding licenses can be found in the OPENSOURCE folder. The default
installed location of these licenses is
Converting a PLC-5 or SLC 500 Program into a
Logix Project
The RSLogix Project Migrator converts a PLC-5 or SLC 500 import/export file
(PC5 or SLC extension) into a complete import/export file (L5K extension).
This manual describes the RSLogix Project Migrator. This chapter describes
the pre-migration file preparation and post-migration examples and tasks.
The Project Migrator converts only ladder instructions. SFC and structured text files
are not converted.
The Project Migrator can be downloaded from the Rockwell Automation
website.
Project Migrator
architecture to Logix
architecture
The goal of the Project Migrator is to reduce the amount of work involved in
migrating a PLC-5 or SLC 500 program to a Logix project. The Project
Migrator automatically converts the program logic, but it is not the complete
solution. Depending on the application, you may need to do additional work
to make the converted logic work properly.
The Project Migrator produces a syntactically correct import/export file, but
the exact intent of the original application could be lost. This loss could be due
to differences in rules. (For example, rules of precedence, rules of indexed
addressing, or rules of I/O addressing). When there is an error in the
migration, the Project Migrator records the error in the rung of the Logix
routine in which it occurred. You can use that error message to analyze and
fix the error.
After running the conversion process, the resulting import/export file still requires
further manipulation. You must map the I/O and use BTD, MOV, or CPS instructions to
place this mapped data into the structures created by the conversion process.
The Logix architecture differs in several ways from that of the PLC-5 and SLC
500 processors. The Project Migrator converts this legacy architecture as it
best fits into the Logix architecture. Because of the architectural differences,
you may have to rework the converted Logix project to make sure it operates
properly.
Publication 1756-RM085E-EN-P - September 2020 11
The most significant differences in architecture are listed in the following
table:
Chapter 1 Converting a PLC-5 or SLC 500 Program into a Logix Project
Architectural issue
Comparison
into its 32-bit equivalent.
types into appropriate Logix tasks.
s might require rework to make sure they operate properly.
MSG instructions after migration.
Conversion step
Page
Exporting a PLC-5 or SLC 500 Programon page 13
9 on page 13
on page 16
Working with PCE Instructionson page 19
16 on page 19
The conversion/migration
CPU The PLC-5 and SLC 500 processor is based on 16-bit operations. Logix
operating system The PLC-5 and SLC 500 processors support individual program files that
input and outputs The PLC-5 and SLC 500 processor map I/O memory into I and O data table
data The PLC-5 and SLC 500 processors store all data in global data tables. You
s The PLC-5 and SLC 500 s are based on their 16-bit architecture and can
controllers use 32-bit operations. The Project Migrator converts legacy logic
can be configured as selectable timed interrupts (STIs) or input interrupts
(DIIs/PIIs). In addition, the PLC-5 processor supports multiple main control
programs (MCPs). A Logix controller combines these into it’s task, program,
and routine organization. The Project Migrator converts the legacy program
files. The I/O data is updated synchronously to the program scan so you
know you have current values each time the processor begins a scan. A
Logix controller references I/O which is updated asynchronously to the
logic scan. For a Logix controller, use the synchronous copy (CPS)
instruction to create an I/O data buffer to use for static values during logic
execution and update the buffer as needed.
After the conversion is complete, you must add instructions to copy the I/O
data into the I and O arrays. Do this at the beginning or ending of a program
to buffer the data so that it is presented synchronously to the program
scan.
access this data by specifying the address of the data you want. A Logix
controller supports data that is local to a program and data that is global to
all the tasks within the controller. A Logix controller can also share data
with other controllers, and instead of addresses, you use tags to access the
data you want.
Each PLC-5 and SLC 500 data table file can store several words of related
data. A Logix controller uses arrays to store related data. The Project
Migrator converts the PLC-5 and SLC 500 data table files into Logix arrays.
have different time bases. A Logix controller is based on its 32-bit
architecture and only supports a 1 msec time base. The Project Migrator
converts the legacy s as they best fit into the Logix architecture. Converted
process
12 Publication 1756-RM085E-EN-P - September 2020
communications The PLC-5 processor supports block-transfer read and write (BTR and BTW)
instructions, ControlNet I/O (CIO), and message (MSG) instructions. The SLC
500 processor supports block-transfer read and write (BTR and BTW)
instructions and MSG (MSG) instructions. The Logix 5000 controllers support
MSG instructions of various types. You will need to verify and complete all
The entire conversion process involves the following steps:
Preparing RSLogix 5 or RSLogix 500 files for Migration on page 139 on page 13
Using the Project Migrator Wizard to Convert a PLC-5 or SLC 500 Program
Working with UNK Instructions on page 2017 on page 20
13 on page 16
Conversion step
Page
Completing the MSG Configuration on page 22
20on page 22
Preparing RSLogix 5 or
RSLogix 500 files for
Exporting a PLC-5 or SLC
Export options
Export Option 1: Create two
migration
500 Program
Chapter 1 Converting a PLC-5 or SLC 500 Program into a Logix Project
Configuring the Controller and Chassis on page 2018 on page 20
Mapping the I/O on page 2119 on page 21
The rest of the chapter describes these steps in detail.
Before using the Project Migrator, it’s best to prepare the RSLogix5 and
RSLogix 500 files.
• To save memory, remove unused references from the PLC-5 and SLC
500 application files. The following options are available for you in
RSLogix 5 or RSLogix 500 software:
• To help avoid syntax errors that the Project Migrator will not convert if
encountered in the PC5 file, remove SFC and STX routines.
Before you can convert PLC-5 or SLC 500 logic to its Logix equivalent, you
must first export the logic to an ASCII text file with a PC5 extension for a
PLC-5 file or a SLC extension for an SLC 500 file.
If you elect to convert comments and symbols, you also need the TXT file,
which is the standard 6200 programming software format for a
documentation file.
Use the RSLogix 5 or RSLogix 500 export procedure to produce two types of
files:
• Database files (TXT). These files contain the application’s symbols,
address comments, instruction comments, and rung comments. Three
TXT files are produced.
• <program name>.txt - Address Comment and Symbols
• <program name>1.txt - Instruction Comments (These are ignored
by the Project Migrator.)
• <program name>2.txt - Rung Comments (These are ignored by the
Project Migrator. Rung comments within PC5/SLC file are used.)
• Program file format (PC5 or SLC). This file contains an application’s
data, RLL statements, and rung comments.
There are a few ways that you can export files for migration using RSLogix 5
or RSLogix 500 software as described on the following pages.
For this option, you export the PC5/SLC files and then export the TXT file.
separate exports
Publication 1756-RM085E-EN-P - September 2020 13
First, create the PC5 or SLC files for export, using the following steps.
1. In RSLogix 5 or RSLogix 500, select File>Save As. The Save Program As
dialog box appears.
Chapter 1 Converting a PLC-5 or SLC 500 Program into a Logix Project
2. In the Save in field, select the program you want to export.
By default, the software points to the Project folder for the destination.
You can enter a different destination directory.
3. In the Save As type field, select the Library Files format (PC5 or SLC).
4. Check the ‘Save data base as external file’ checkbox so that the
comments and symbols are included in the export.
5. Click Save. The Export PC5 Format or the Export SLC5000 dialog box
appears.
6. On the export format dialog box, use the following steps.
a. Select Complete Program Save.
b. Select all the export options.
c. Click OK.
Then create a TXT file for export, using the following steps.
1. In RSLogix5 or RSLogix 500, from the Tools menu, choose Database >
ASCII Export.
The Documentation Database ASCII Export dialog box appears.
2. Select the AB 6200 tab, make your selections, and then click OK.
14 Publication 1756-RM085E-EN-P - September 2020
Export Option 2: Create TXT
Chapter 1 Converting a PLC-5 or SLC 500 Program into a Logix Project
The Select Export Destination Directory dialog box appears.
3. Under Directories, select the directory where the PC5 or SLC file
resides.
4. Accept the warning about comments and symbols. Click OK.
files and PC5/SLC files for
export at the same time
To create both files for export at the same time, use the following steps.
1. In RSLogix 5 or RSLogix 500, select File>Save As.
The Save Program As dialog box appears. The example below shows the
Save As dialog box from RSLogix 5.
Publication 1756-RM085E-EN-P - September 2020 15
2. In the Save as type field, select X5 or ACH to activate the "Export
database" checkbox.
3. Check the "Export database" checkbox.
Chapter 1 Converting a PLC-5 or SLC 500 Program into a Logix Project
Use the Project Migrator
4. Under Export file type, select one of the following, depending on the
programming software you are using.
• For RSLogix 5, select A.B. 6200
• For RSLogix 500, select A.P. S.
5. In the Save as type field, change the file type from X5 or ACH to PC5 or
SLC. Even though the A.B. 6200 format is dimmed, the database will be
exported in that format.
6. Click Save. The Export PC5 Format or the Export SLC 500 Format
dialog box appears.
7. On the export format dialog box, use the following steps.
d. Select Complete Program Save.
Wizard to Convert a PLC-5
or SLC 500 Program
e. Select
the export options.
all
f. Click OK.
Once you have the ASCII text file of the PLC-5 or SLC 500 program file, you
can convert the logic to its Logix equivalent. In the Logix Designer
application, use the following steps.
1. From the Tools menu, choose RSLogix Project Migrator.
16 Publication 1756-RM085E-EN-P - September 2020
Wizard step 2 notes
Chapter 1 Converting a PLC-5 or SLC 500 Program into a Logix Project
2. The wizard appears. Use the wizard to walk through steps 1 through 7.
Wizard step 1 notes
• To start, select one of the option buttons.
• For PLC-5 to Logix... button - Select this option to browse for PC5
files.
• For SLC-500 to Logix... button - Select this option to browse for SLC
files.
• To use a different TXT file name than the program file name, clear the Documentation file(s) associated with the logic file use the same name
checkbox. Browse to the first database file name (TXT).
• RSLogix 5 or RSLogix 500 can also be launched from the wizard. To do
so, click the Launch RSLogix 5 or the Launch RSLogix 500 icon at the
top of the dialog box.
For this to work, the software must be installed on the same computer
as the Project Migrator.
• Browse to the file to be migrated.
• Click Next.
Select or clear the check box for the following option:
Publication 1756-RM085E-EN-P - September 2020 17
•Create Alias Tag for existing PLC-5/SLC Symbols -- This option creates
alias tags for all symbols found in the database files. Otherwise the
symbols are added as address comments to converted legacy file types.
Chapter 1 Converting a PLC-5 or SLC 500 Program into a Logix Project
Syntax Error
Description
How to Fix the Error
the string.
Wizard step 3 notes
Wizard step 4 notes
Common Syntax Errors
• Click Migrate. Since every PLC-5 and SLC500 application is unique,
there may be syntax errors.
• If syntax errors occur during migration, they appear in the Status Log
pane and include the line at which the error occurred. Choose one
these actions to deal with errors:
• Edit the error immediately and click Save & Retry to restart the
migration.
• Examine the original application to decide if the area where the
syntax error is occurring is something that can be deleted
permanently or if it is something that can be removed and then later
be recreated in the Logix Designer application.
• Edit the PC5, SLC, and TXT files using a text editor such as Notepad.
• Review the table that follows for the most common syntax errors
and their descriptions.
• Specify a file name and folder destination for the migrated file. The
default file name is the same as the legacy file with an .L5k extension,
and the default folder location is the same as the location of the legacy
file.
• Select the Logix controller and version of the Logix Designer
application. The version selected should correspond to a version of the
Logix Designer application that is supported on the PC.
• Click Next.
The Project Migrator might run into syntax errors within the program and
database files. If so, you must correct the errors to continue the conversion.
The following table describes common migration errors.
Invalid symbol name The Project Migrator expects the symbol names to be
alphanumeric.
RSLogix 5 and RSLogix 500 software enforce these rules, but
using the 6200 software or manually editing the database
files may cause these rules to be broken.
" (quote) within a " (quote) Quotes are used to denote the start and end of string values
or rung/instruction/address comments.
If a rung/instruction/address comment contains a quote, the
Project Migrator does not recognize that it is not the end of
% within a % % characters are used to denote the start and end of
comments within the program file and occasionally in
database files.
This type of comment is ignored by the Project Migrator. If a
comment contains another %, the Project Migrator does not
recognize that it is not the end of the comment.
Search for symbol names that are not alphanumeric.
Either remove the quote or make it a double quote
(""). The Project Migrator will translate the double
quote as a single quote in the Logix Designer
application.
Remove the extra % or make it a double %. The
Project Migrator will treat the double %% as
consecutive comments.
18 Publication 1756-RM085E-EN-P - September 2020
Syntax Error
Description
How to Fix the Error
Wizard step 5 notes
Wizard step 6 notes
Working with PCE
Recognizing the
Locating PCE instructions
Chapter 1 Converting a PLC-5 or SLC 500 Program into a Logix Project
Errant characters The program or database file contains a random character
or two that does not fit the syntax of the program or
database files. This is more common with manually-edited
files than a direct export from RSLogix 5 or RSLogix 500.
Invalid rung syntax The rung has invalid syntax, such as unmatched
parentheses.
Step 5 appears only for SLC and MicroLogix migrations. Select an I/O
migration option:
•Keep existing I/O in a separate rack - Keeps the legacy I/O modules as
they exist in the .SLC file, attaching them remotely via EtherNet in a
legacy chassis.
•Replace all I/O with equivalent newer models - Displays a list of all I/O
modules detected in the legacy file. Select the desired converted I/O
module, onto which the Project Migrator maps the legacy I/O.
Manually verify compatibility with the chosen output module. You can
opt to create a placeholder tag rather than selecting an I/O module.
When you select this option you must manually add the desired I/O
and handle any copying operations from the migrated output file.
Remove the errant characters.
Check and fix the rung syntax.
Instructions
instructions
When the migration is complete, click Exit to close the Project Migrator, or
click Launch RSLogix 5000 to open the Logix Designer application and
import the migrated project.
The Project Migrator inserts a Possible Conversion Error (PCE) instruction
within the appropriate ladder rung to help you identify possible errors with
the conversion. To complete the conversion process, you will want to locate,
analyze, and fix any discrepancies using the PCE instructions.
For a list of PCE instruction errors, see
Appendix A Programming Conversion
Errors (PCE) Messageson page 65
Text is appended to the rung comments that have the PCE instruction. The
message text begins with asterisks (*) and the words "Generated by
Translation Tool", and ends with asterisks.
An example of a PCE instruction follows:
*** Generated by Translation Tool: Source and destination
You can also locate all of the PCE instructions by verifying the logic. The
Verify > Controller task compiles the Logix program and checks for errors.
This is an easy way to see where all the PCE instructions are because the error
checking will point them out. To locate the PCE instructions, use the following
steps.
Chapter 1 Converting a PLC-5 or SLC 500 Program into a Logix Project
Resolving PCE Instructions
Working with UNK
Configuring the Controller
1. From the Logic menu, choose Verify > Controller.
The bottom of the screen displays the results.
2. Double-click the error shown in the error window to go directly to the
rung where the error resides.
Instructions
and Chassis
Once you import the converted Logix project, find each PCE instruction. A
PCE instruction highlights a possible conversion error. Delete each PCE
instruction and replace it with the appropriate, corrected logic.
The Project Migrator converts some PLC-5 and SLC 500 instructions that have
no equivalent in the Logix architecture. Once you import these instructions
into the Logix project, they appear as UNK instructions. You must delete each
UNK instruction and replace it with the appropriate corrected logic.
Once you have resolved any errors, continue the conversion process by using
the Controller Properties dialog box in the Logix Designer application to
assign the chassis size and slot number of the controller. Use the steps that
follow.
1. Click the Controller Properties icon to open the Controller Properties
dialog box.
20 Publication 1756-RM085E-EN-P - September 2020
PLC-5 address
Maps to:
N17:25
N17[25]
R6:100
R6[100]
I:002
I[2]
O:001
O[1]
Mapping the I/O
2. Select Properties. The Controller Properties dialog box appears.
3. Configure the controller by specifying the slot number of the controller
and the chassis size.
4. Click OK.
5. Continue to use the Controller Organizer to specify the I/O modules
and other devices for the controller. The example that follows shows
how to specify the I/O module.
Chapter 1 Converting a PLC-5 or SLC 500 Program into a Logix Project
Publication 1756-RM085E-EN-P - September 2020 21
g. Select the backplane.
h. Right-click and select New Module.
The file structure in a Logix controller is tag-based. To facilitate the
conversion, the Project Migrator creates tags and arrays of tags to align and
map the PLC-5 files. For example:
N7:500 N7[500]
The tags created for physical I/O (For example, I.2) are empty at the end of the
conversion process.
Chapter 1 Converting a PLC-5 or SLC 500 Program into a Logix Project
Completing the MSG
• To continue with the conversion process, use the Logix Designer
application to add all the I/O modules to the tree structure for a Logix
controller.
• Then, program instructions to map the Logix I/O tags to the
converted tags.
• For example, if you add a 16-point input module in slot 2 of the local
chassis, the programming software creates these I/O tag structures:
Local:1.C (configuration information)
Local:1.Data (fault and input data)
• Use a BTD, MOV, or CPS instructions to map the Local:1.Data word
into the I2 tag created by the conversion process.
• An MOV instruction moves one element at a time. A BTD
instruction moves a group of bits, which lets you account for the
offset in the starting bit that occurs when you map an INT data type
to a DINT data type. If consecutive I/O groups map to consecutive
elements in an array, a CPS instruction is more efficient.
For example, if I:000 through I:007 map to Local:1:I.Data[0] through
Local:1:I.Data[7], use:
CPS
SourceLocal:1:I.Data[0]
Destination:I[0]
Length:8
Configuration
• If you use an MOV instruction, do not mix data types. If you mix
data types, the conversion from one data type to another
manipulates the sign bit, which means you cannot be sure that the
high-order bit is set properly.
See Chapter 2 Converting Program Structure on page 25
for more
information about how the Project Migrator converts the PLC-5 or SLC 500
data table.
The Project Migrator only partially converts MSG instructions. Use the Logix
Designer application to configure each MSG instruction by completing the
information on the Communication tab.
22 Publication 1756-RM085E-EN-P - September 2020
IMPORTANT
Other Considerations
Chapter 1 Converting a PLC-5 or SLC 500 Program into a Logix Project
For more information about configuring MSG instructions, see the Logix 5000
Instruction Set Reference Manual, publication 1756-RM003
This manual is available in PDF format in the Rockwell Automation Lit Library.
.
The following are additional issues to keep in mind:
• The time base for instructions is fixed at 1 msec for a Logix controller.
The conversion process scales PLC-5 and SLC 500 presets and
accumulators accordingly. For example, a PLC-5 with a time base of
0.01 sec and a preset of 20 is converted to a time base of 1 msec and a
preset of 200.
• Instruction comments are not converted.
• A Logix controller is a 32-bit based controller. This means that most of
the Logix instructions use 32-bit words, as opposed to the 16-bit words
in PLC-5 processors. This might mean that instructions that use masks
might work differently after the conversion.
• The conversion process creates alias tags for address comments. These
aliases are then used in place of the converted tags.
Alias tags utilize additional memory in a Logix controller, so you may
want to delete those alias tags that you do not plan to use. Use the
Logix Designer application to delete aliases after you import the
project.
Publication 1756-RM085E-EN-P - September 2020 23
IMPORTANT
Conversion step
Page
Introduction
Dividing Logic into Tasks,
Chapter 2
Converting Program Structure
A Logix 5000 controller uses a different execution model than either the PLC-
5 processor or the SLC 500 processor. The Logix 5000 controller operating
system is a preemptive multitasking system that is IEC 61131-3 compliant and
uses:
• Tasks
• Programs
• Routines
This chapter provides a short description of the Logix 5000 controller to help
explain the migration results.
Programs, and Routines
The tasks, programs, and routines work together as follows:
•Tasks: Tasks are used to configure controller execution. A task
provides scheduling and priority information for a set of one or more
programs. You can configure tasks as either continuous, periodic, or
event tasks.
•Programs: Programs are used to group data and logic. A task contains
programs, each with its own routines and program-scoped tags. Once
a task is triggered (activated), all the programs assigned to the task
execute in the order in which they are listed in the Controller Organizer.
Programs are useful for projects developed by multiple programmers.
During development, the code in one program that makes use of
program-scoped tags can be duplicated in a second program, which
minimizes the possibility of tag-name collisions.
•Routines: Routines are used to encapsulate executable code written in
a single programming language.
Routines contain the executable code. Each program has a main
routine that is the first routine to execute within a program. You can
use logic, such as the Jump to Subroutine (JSR) instruction, to call
other routines. You can also specify an optional program fault routine.
Currently, the Project Migrator converts only ladder instructions. SFC and
structured text files are not converted.
Publication 1756-RM085E-EN-P - September 2020 25
As the Project Migrator converts the PLC-5 or SLC 500 logic, consider the
program structures in the table below.
Creating a Continuous Task on page 2624 on page 26
Chapter 2 Converting Program Structure
Conversion step
Page
Creating a Status File on page 27
25on page 27
IMPORTANT
Creating a Continuous Task
Creating Event Tasks
Creating Periodic Tasks for
Creating Event Tasks on page 2624 on page 26
Creating Periodic Tasks for Selectable Timed
For more information on Logix 5000 Controllers, see the Logix 5000 Controllers
Design Considerations Reference Manual, publication 1756-RM094F-EN-P
.
A Logix controller supports one continuous task that operates in a self-
triggered mode. It restarts itself after each completion. The continuous task
operates as the lowest priority task in the controller (one priority level lower
than the lowest periodic task). This means that all periodic tasks will interrupt
the continuous task.
The Project Migrator automatically creates one continuous task named
MainTask with a default watchdog setting of 500 msec. It contains a single
program named MainProgram and uses a main routine named MainRoutine.
Selectable Timed Interrupts
(STIs)
The Project Migrator creates a continuous task, but it uses the EVENT
instruction to better simulate the PLC-5/SLC 500 behavior.
The Project Migrator also creates Event tasks for each program file
configured in the PLC-5 Main Control Program (MCP).
To call each Event task, the Project Migrator creates EVENT instructions
within the continuous task. It uses the PLC-5 status file to determine which is
the first MCP and orders them accordingly, in the MainRoutine.
The SLC 500 processors do not contain an MCP, so ladder program 2, which is
the main ladder program, becomes the main routine.
Processor status word 31 contains the number of the ladder program, if any,
that is designated for use as a selectable timed interrupt (STI). The Project
Migrator creates a Periodic task and converts this program file named
_filenumber_STI into its main routine.
The Project Migrator retrieves the STI interval from the processor status file.
If necessary, the Project Migrator converts the interval to a 1 msec time base.
After the conversion, you will have to edit the task properties to specify its
priority.
26 Publication 1756-RM085E-EN-P - September 2020
Processor status bit S:2/1 allows enabling and disabling of the STI. A Logix
controller does not support this. The Project Migrator generates a PCE
instruction if it encounters any references to S:2/1.
This status data:
Is handled this way:
Status words 80-127 contain this information.
the program file number; status word 30 contains the interrupt time interval.
S24 INT (Radix:=Decimal) := <value>
Converting Input Interrupts
(DIIs/PIIs)
Creating a Status File
Chapter 2 Converting Program Structure
A Logix controller does not support input interrupts (DIIs or PIIs). If the PLC-
5 processor has a PII or the SLC 500 processor has a DII, the Project Migrator
converts it to a subroutine in the Continuous task. You must edit the Logix
5000 logic to call the converted routine.
Processor status word 46 identifies the program file to be used as a DII or PII.
The Project Migrator generates a PCE instruction and places it in the
converted DII/PII routine.
Within the continuous task, the Project Migrator automatically creates a
subroutine named StatusFile. This StatusFile contains GSV instructions to
retrieve the following controller information.
• The controller local date and time in human readable format
• Fault information about the controller provided by the FAULTLOG
object
• Status for the Battery, bad or missing
• The physical hardware of the controller identified by the
CONTROLLERDEVICE object
• Status for Mode switch in REMOTE
• Status for Forces enabled and present
There are special considerations for some data in the status file as shown in
the table that follows.
MCP status data The PLC-5 processor can support from 1-16 main control programs. Each MCP uses 3 words of status data.
STI status data The Enhanced PLC-5 processor can also support a selectable timed interrupt. The processor status file
contains the interrupt time interval and the number of the program file to execute. Status word 31 contains
DII/PII status data The PLC-5 and SLC 500 processors support an input interrupt. Status word 46 contains the number of the
program file to execute.
A Logix controller does not support this feature. If the import/export file contains PII status data, the PII
program file is converted and placed as a routine in the Continuous program. The conversion process also
places a PCE instruction in the converted routine to identify that the routine was used for a PII.
Indexed addressing Status word 24 contains the current address index used for indexed addressing. A Logix controller does not
use this index value. During the conversion, the process creates a tag for S24:
Publication 1756-RM085E-EN-P - September 2020 27
PLC-5 or SLC file type
Logix array type
Radix
Comments
Page
32
33
instruction.
34
37
38
38
40
40
40
Introduction
Chapter 3
Converting Data
A Logix controller is based on a 32-bit architecture, as opposed to the 16-bit
architecture of PLC-5 and SLC 500 processors. To provide seamless
conversion and the best possible performance, many data table values are
converted to 32-bit values (DINT values). This chapter provides detailed
information about converting various file types. The table that follows shows
the file conversions "at a glance" and where in the chapter you can find the
conversion detail.
O INT BINARY
I INT BINARY
S INT HEX A PCE instruction is generated for each S address. 29 on page
B DINT BINARY The 16-bit value is copied into the 32-bit location and sign-extended. 31 on page
T
C COUNTER
R CONTROL
R to Serial Port Control
N DINT DECIMAL The 16-bit value is copied into the 32-bit location and sign-extended. 35 on page
F REAL
A INT HEX
D DINT HEX The 16-bit value is copied into the 32-bit location and zero-filled. 36 on page
Each address that references a PRE or ACC value generates a PCE
A PCE instruction is generated when overflow (.OV) and underflow
(.UN) bit fields are encountered.
28on page
31
28on page
31
32 on page
33 on page
35
34 on page
36
35 on page
37
37
36 on page
36 on page
38
Publication 1756-RM085E-EN-P - September 2020 29
BT MESSAGE
M0 INT
M1 INT
MG MESSAGE
37 on page
38 on page
38 on page
39 on page
Chapter 3 Converting Data
PLC-5 or SLC file type
Logix array type
Radix
Comments
Page
45
This field:
Specifies the:
N7:212
This data table file and
Could convert to:
Specifies:
N7 with 3 elements
DINT[3] ={42, -56, 1090}
an integer array with three elements
{16#c0000000, 3000, 2550}
members
How PLC-5 and SLC 500
How Logix files identify file
PD PID
SC
ST STRING
CT MESSAGE
files identify data table
values
The PLC-5 and SLC 500 import/export files use DATA statements to identify
file types, as shown in the example below.
DATA <file_reference>:<last_element_number>
<data_value>
The table that follows describes the fields in the example above:
file_reference file type
For example, N identifies an integer file type.
last_element_number
size of the file
The conversion process uses this value to determine the number of elements to place in the
array used for this file.
For example, DATA N7:9 means that file number 7 is an integer file with 10 elements.
40on page
42
This is a SFC status type. 41 on page
42
The RSLogix 5000 structure contains 1 16-bit word (INT) and 82 8-bit
words (SINT).
42on page
43
44on page
types
data_value contents of the file
For example:
DATA N7:2
10 11 12
shows that file number 7 is an integer file with three elements. The values of these elements
are:
N7:010
N7:111
The Logix import/export file uses tag declarations to initialize values. For
example:
elements:
F8 with 1 element REAL := 3.25 a single, real value
T4 with 2 elements [2] := {{16#c0000000, 1000, 910},
an array of two structures; each structure has three
30 Publication 1756-RM085E-EN-P - September 2020
This DATA statement:
Converts to:
...
...
Controller
I/O Addressing
Controller
Original Address
Converted Address
Alias Tag Name
I:021/05
I[17].05
I_021_Bit05
O:035/15
O[29].13
O_035_Bit015
I:021/05
I[21].05
I_021_Bit05
O:035/15
O[35].15
O_035_Bit015
Converting Input (I) and
Output (O) Data
Chapter 3 Converting Data
The conversion process for I/O data tables tries to follow the layout of the
input and output image tables in the PLC-5 and SLC 500 processor. To do this,
the conversion process creates one, single-dimension array for I data and one,
single-dimension array for O data. The size of the input and output image
tables in the PLC-5 or SLC 500 processor determines the size of these
converted arrays.
The conversion process creates single-dimension, INT arrays for I and O files.
The tags names are I and O, respectively. The number of elements in the
converted array is the same as the number of elements in the original data
table file.
For example, in the ASCII text file:
DATA O:177
0X0000 0X0000 ...
DATA I:037
0X0000 0X0000 ...
tag O
type INT[128] (Radix := Binary) := {16#0000, ... }
tag I
type INT[32] (Radix := Binary) := {16#0000, ... }
The PLC-5 processor, SLC 500 processor, and Logix controllers use different
addressing schemes for I/O data. For example:
PLC-5 processor Base 8 (octal)
SLC 500 processor Base 10 (decimal)
Logix controller Base 10 (decimal)
To preserve the original address, the conversion process creates alias tags
based on the physical address. For example:
PLC-5 processor I:007 I[7] I_007
O:010 O[8] O_010
Publication 1756-RM085E-EN-P - September 2020 31
SLC 500 processor I:007 I[7] I_007
O:010 O[10] O_010
Chapter 3 Converting Data
PC5 DATA statement:
Converts to:
...
Original Address
Converted Address
Status data:
How handled:
places a PCE instruction in the converted routine to identify that the routine was used for a PII.
S24 INT (Radix:=Decimal) := <value>
Converting the Status (S)
PC5 file migration
SLC file migration
File Type
Status files are handled differently during the conversion depending on
whether it is a PC5 or SLC file that is being migrated.
• The RSLogix tag name is S.
• RSLogix tag dimension is one more than the dimension specified after
the colon in the Legacy DATA statement.
• Initial values follow the constant conversion rules.
The number of elements in the converted array is the same as the number of
elements in the original data table. For example, in the ASCII text file:
DATA S:127
0X0000 0X0000 ...
S: INT[164] (Radix := Hex) := {16#0000, ... };
The table that follows shows some examples of S addresses and their Logix
equivalents.
S:3 S[3]
S:1/15 S[1].15
S:24 S24
There are special considerations for some data in the status file as shown in
the table that follows:
MCP status data The PLC-5 processor can support from 1-16 main control programs. Each MCP uses 3 words of status data.
Status words 80-127 contain this information.
STI status data The Enhanced PLC-5 processor can also support a selectable timed interrupt. The processor status file
contains the interrupt time interval and the number of the program file to execute. Status word 31 contains
the program file number; status word 30 contains the interrupt time interval
DII/PII status data The PLC-5 and SLC 500 processors support an input interrupt. Status word 46 contains the number of the
program file to execute.
A Logix controller does not support this feature. If the import/export file contains PII status data, the PII
program file is converted and placed as a routine in the Continuous program. The conversion process also
Indexed addressing Status word 24 contains the current address index used for indexed addressing. A Logix controller does not
use this index value. During the conversion, the process creates a tag for S24:
• The RSLogix tag name is S.
• RSLogix tag dimension is based off the number of initial values
present.
• Initial values follow the constant conversion rules.
32 Publication 1756-RM085E-EN-P - September 2020
Chapter 3 Converting Data
SLC DATA statement:
Converts to:
...
This DATA statement:
Converts to:
...
Original Address
Converted Address
Tags created through GSV
Converting the Binary (B)
• If legacy logic references the file type (S) with the number following,
the number will be removed during the migration.
The number of elements in the converted array is the same as the number of
elements in the original data table file. For example, in the ASCII text file:
during conversion
File Type
DATA S:0
0X0000 0X0000 ...
...
DATA S2:0
0X0000 0X0000 ...
See Creating a Status File on page 27
Project Migrator creates status files and uses GSV instructions.
A B file is migrated by converting 16-bit values into 32-bit values by filling the
upper 16 bits with zeros. This method of conversion lets instructions that
manipulate B files work correctly, except for BSL, BSR, and BTD instructions.
You have to rework these instructions because shifting bits that would have
moved into another 16-bit word might only shift into the upper (or lower) 16
bits of the same 32-bit word in the Logix architecture.
S: INT[128] (Radix := Hex) := { 16#0000, ... };
S: INT[128] (Radix := Hex) := { 16#0000, ... };
• Status and Forcestatus are new INT tags to retrieve Status and Force
abled values through GSV created during conversion.
en
• DateTime is a DINT[7] array to retrieve the Date/Time values through
GSV during conversion.
• MinorFaults is a DINT to retrieve the fault values through GSV created
during conversion.
in chapter 2 to understand how the
The conversion process creates a single-dimension, DINT array for the B file.
The tag name is Bx (where x is the PLC-5 or SLC 500 data table file number).
The number of elements in the converted array is the same as the number of
elements in the original data table file.
For example, in the ASCII text file:
DATA B3:15
153 227 ...
tag B3
type DINT[16] (Radix := Binary) := {153, 227, ... }
The table that follows shows examples of B addresses and their Logix
equivalents:
B3.4/1 B3[4].1
B3/65 B3[4].1
Publication 1756-RM085E-EN-P - September 2020 33
Chapter 3 Converting Data
Word
PLC-5/SLC 500 bits
Logix bits
Mnemonic
Description
0
14
30
TT
timing
0
13
29
DN
done 0 na
28
FS
first scan (SFC use)
0
na
27
LS
last scan (SFC use)
0
na
26
OV
overflow
0
na
25
ER
error
2
na
na
ACC
accumulator value
This DATA statement:
Converts to:
base.
Original Address
Converted Address
T4:1.0/EN
T4:1.ACC
Converting the Timer (T)
File Type
Timers in the PLC-5 and SLC 500 processors consist of a 16-bit preset value, a
16-bit accumulator value, and a time base of 1 sec or 10 msec. s in a Logix
controller consist of a 32-bit preset value, a 32-bit accumulator values, and a 1
msec time base.
The conversion process creates a single dimension array of structures for the
T file. The tag name is Tx (where x is the PLC-5 or SLC 500 data table file
number). The number of elements in the converted array is the same as the
number of elements in the original data table file. Each element in the array is
a structure, which consists of three, 32-bit DINT words. The table that follows
shows a comparison of the PLC-5/SLC 500 bits and the Logix bits:
0 15 31 EN enable
1 na na PRE preset value
For example, in the ASCII text file:
DATA T4:1
0xE000 1 123
tag T4
type [2] := {16#E0000000, 1000, 123000}
The .PRE and .ACC values were converted from a 1 second time
The table that follows shows some T addresses and their Logix equivalents:
T4:1 T4[1]
T4:1/15
T4:1/EN
T4:1.1
T4:1.PRE
T4:1.2
T4[1].EN
T4[1].PRE
T4[1].ACC
34 Publication 1756-RM085E-EN-P - September 2020
Chapter 3 Converting Data
Word
PLC-5/SLC 500 bits
Logix bits
Mnemonic
Description
0
14
30
CD
count down
0
13
29
DN
done
0
12
28
OV
overflow
0
11
27
UN
underflow
This DATA statement:
Converts to:
...
Original Address
Converted Address
C5:2.0/CU
Converting the Counter (C)
Conversion rules
File Type
• The PRE and ACC values are converted to equivalents for a 1 msec time
base.
• The first time base encountered for an individual is used for
converting the preset and accumulator values each time that appears.
•Each logic reference to a PRE or ACC value generates a
PCE instruction.
The conversion process creates a single dimension array of COUNTER
structures for the C file. The tag name is Cx (where x is the PLC-5 or SLC 500
data table file number). The number of elements in the converted array is the
same as the number of elements in the original data table file. Each element in
the array is a COUNTER structure, which consists of three, 32-bit DINT
words. The following table shows a comparison of the PLC-5/SLC 500 counter
and the Logix counter:
0 15 31 CU count up
0 10 26 UA update accum(SLC only)
1 na na PRE preset value
2 na na ACC accumulator value
For example, in the ASCII text file:
DATA C5:4
0xF800 500 0
tag C5
type COUNTER[5] := {{16#F8000000, 500, 0 }, ... }
• The PRE and ACC values do not receive any special manipulation
during the conversion.
• PCE messages are generated along with OV or UN values.
The table that follows shows C addresses and their Logix equivalents:
C5:2 C5[2]
C5:2/15
C5:2/CU
C5[2].CU
C5:2.1
C5:2.PRE
C5[2].PRE
Publication 1756-RM085E-EN-P - September 2020 35
Chapter 3 Converting Data
C5:2.ACC
Word
PLC-5/SLC 500 bits
Logix bits
Mnemonic
Description
0
12
28
EM
empty
0
11
27
ER
error 0 10
26
UL
unload
0 9 25
IN
inhibit
1
NA
NA
LEN
length
2
NA
NA
POS
position
This DATA statement:
Converts to:
...
Original Address
Converted Address
R6:3.0/EN
Converting the Control (R)
File Type
C5:2.2
C5[2].ACC
The conversion process creates a single dimension array of CONTROL
structures for the R file. The tag name is Rx (where x is the PLC-5 or SLC 500
data table file number). The number of elements in the converted array is the
same as the number of elements in the original data table file. Each element
in the array is a CONTROL structure, which consists of three, 32-bit DINT
words. The table that follows is a comparison of the PLC-5/SLC 500 control
structure and the Logix control structure:
0 15 31 EN enable
0 14 30 EU queue
0 13 29 DN done
For example, in the ASCII text file:
DATA R6:19
0xFFF00 0 0
tag R6
type CONTROL[20] := {{16#FF000000, 0,0 }, ... }
The LEN and POS values do not receive any special manipulation during the
conversion.
The table that follows shows R addresses and their Logix equivalents:
R6:3 R6[3]
R6:3/15
R6:3/EN
R6:3.1
R6:3.LEN
R6[3].EN
R6[3].LEN
36 Publication 1756-RM085E-EN-P - September 2020
DATA statement
Converts to:
...
Original Address
Converted Address
This DATA statement:
Converts to:
Converting the Control (R)
File Type to Serial Port
Converting the Integer (N)
Converting the Floating
Chapter 3 Converting Data
The SERIAL_PORT_CONTROL is a structure similar to Control R. R types are
converted to SERIAL PORT CONTROL tags only if the R file type is used in a
serial port instruction.
Control
File Type
During the conversion process, the Control R file type from the PLC-5/SLC is
copied to both a CONTROL tag array and a SERIAL_PORT_CONTROL tag
array in Logix Designer.
Once all of the R data has been migrated to the SERIAL_PORT_CONTROL
type, you can remove the R data equivalent.
If an instruction that requires an R file type (or SERIAL_PORT_CONTROL
type post conversion) uses an N file type instead, the N file type will be treated
as an R file type and converted. Treating an N file type as an R file type
requires 3 N elements.
The conversion process creates a single-dimension, INT array for the N file.
The tag name is Nx (where x is the PLC-5 or SLC 500 data table file number).
The number of elements in the converted array is the same as the number of
elements in the original data table file.
For example, in the ASCII text file:
DATA N7:99
153 227 ...
tag N7
type INT[100] (Radix := Decimal) := {153, 227, ... }
Point (F) File Type
The table that follows shows N addresses and their Logix equivalents:
N7:0
N7:1/2
N7[0]
N7[1].2
The conversion process creates a single-dimension, REAL array for the F file.
The tag name is Fx (where x is the PLC-5 or SLC 500 data table file number).
The number of elements in the converted array is the same as the number of
elements in the original data table file.
For example, in the ASCII text file:
DATA F8:6
1.23 4.56 ...
...
tag F8
type REAL[7] := {1.23, 4.56, ... }
The table that follows shows an example F address and its Logix equivalent:
Publication 1756-RM085E-EN-P - September 2020 37
Chapter 3 Converting Data
Original Address
Converted Address
This DATA statement:
Converts to:
Original Address
Converted Address
A9:5/6
A9[5].6
This DATA statement:
Converts to:
Original Address
Converted Address
Converting the ASCII (A) File
Converting the Decimal (D)
Converting the Block-
Type
F8:3 F8[3]
The conversion process creates a single-dimension, INT array for the A file.
The tag name is Ax (where x is the PLC-5 or SLC 500 data table file number).
The number of elements in the converted array is the same as the number of
elements in the original data table file.
For example, in the ASCII text file:
File Type
DATA A9:1
24930 25444
tag A9
type INT[2] := {24930, 25444}
The table that follows shows some A addresses and their Logix equivalents:
A9:4 A9[4]
The conversion process creates a single-dimension, INT array for the D file.
The tag name is Dx (where x is the PLC-5 or SLC 500 data table file number).
The number of elements in the converted array is the same as the number of
elements in the original data table file.
For example, in the ASCII text file:
DATA D10:2
256 512 768
tag D10
type INT[3] := {256, 512, 768}
Transfer (BT) File Type
38 Publication 1756-RM085E-EN-P - September 2020
The table that follows shows an example D address and its Logix equivalents:
D10:0 D10[0]
The BT file type appears only in 6200 Legacy files (PC5).
The conversion process creates an individual MESSAGE structure for each
element in the BT file (not an array of structures), because MESSAGE tags
cannot be array elements. The tag name is BTx (where x is the PLC-5 or SLC
500 data table file number).
Word
PLC-5/SLC 500 bits
Logix bits
Mnemonic
Logix Designer
Description
0
14
30
EU
EU
queue
0
13
29
DN
DN
done
0 9 25
IN
IN
inhibit
0 8 24
FD
FD
found 0 7
na
RW
na 1
na
na
RLEN
REQ_LEN
length
2
na
na
DLEN
DN_LEN
position
3
na
na
FILE
RemoteIndex
This DATA statement:
Converts to:
CacheConnections := TRUE);
Original Address
Converted Address
BT11:5.RLEN
BT11_5.RLEN
Block-transfer conversion
The initial values appearing in the Legacy DATA statement are first
partitioned into sets of 6 individual elements.
The mapping from BT type to Logix Designer MESSAGE type is shown in the
table that follows:
Mnemonic
0 15 31 EN EN enable
0 12 28 EM EM empty
0 11 27 ER ER error
0 10 26 UL UL unload
Chapter 3 Converting Data
4 na na ELEM RemoteElement
5 na na RGS na rack, group, slot
Only the local message information is converted, which consists of the
message type, the message itself, and the message length. After the
conversion, use the programming software to configure the message.
The table that follows shows some BT addresses and their Logix equivalents:
BT11:5 BT11_5
rules
Publication 1756-RM085E-EN-P - September 2020 39
• The MessageType is set to either Block Transfer Read or Block Transfer
Write, depending on the PLC-5 block-transfer instruction.
• The LocalTag is set to the tag specified by the PLC-5 block-transfer
instruction.
Chapter 3 Converting Data
This SLOT statement:
Converts to:
type INT[3300] () := [0, 0, ...]
Original Address
Converted Address
M1:1/1
M1_1[1]
Message type
Logix message type
TYPEDWRITE
PLC5 Typed Write
PLC3_WORDRANGEREAD
PLC3 Word Range Read
PLC3_WORDRANGEWRITE
PLC3 Word Range Write
PLC2_UNPROTECTEDREAD
PLC2 Unprotected Read
PLC2_UNPROTECTEDWRITE
PLC2 Unprotected Write
Converting the M0 and M1
Converting the Message
File Types
The conversion process creates one single-dimension, INT array for the M0x
and M1x (where x is the PLC-5 or SLC 500 data table file number). The number
of elements in the converted array is the same as the number of elements in
the original data table file.
tag M0_4
type INT[3300] () := [0, 0, ...]
tag M1_4
The table that follows shows some M0/M1 addresses and their Logix
equivalents:
M0:0/1 M0_0[1]
An MG file is converted to a MESSAGE type tag. The MG file type appears only
in 6200 Legacy files (PC5).
The conversion process creates an individual MESSAGE structure for each
element in the MG file (not an array of structures). MESSAGE tags cannot be
array elements. The tag name is MGx (where x is the PLC-5 or SLC 500 data
table file number). The table below shows a comparison of the PLC-5/SLC 500
MG structure and the Logix Designer MESSAGE structure:
The initial values appearing in the Legacy DATA statement are first
partitioned to into sets of 56 individual elements.
The mapping from MG type to Logix Designer message type is shown below:
0 15 31 EN EN Enable
0 9 25 NR NR
0 8 24 TO TO
1 N/A N/A ERR ERR Error value
The table that follows shows some MG addresses and their Logix equivalents.
MG9:5 MG9_5
• The MessageType is set to the appropriate type, depending on the
message instruction.
• The LocalTag attribute of the MESSAGE structure is computed as
follows:
• The file number is extracted from the most significant byte of the
16th element of the set of initial values for an element.
• The word offset is extracted from the least significant byte of the
16th element of the set of initial values.
• The file number is also used to determine what the file type is based
on usage.
• The generated tag is the value of the LocalTag attribute.
Publication 1756-RM085E-EN-P - September 2020 41
Chapter 3 Converting Data
Original Address
Converted Address
PD10:1.0/15
Word
Legacy Bit #
Logix Designer UDT
Mnemonic
Description
0 3 3
OV
Overflow
0 4 4
ER
Error 0 5 5 DN
Done
Converting the PID (PD) File
Converting SFC Status (SC)
• After the conversion, you need to provide the communication path of
the message.
A PD file is converted to a PID type tag.
Type
The conversion process creates a single dimension array of PID structures for
the PD file. The tag name is PDx (where x is the PLC-5 or SLC 500 data table
file number). The number of elements in the converted array is the same as
the number of elements in the original data table file. Each element in the
array is a PID structure.
The following table lists shows some PD addresses and their Logix
equivalents:
Type
PD10:1 PD10[1]
PD10:1/15
PD10:1/EN
PD10:1.2 PD10[1].SP
PD10[1].EN
Although the PID instruction has been migrated, the PID instruction has
many parameters that do not convert directly to the Logix Designer
application. The migration must be verified.
For the SC type, a UDT is created that mimics the file type structure of an SC
so the data is not lost. Look for the PCE instructions that are created for all
SC-related statements, address references, and instructions. The table that
{84,104,101,114,101,0,...0}} };
Note:
No empty spaces are allowed in the initialization of structures.
Therefore the STR element of the tag is shown with zeros
For this file format:
• The ASCII strings are broken apart. In other words, a data statement is
created for each ASCII string, not each ASCII string file.
• The Project Migrator then creates a single dimension tag.
• These data statements do not display the <# of Elements> after the
<File Reference>. In this case, this integer represents an actual element
number. The data values contain integers. The first value
encountered is the byte length in decimal format. The remaining
values are shown as 41 16- bit words in hexadecimal format.
For example, in the ASCII text file:
DATA ...ST15:000
5 0X4865 0X6C6C 0X6F00
0X0000 0X0000 ...
DATA ...ST15:001
5 0X5468 0X6572 0X6500
0X0000 0X0000 0X0000
Note:
No empty spaces are allowed in the initialization of structures.
Therefore, the STR element of the tag is shown with zeros
The following table summarizes the ladder instructions specifically related to
strings.
string to integer conversion ACI ACI STOD
integer to string conversion AIC AIC DTOS
string compare for less than or equal na na LEQ
append on string to another ACN ACN CONCAT
44 Publication 1756-RM085E-EN-P - September 2020
Description
PLC-5 Instruction
SLC 500 Instruction
Logix Instruction
convert a string to all lowercase letters
na
na
LOWER
Word
Legacy
RSLogix 5000
Legacy
RSLogix
Description
0
14
30
EN
EN
enable
0
10
26
CO
CO 0 9 25
EW
EW 1
na
na
ERR
ERR
error value
2
na
na
RLEN
REQ_LEN
length
3
na
na
DLEN
DN_LEN
position
4
na
na
FILE
RemoteIndex
5 na
na
ELEM
RemoteElement
copy remainder of constant
&Amx
16#6D78
Converting the ControlNet
insert a string into another string na na INSERT
convert a string to all uppercase letters na na UPPER
The CT type appears only in the PC5 files. The initial values appearing in the
Legacy Data statement are first partitioned into sets of 22 individual
(CT) File Type
elements. The table below shows the file comparisons.
Chapter 3 Converting Data
Bit #
0 15 31 TO TO
0 13 29 ST ST
0 12 28 DN DN done
0 11 27 ER ER error
Bit #
Mnemonic
5000 Mnemonic
For each partition of the CT array, a new RSLogix MESSAGE structure is
created. This structure’s name is formed by concatenating the Legacy
filename, and the Legacy element index separated by an underscore.
The MessageType and LocalTag attributes of the MESSAGE structure are set
later when a CIO instruction that uses this CT element as the fourth operand
is encountered. Then, the fifth operand is used to set the LocalTag.
Converting Constant Values
Constant type PLC-5/SLC 500 example Conversion Conversion rule
Integer &N49
Binary &B00110001 2#00110001 replace &B with 2#
ASCII &A1
Hex &H0031
Publication 1756-RM085E-EN-P - September 2020 45
-49
0x0032
0X0033
The conversion process maintains constants. The format of converted
constants varies slightly to conform to Logix format requirements.
For example:
49
-49
16#0031
16#0031
16#0032
16#0033
remove &N, if present
copy remainder of constant
convert to hex constant
replace &H, 0x, or 0X with 16#
copy remainder of constant
Chapter 3 Converting Data
Constant type
PLC-5/SLC 500 example
Conversion
Conversion rule
3.45
3.45
copy the constant as is
Type
PLC-5/SLC 500 example
Conversion
Conversion rule
Alias N7_0 replace the indirect address.
Element
Description
1
Heat segment 1: time in minutes
4
Heat segment 2: temperature in F°
5
Room temperature cooling time in minutes
Converting Indirect
Converting indirect
BCD &D0049 16#0031 convert to hex constant
Octal &O61 8#61 replace &O with 8#
copy remainder of constant
Float -12.34E-12
-12.34E-12
this syntax is completely compatible
Indirect addressing is when a part of an address is replaced with a reference
to another address. The PLC-5 and SLC 500 processors can use an address
Addresses
reference to define these address parts:
• file number
• word or element number
• bit number (only for B type addresses)
The Project Migrator supports indirect addresses, except when the indirection
is an array specification. Indirect array specifications are converted to aliases,
as shown in the example that follows.
File number N[N7:0]:5 na The Project Migrator cannot convert an indirect file number.
A PCE instruction is generated.
Word or element
number
Bit number B3/[N7:0] B3[N7_0 / 16].[N7_0 AND 15] The conversion process must convert to the correct word and
N12:[N7:0] N12[N7_0] N7:0 converts to array tag N7[0].
Alias N7_0 replaces the indirect address.
N12:[T4:1.PRE] N12[T4_1_PRE] T4:1.PRE converts to array tag T4[1].PRE.
Alias T4_1_PRE replaces the indirect address.
bit within that word.
Indirect addressing on the file number can actually be implemented after the
conversion process if the original data table files are consecutive. For
addressing on the file
number
example, a PLC-5 processor has five program files with heat treating "recipes"
in them.
46 Publication 1756-RM085E-EN-P - September 2020
0 Recipe number
2 Heat segment 1: temperature in F °
3 Heat segment 2: time in minutes
Assume that there is an indirect address reference to N[N7:0]:0 to read the
recipe number. In the converted project, use RECIPES[N7_0, 0], where N7_0
is the converted form of N7:0. You have to modify the bounds checking
because the original file numbers ranged from 10 to 14, but the first index in
the two-dimensional array ranges from 0 to 4.
Indexed addresses in the PLC-5 and SLC 500 processors are when a #
character precedes the address.
The processor status word S:24 contains the current index value to add to an
address reference. The conversion process adds the value of S:24 to an
indexed values it converts and places a PCE instruction in the output
import/export file.
Publication 1756-RM085E-EN-P - September 2020 47
For example:
#N7:2 N7[2 + S24]
Chapter 3 Converting Data
This instruction:
Converts to:
This field:
Specifies the:
Addresses that specify data
Alias Creation Rules
Converting Symbols
No aliases created (default)
in files (Logix arrays)
Indexed addresses are also used with the file instructions to operate on files
of data. These instructions use a CONTROL structure to determine the index
value -- the current position within the file.
A Logix controller stores data in arrays, rather than files. Indexed addresses
for PLC-5 and SLC 500 file instructions are converted to array tags, without
adding the value of status word S:24.
The Project Migrator tool creates Logix Designer alias declarations following
specific rules.
• Aliases are literals assigned to specific tag references. These literals are
then used in place of the associated tag reference.
• The Project Migrator creates alias declarations based upon the content
of the legacy documentation import/export file.
• Aliases are also created when the file number, word offset, or bit offset
of an address is indirect.
• Aliases may be created when you choose to have the Project Migrator
create aliases during the migration process.
• Alias declarations are always associated with a tag declaration. If a tag
declaration created by the Project Migrator has an associated radix,
then any aliases based in that tag must be assigned the same radix.
48 Publication 1756-RM085E-EN-P - September 2020
The conversion process converts a symbol to a description. The Project
Migrator gives you the option to have the system create alias tags for symbols.
The Project Migrator converts symbols without aliases being created, as
follows:
The PLC-5 and SLC 500 import/export file uses SYM statements to
identify symbols:
SYM <address_reference> <literal>
The following table describes the fields in the example above.
address_reference address
The conversion process creates a tag to correspond to the actual
address.
literal symbol text
The conversion process converts the symbol text to a description.
The PLC-5 and SLC 500 processors support some symbol formats that are not
supported in a Logix controller. In these cases, the conversion process
modifies the symbol text.
The table below shows how the conversion process modifies the symbol text.
If an address reference has both a symbol and an address comment, the
conversion process concatenates the symbol to the end of the
address comment.
If you choose to have the Project Migrator create aliases, the migration
process is the same, but a Logix Designer alias is generated with the SYM
"name" as the (alias) tag name and the <address reference> is the alias
reference.
Generating alias tags uses up memory in the Logix 5000 processor.
The following table shows the difference between the symbol conversion
options.
The PLC-5 and SLC 500 processors support formatting commands for comment text. The conversion process
The conversion process creates a tag to correspond to the actual address.
The conversion process converts the comment text to a description.
For example:
If an address reference has both a symbol and an address comment, the
conversion process concatenates the symbol to the end of the
address comment.
50 Publication 1756-RM085E-EN-P - September 2020
Instruction
Name
Processor
Parameter
Considerations
Characters
Characters
Introduction
Conversion Rules Review
Instruction List
Chapter 4
Converting Instructions
This chapter explains how the Project Migrator converts individual
instructions.
When converting instructions, the Project Migrator follows these rules:
• Instructions that are not supported by Logix 5000 controllers are
converted with all their parameters intact. A PCE (Programming
Conversion Error) is generated to highlight the error.
• PLC-5 and SLC 500 parameters use 16 bits. They are extended to 32 bits
for Logix parameters.
• All references to S:0/0, S:0/1, S:0/2, and S:0/3 are replaced with the
Logix keywords S:C, S:V, S:Z, and S:N, respectively.
• Each reference to the OV and UN bits of a COUNTER file type results
in a PCE instruction.
• Each logic reference to a PRE or ACC value generates a
PCE instruction.
• Any constant that represents a serial port is always converted to 0, the
Logix serial port.
• Directly modifying the ladder logic text of the PC5/SLC file before
importing can cause a syntax error. The Project Migrator shows the
error and where to find it. It then gives the option to correct the error
and import the file again. Syntax errors should not occur if the
program is exported directly from the PLC-5/SLC application.
ABL ASCII Test Buffer
for Line
ABS Absolute Value SLC 500 Source
ACB ASCII Number of
Characters in
Buffer
ACI ASCII String
to Integer
Publication 1756-RM085E-EN-P - September 2020 51
The following table lists the PLC-5 and SLC 500 instructions alphabetically. It
also includes comments to identify conversion issues:
PLC-5
SLC 500
PLC-5 Channel Channel is set to zero. Generates a serial port control tag.
PLC-5
SLC 500
Channel Channel is set to zero. Generates a serial port control tag.
Control
Destination
Control
Source
Destination
Chapter 4 Converting Instructions
Instruction
Name
Processor
Parameter
Considerations
Receive Buffer
Destination
Destination
Does not convert S:24 for indexing. Uses .POS value from Control.
Destination
Control
Control
String Length
Characters Read
Search
Result
ACL ASCII Clear Buffer SLC 500 Channel Channel is set to zero. Generates a serial port control tag.
Transmit Buffer
ACN ASCII String
Concatenate
ACS Arc Cosine PLC-5
ADD Add PLC-5
AEX ASCII String
Extract
PLC-5
SLC 500
SLC 500
SLC 500
PLC-5
SLC 500
Source A
Source B
Source A
Destination
Source A
Source B
Source
Index
Number
Destination
AFI Always False PLC-5 na
AHL ASCII Set/Reset
Handshake Lines
PLC-5
SLC 500
Channel Channel is set to zero. Generates a serial port control tag.
AND Mask Does not convert S:24 for indexing. Uses .POS value from Control.
OR Mask
Control
Channel Status
AIC ASCII Integer to
String
AND Logical AND PLC-5
PLC-5
SLC 500
SLC 500
Source
Destination
Source A
Source B
ARD ASCII Read
Characters
PLC-5
SLC 500
ARL ASCII Read Line PLC-5
SLC 500
ASC ASCII String
Search
PLC-5
SLC 500
ASN Arc Sine PLC-5 Source
52 Publication 1756-RM085E-EN-P - September 2020
Channel Channel is set to zero. Generates a serial port control tag.
Destination Does not convert S:24 for indexing. Uses .POS value from Control.
String Length
Characters Read
Channel Channel is set to zero. Generates a serial port control tag.
Destination Does not convert S:24 for indexing. Uses .POS value from Control.
Source
Index
Instruction
Name
Processor
Parameter
Considerations
Control File
Control
String Length
Control
String Length
Characters Sent
Bit Address
operated on by using ONS and BTD instructions in parallel branches.
PCE instruction.
Bit Address
operated on by using ONS and BTD instructions in parallel branches.
Destination
Destination Bit
Length
Read
a PCE instruction.
SLC 500 Destination
ASR ASCII String
Compare
ATN Arc Tangent PLC-5
PLC-5
SLC 500
SLC 500
Source A
Source B
Source
Destination
AVE Average PLC-5 File Does not convert S:24 for indexing.
Destination Inserts 0 for dimension to vary.
Length
Position
AWA ASCII Write
with Append
PLC-5
SLC 500
Channel Channel is set to zero. Generates a serial port control tag.
Source Does not convert S:24 for indexing. Uses .POS value from Control.
Characters Sent
AWT ASCII Write PLC-5
SC 500
Channel Channel is set to zero. Generates a serial port control tag.
Source Does not convert S:24 for indexing. Uses .POS value from Control.
Chapter 4 Converting Instructions
BND Branch End PLC-5
na Converts to right bracket (]).
SLC 500
BRK BRK PLC-5 na
BSL Bit Shift Left PLC-5
File Does not convert S:24 for indexing. Logs message directly in the rung along with
SLC 500
Control File
Length If the length is greater than 1, ensure the correct bit numbers are being
BSR Bit Shift Right PLC-5
File Do not use S:24 for indexing. Logs message directly in the rung along with the
SLC 500
Control File
Length If the length is greater than 1, ensure the correct bit numbers are being
BST Branch Start PLC-5
na Converts to left bracket ([).
SLC 500
BTD Bit Distribute PLC-5 Source
Source Bit
the PCE instruction.
BTR Block-Transfer
PLC-5 Rack Ignores rack parameter. Converts instruction to MSG instruction and generates
Publication 1756-RM085E-EN-P - September 2020 53
Chapter 4 Converting Instructions
Instruction
Name
Processor
Parameter
Considerations
Module
Ignores module parameter.
Control Block
make adjustments for the 16-bit to 32-bit conversion.
Continuous
Ignores the continuous parameter.
a PCE instruction.
Control Block
make adjustments for the 16-bit to 32-bit conversion.
Continuous
Ignores the continuous parameter.
I/O Transfer
page 62.
SLC 500
message directly in the rung along with the PCE instruction.
Length
Accum
Accum
PCE instruction.
on.
Group Ignores group parameter.
Data File Uses this data file to set the LocalTag attribute. Add RES and FAL instructions to
Length Ignores the length parameter.
BTW Block-Transfer
PLC-5 Rack Ignores rack parameter. Converts instruction to MSG instruction and generates
Write
Group Ignores group parameter.
Module Ignores module parameter.
Data File Uses this data file to set the LocalTag attribute. Add RES and FAL instructions to
Length Ignores the length parameter.
CIO ControlNet
CIR Custom Input
Routine
CLR Clear PLC-5
PLC-5 Control Block Converts to a MSG instruction and generates a PCE instruction.
PLC-5 na There is no Logix equivalent. Generates a PCE instruction.
AGA3, AGA7 and API routines use this instruction. See Converting CAR routines on
Destination
CMP Compare PLC-5 Expression Check the converted expression for correct precedence order.
COP Copy PLC-5
Source Does not convert S:24 for indexing. If source and destination types differ, logs
SLC 500
Destination Does not convert S:24 for indexing.
COR Custom
Output Routine
COS Cosine PLC-5
CPT Compute PLC-5
CTD Count Down PLC-5
CTU Count Up PLC-5
PLC-5 na There is no Logix equivalent. A PCE instruction is generated.
AGA3, AGA7 and API routines use this instruction.
Source
SLC 500
Destination
Destination
SLC 500
Expression Check the converted expression for correct precedence order.
Counter
SLC 500
Preset
Counter
SLC 500
Preset
DCD Decode 4 to 1 of 16 SLC 500 Source There is no Logix equivalent. Logs message directly in the rung along with the
Destination
DDT Diagnostic Detect PLC-5 Source Does not convert S:24 for indexing. Follow the DDT instruction with MOV and FAL
instruction on parallel branches to ensure the correct bits are being operated
54 Publication 1756-RM085E-EN-P - September 2020
Instruction
Name
Processor
Parameter
Considerations
Result
Does not convert S:24 for indexing.
Compare Control
Length
Position
Result Control
Length
Destination
Reference
Compression
Section
Program
Instruction
PCE instruction.
Instruction
PCE instruction.
Position
Mode
Chapter 4 Converting Instructions
Reference Does not convert S:24 for indexing.
Position
DDV Double Divide SLC 500 na There is no Logix equivalent. Logs message directly in the rung along with the
PCE instruction.
DEG Degree PLC-5
SLC 500
DFA Diagnostic Fault
PLC-5 na There is no Logix equivalent. Logs a message to the message directly in the
Annunciator
Source
Destination
rung along with the PCE instruction.
The DDMC routine uses this instruction to provide diagnostic and automatic
messaging capabilities to an HMI. See Converting CAR routines on page 62.
DIV Divide PLC-5
SLC 500
Source A
Source B
DTR Data Transition PLC-5 Source
Mask
ENC Encode 1 of 16 to 4 SLC 500 Source There is no Logix equivalent. Logs message directly in the rung along with the
PCE instruction.
Destination
EOC End of SFC
EOR End of Rung PLC-5
PLC-5 na Ignores as part of an SFC section.
na No action is taken.
SLC 500
EOT End of Transition PLC-5 na Ignores as part of an SFC section.
ESE End of SFC
EOP End of SFC
EQU Equal to PLC-5
ERI Error on Input
PLC-5 na Ignores as part of an SFC section.
PLC-5 na Ignores as part of an SFC section.
Source A
SLC 500
Source B
PLC-5 na There is no Logix equivalent. Logs message directly in the rung along with the
ERO Error on Output
ESI End of SFC
FAL File Arithmetic PLC-5 Control
Publication 1756-RM085E-EN-P - September 2020 55
PLC-5 na There is no Logix equivalent. Logs message directly in the rung along with the
PLC-5 na Ignores as part of SFC section.
Simultaneous
Branch
Length
Chapter 4 Converting Instructions
Instruction
Name
Processor
Parameter
Considerations
Result
Does not convert S:24 for indexing.
Length
Position
Result Control
Control File
Length
Control File
Length
Position
Length
Does not convert S:24 for indexing.
Converting FOR/NXT/BRK instructions on page 63.
Initial Value
Terminal Value
Step Size
Destination Uses the .POS value for indexing, not S:24.
Expression Uses the .POS value for indexing, not S:24. Check converted expression for
correct precedence order.
FBC File Bit Compare PLC-5 Source Does not convert S:24 for indexing. Follow the DDT instruction with MOV and FAL
instruction on parallel branches to ensure the correct bits are being operated
on.
Reference Does not convert S:24 for indexing.
Compare Control
Length
Position
FFL FIFO Load PLC-5
SLC 500
Source
FIFO Does not convert S:24 for indexing.
Position
FFU FIFO Unload PLC-5
SLC 500
FLL File Fill PLC-5
SLC 500
FIFO Does not convert S:24 for indexing.
Destination
Source
Destination
FOR For Loop PLC-5 Label Converts label "n" to "label_n" because a Logix label cannot be a number. See
Index
FRD From BCD PLC-5
SLC 500
FSC File Search and
PLC-5 Control
Compare
Source
Destination
Length
Position
Mode
Expression Uses the .POS value for indexing, not S:24. Check converted expression for
correct precedence order.
GEQ Greater Than or
Equal to
GRT Greater Than PLC-5
PLC-5
SLC 500
SLC 500
Source A
Source B
Source A
Source B
56 Publication 1756-RM085E-EN-P - September 2020
Instruction
Name
Processor
Parameter
Considerations
Preset
Accum
Enable
PCE instruction.
PCE instruction.
Destination
Length
PCE instruction.
PCE instruction.
Return Parameters
Chapter 4 Converting Instructions
HSC High Speed
Counter
SLC 500 Counter There is no Logix equivalent. Logs message directly in the rung along with the
PCE instruction.
Preset
HSD HSC Interrupt
Disable
SLC 500 Type There is no Logix equivalent. Logs message directly in the rung along with the
PCE instruction.
Counter
HSE HSC Interrupt
SLC 500 Counter There is no Logix equivalent. Logs message directly in the rung along with the
HSL HSC Load SLC 500 Counter There is no Logix equivalent. Logs message directly in the rung along with the
Source
Length
IDI Immediate Data
Input
IDO Immediate Data
Output
PLC-5 Data File Offset There is no Logix equivalent. Logs message directly in the rung along with the
Length
PCE instruction.
PLC-5 Data File Offset There is no Logix equivalent. Logs message directly in the rung along with the
Length
PCE instruction.
Destination
IID I/O Interrupt
Disable
IIE I/O Interrupt
Enable
IIM Immediate Input
with Mask
SLC 500 Slots There is no Logix equivalent. Logs message directly in the rung along with the
PCE instruction.
SLC 500 Slots There is no Logix equivalent. Logs message directly in the rung along with the
PCE instruction.
SLC 500 Slot There is no Logix equivalent. Logs message directly in the rung along with the
PCE instruction.
Mask
IIN Immediate Input PLC-5 RRG There is no Logix equivalent. Logs message directly in the rung along with
the PCE instruction.
INT I/O Interrupt SLC 500 na There is no Logix equivalent. Logs message directly in the rung along with the
INV Invert PLC-5 na There is no Logix equivalent. Logs message directly in the rung along with the
IOM Immediate Output
with Mask
SLC 500 na There is no Logix equivalent. Logs message directly in the rung along with the
PCE instruction.
IOT Immediate Output PLC-5 RRG
JMP Jump PLC-5
Label Converts label "n" to "label_n" because a Logix label cannot be a number.
SLC 500
JSR Jump to
Subroutine
PLC-5
SLC 500
Ladder Program Converts to a routine name.
Input Parameters
LAB Label PLC-5 na Ignores as part of SFC section.
LBL LBL PLC-5
SLC 500
Label Converts label "n" to "label_n" because a Logix label cannot be a number.
You must modify the converted FOR instruction.
Publication 1756-RM085E-EN-P - September 2020 57
Chapter 4 Converting Instructions
Instruction
Name
Processor
Parameter
Considerations
Control File
Length
Position
Control File
Length
Position
High Limit
Destination
Destination
LEQ Less Than or
Equal to
PLC-5
SLC 500
LES Less Than PLC-5
SLC 500
LFL LIFO Load PLC-5
SLC 500
LFU LIFO Unload PLC-5
SLC 500
LIM Limit PLC-5
SLC 500
LN Natural Log PLC-5
SLC 500
LOG Log to the Base 10 PLC-5
SLC 500
MCR Master Control
Relay
MEQ Mask Compare
Equal to
PLC-5
SLC 500
PLC-5
SLC 500
MOD Modulo Divide PLC-5
SLC 500
MOV Move PLC-5
SLC 500
MSG Message PLC-5
SLC 500
Source A
Source B
Source A
Source B
Source
LIFO Does not convert S:24 for indexing.
LIFO Does not convert S:24 for indexing.
Destination
Low Limit
Test
Source
Destination
Source
Destination
na
Source Operand
Source Mask
Compare Operand
na There is no Logix equivalent. Logs message directly in the rung along with the
PCE instruction.
Source
Destination
Type Logs message and generates a PCE instruction. Add RES and FAL instructions to
make adjustments for the 16-bit to 32-bit conversion.
You must configure MSG communication parameters.
MUL Multiply PLC-5
SLC 500
MVM Move with Mask PLC-5
SLC 500
NEG Negate PLC-5
SLC 500
NEQ Not Equal to PLC-5
SLC 500
Source A
Source B
Source Operand
Source Mask
Source
Destination
Source A
Source B
58 Publication 1756-RM085E-EN-P - September 2020
Instruction
Name
Processor
Parameter
Considerations
Selection Branch
Branch
instruction. See Converting FOR/NXT/BRK instructions on page 63.
Destination
Output Word
Output Word
Tieback Value
CV Value
PCE instruction.
PCE instruction.
NOP No Operation PLC-5 na
NOT Logical NOT PLC-5
SLC 500
NSE SFC Next
PLC-5 na Ignores as part of SFC section.
Source
Destination
Chapter 4 Converting Instructions
NSI SFC Next
PLC-5 na Ignores as part of SFC section.
Simultaneous
NXB Next Branch PLC-5
na Converts to a comma (,).
SLC 500
NXT Next PLC-5 Label Does not convert the label number. You must modify the converted FOR
ONS One Shot PLC-5 Source Bit
OR Logical OR PLC-5
SLC 500
Source A
Source B
OSF One Shot Falling PLC-5 Storage Bit
Output Bit Combines output bit and output word.
OSR One Shot Rising PLC-5
SLC 500
OTE Output Energize PLC-5
Storage Bit If SLC 500 instruction, converts to an ONS instruction.
Output Bit Combines output bit and output word.
Destination Bit
SLC 500
OTL Output Latch PLC-5
Destination Bit
SLC 500
OTU Output Unlatch PLC-5
Destination Bit
SLC 500
PID PID PLC-5
SLC 500
Control Block Verify the converted PID configuration parameters.
PV Value
RAC HSC Reset
SLC 500 Counter There is no Logix equivalent. Logs message directly in the rung along with the
Accumulator
RAD Degrees to
Radians
PLC-5
SLC 500
REF SFC Reference PLC-5 na Ignores as part of SFC section.
REF I/O Refresh SLC 500 Channel 0 There is no Logix equivalent. Logs message directly in the rung along with the
RES Reset PLC-5
SLC 500
RET Return PLC-5
SLC 500
Publication 1756-RM085E-EN-P - September 2020 59
Source
Source
Destination
Channel 1
File Reference
Return Parameters
Chapter 4 Converting Instructions
Instruction
Name
Processor
Parameter
Considerations
Interrupt
Preset
Replaces with "?." You must modify the converted RTO instruction.
Accum
Replaces with "?." You must modify the converted RTO instruction.
CPT instruction.
Destination
CPT instruction.
Input Maximum
Scaled Minimum
Scaled Maximum
on page 62.
Branch
Branch
Compression
Compare
PCE instruction.
RHC Read High Speed
Clock
SLC 500 na There is no Logix equivalent. Logs message directly in the rung along with the
PCE instruction.
RMP Ramp SLC 500 na There is no Logix equivalent. Logs message directly in the rung along with the
PCE instruction.
RPC Read Program
Checksum
RPI Reset Pending
RTO Retentive On PLC-5
SBR Subroutine PLC-5
SLC 500 na There is no Logix equivalent. Logs message directly in the rung along with the
PCE instruction.
SLC 500 Slots Converts, but Logix Designer application does not support this instruction.
SLC 500
Time Base Converts time base to 1 millisecond.
Input Parameters
SLC 500
SCL Scale SLC 500 Source Logix Designer does not support this instruction; however, it is converted to a
Rate
Offset
SCP Scale with
SLC 500 Input Logix Designer does not support this instruction; however, it is converted to a
Parameters
Input Minimum
Scaled Output
SDS Smart Directed
Sequencer
PLC-5 na There is no Logix equivalent. Logs message directly in the rung along with the
PCE instruction.
The SDSC routine adds control capability by using the SDS instruction to provide
state machine control for sections of the machine. See Converting CAR routines
SEL SFC Selection
PLC-5 na Ignores as part of SFC section.
SFR SFC Reset PLC-5 File Number There is no Logix equivalent. Logs message directly in the rung along with the
PCE instruction.
SIM SFC Simultaneous
PLC-5 na Ignores as part of SFC section.
SIN Sine PLC-5
SLC 500
SOC SFC Start of
SOP SFC Start of
PLC-5 na Ignores as part of SFC section.
PLC-5 na Ignores as part of SFC section.
Restart at Step
Source
Destination
Program
SOR Start of Rung PLC-5
na Starts output on a new line.
SLC 500
SQC Sequencer
PLC-5 na There is no Logix equivalent. Logs message directly in the rung along with the
60 Publication 1756-RM085E-EN-P - September 2020
Instruction
Name
Processor
Parameter
Considerations
Source
Control File
Does not convert S:24 for indexing.
Length
Control File
Does not convert S:24 for indexing.
Length
Position
Destination
Control File
Length
Position
Length
Control File
Length
Position
Interrupt Disable
PCE instruction.
Interrupt Enable
PCE instruction.
Destination
PCE instruction.
PCE instruction.
Chapter 4 Converting Instructions
SQI Sequencer Input PLC-5
SLC 500
File
Mask
Position
SQL Sequencer Load PLC-5
SLC 500
SQO Sequencer Output PLC-5
SLC 500
SQR Square Root PLC-5
SLC 500
File
Source
File Does not convert S:24 for indexing.
Destination Mask
Source
Destination
SRT Sort PLC-5 Sort File Does not convert S:24 for indexing.
Control File Inserts 0 for dimension to vary.
Position
STD Standard
Deviation
STD Selectable Timed
STE Selectable Timed
PLC-5 File
Destination Inserts 0 for dimension to vary.
SLC 500 na There is no Logix equivalent. Logs message directly in the rung along with the
SLC 500 na There is no Logix equivalent. Logs message directly in the rung along with the
STP SFC Step PLC-5 na Ignored as part of SFC section.
STS Selectable Timed
Interrupt Start
SLC 500 File There is no Logix equivalent. Logs message directly in the rung along with the
PCE instruction.
Time
SUB Subtract PLC-5
SLC 500
Source A
Source B
SUS Suspend SLC 500 Suspend ID There is no Logix equivalent. Logs message directly in the rung along with the
SVC Service
SLC 500 Channel 0 There is no Logix equivalent. Logs message directly in the rung along with the
Communications
Channel 1
SWP Swap SLC 500 Source There is no Logix equivalent. Logs message directly in the rung along with the
PCE instruction.
Publication 1756-RM085E-EN-P - September 2020 61
Chapter 4 Converting Instructions
Instruction
Name
Processor
Parameter
Considerations
Difference
PCE instruction.
Preset
Replaces with "?." You must modify the converted RTO instruction.
Destination
Destination
Converting CAR routines
TAN Tangent PLC-5
TDF Compute Time
Length
Source
SLC 500
SLC 500 na There is no Logix equivalent. Logs message directly in the rung along with the
Destination
TND Temporary End PLC-5
SLC 500
TOD To BCD PLC-5
SLC 500
TOF Off Delay PLC-5
SLC 500
TON On Delay PLC-5
SLC 500
TRC SFC Transition PLC-5 na Ignores as part of SFC section.
UID User Interrupt
Disable
UIE User Interrupt
Enable
UIF User Interrrupt
Flush
XIC Examine On PLC-5
XIO Examine Off PLC-5
XOR Exclusive OR PLC-5
PLC-5 na
PLC-5 na
SLC 500 na There is no Logix equivalent. Logs message directly in the rung along with the
SLC 500
SLC 500
SLC 500
na
Source
Destination
Time Base Converts time base to 1 millisecond.
Preset Replaces with "?." You must modify the converted RTO instruction.
Accum Replaces with "?." You must modify the converted RTO instruction.
Time Base Converts time base to 1 millisecond.
Accum Replaces with "?." You must modify the converted RTO instruction.
PCE instruction.
Also, the Project Migrator does not support Micrologix.
Source Bit
Source Bit
Source A
Source B
XPY X to the Power
of Y
PLC-5
SLC 500
62 Publication 1756-RM085E-EN-P - September 2020
Source A
Source B
The Project Migrator does not convert CAR routines. A PCE instruction is
generated for each CAR related instructions encountered. The CAR routines
are as follows:
• AGA3, AGA7 and API - Use the CIR and COR instructions
• DDMC - Uses the DFA instruction
• SDSC - Uses the SDS instruction
Converting FOR/NXT/BRK
instructions
Chapter 4 Converting Instructions
The structure of FOR/NXT/BRK statements has changed in the Logix
architecture. In the PLC-5 processor, the FOR and NXT instruction enclosed a
section of code that was to be iterated multiple times, while the BRK
instruction allowed a way to break out of the repeating code. In the RSLogix
architecture, the FOR instruction calls a given routine a specific number of
times, so a NXT instruction is not needed. The BRK instruction works in a
similar fashion as in the PLC-5 processor.
Because this architecture change is significant, you will probably have to
consider restructuring your logic.
Publication 1756-RM085E-EN-P - September 2020 63
ID
Text
When logged
supported in the Logix Designer application.
This has been converted but the conversion needs to be validated.
information where applicable. This conversion must be validated.
counter’s Accumulator (ACC) field. The conversion needs to be validated.
counter’s Preset (PRE) field. The conversion needs to be validated.
parallel branches to ensure the correct bits are being operated on.
The conversion must be verified.
correct.
Introduction
PCE Messages
Chapter 5
Programming Conversion Errors (PCE)
Messages
Below is a list of all of the messages that are generated with a PCE instruction.
The text is appended to the rung comments that have the PCE instruction.
The message text begins with asterisks (*) and the words Generated by Translation Tool, and ends with asterisks.
The table that follows lists the message identifiers, descriptions, and when
they are logged:
101 The address references a counter’s Update Accum (UA) bit field. This is not
102 The address references a counter’s Overflow(OV) or Underflow(UN) field.
103 Warning: Status files do not exist in Logix Designer software. GSV
instructions are used in Logix Designer software to obtain controller
105 The address references an indirect file number. It was not converted. Each time an address reference with an indirect file number is
107 The address reference may have an incorrect index. The conversion needs
to be validated.
108 The BTR, BTW or MSG instruction has been converted. However, the
conversion needs to be validated. These instructions have many
parameters that cannot be directly converted and require review.
109 PLC-5 and SLC s use 0.01 second and 1 second timebases. Logix Designer
software uses a 0.001 second time base. The address references a
110 PLC-5 and SLC s use 0.01 second and 1 second timebases. Logix Designer
software uses a 0.001 second time base. The address references a
113 Follow the <FBC or DDT> instruction with MOV and FAL instruction on
114 Although the PID instruction has been converted, the PID instruction has
many parameters that do not convert directly to Logix Designer software.
Each time a reference to a counter’s UA field is encountered (SLC only).
Each time a reference to a counter’s OV or UN field is encountered.
Each time a reference to the S file is encountered.
encountered.
Each time suitable index into the array could not be determined.
Each time a BTR, BTW or MSG instruction is converted.
Each time a reference to a counter’s ACC field was encountered.
Each time a reference to a counter’s PRE field was encountered.
Each FBC and DDT instruction.
Each time a PID instruction is converted.
115 16-bit parameters have been extended to 32-bit. Ensure bit manipulation is
When source and destination types differ in a COP instruction.
121
DFA instruction not supported
Each time a DFA instruction is found.
122
ERI/ERO instruction not supported.
Each time a ERI or ERO instruction is found.
123
IDI/IDO instruction not supported.
Each time a IDI or IDO instruction is found.
124
IIN/IOT instruction not supported.
Each time a IIN or IOT instruction is found.
130
User Interrupt instructions not supported.
Each time a UID, UIE or UIF instruction is found.
131
DDV instruction not supported.
Each time a DDV instruction is found.
132
High Speed Counter instructions not supported.
Each time a HSC/HSD/HSE/ SL or RHC/RAC/TDF instruction is found.
133
I/O Interrupt Enable/Disable instructions not supported.
Each time a IID or IIE instruction is found.
134
IIM/IOM instruction not supported.
Each time a IIM or IOM instruction is found.
135
INT instruction not supported.
Each time a INT instruction is found.
136
REF instruction not supported.
Each time a REF instruction (in SLC) is found.
141
RMP instruction not supported.
Each time a RMP instruction is found.
142
RPC instruction not supported.
Each time a RPC instruction is found.
143
SVC instruction not supported.
Each time a SVC instruction is found.
144
SWP instruction not supported.
Each time a SWP instruction is found.
145
SQC instruction not supported.
Each time a SQC instruction is found.
146
INV instruction not supported.
Each time a INV instruction is found.
parameters that cannot be directly converted and require review.
the PLC-5/SLC. This fault routine will not be called.
116 The structure of FOR/NXT/BRK statements has changed in the Logix
Each time FOR/NXT/BRK instructions are encountered.
architecture. In the PLC-5 processor, the FOR and NXT instruction
enclosed a section of code that was to be iterated multiple times, while
the BRK instruction allowed a way to break out of the repeating code.
In the RSLogix architecture, the FOR instruction calls a given routine a
specific number of times, so a NXT instruction is not needed. The BRK
instruction works in a similar fashion as in the PLC-5 processor. Because
this architecture change is significant, you will probably have to consider
restructuring your logic.
117 AGA instruction not supported. Each time a AGA instruction is found.
128 SFC routines aren’t migrated. Each time a SFR or EOT instruction is found.
129 Online edit instructions are not supported. Each time a SDS, SIZ or SRZ instruction is found.
137 RPI instruction not supported. Each time a RPI instruction is found.
138 Selectable Timed Interrupt instructions not supported. Each time a STD/STE or STS instruction is found.
139 SUS instruction not supported. Each time a SUS instruction is found.
147 DCD/ENC instruction not supported. Each time a DCD or ENC instruction is found.
148 The CEM, DEM, or EEM instruction has been converted. However, the
Each time a CEM, DEM or EEM instruction is found.
conversion needs to be validated. These instructions have many
149 Modbus messaging is not supported in Logix Designer software. If MSG instruction is configured for Modbus.
150 MSG instruction and associated MESSAGE tag need to be manually verified. Each time a MSG instruction is found.
151 Warning: Status files do not exist in Logix Designer software.
However this status file value is handled through the StatusFile routine.
152 Logix Designer software has a different fault handling mechanism than
S file type indexes that can be directly converted to functionality in Logix
Designer software.
Start of identified legacy processor fault routine.
153 This PII/DII routine is not used by Logix Designer software. Start of identified legacy processor PII/DII routine.
66 Publication 1756-RM085E-EN-P - September 2020
Index
A
A files 37
address comments 48
addresses
constant values 44
indexed 46
indirect 45
aliases
symbols 47
arrays 47
ASCII files 37
B
B files 33
binary files 33
block-transfers
files 38
instructions 51
BRK instructions 62
BT files 38
C
C files 34
CAR instructions 62
chassis 20
completing MSG instructions 22
configuring controller and chassis 20
considerations 23
constant values 44
control files 35
controller 20
ControlNet files 44
conversion steps 12
Conversion/translation process 12
converting
A files 37
address comments 48
B files 33
block-transfer instructions 51
BT files 38
C files 34
Index
CAR instructions 62
completing MSG instructions 22
configure controller and chassis 20
considerations 23
constant values 44
CT files 44
D files 38
data 29
DIIs 26
exporting PLC-5 or SLC 500 program 13
F files 37
files 47
FOR/NXT/BRK instructions 62
I files 31
I/O data 31
indexed addresses 46
indirect addresses 45
M0/M1 files 39
mapping I/O 21
messages 65
MG files 40
MSG instructions 51
N files 36
O files 31
overview 29
PCE instructions 19
PD files 41
PIIs 26
PLC-5 files using the wizard 16
program structure 25
R files 35
S files 31, 46
SC files 42
SLC 500 files using the wizard 16
ST files 42
STIs 26
symbols 47
symbols 47
T files 33
verifying 19
counter files 34
creating
a continuous task 26
a status file 27
event tasks 26
CT files 44
D
D files 38
data 29
Publication 1756-RM085E-EN-P - September 2020 67
Index
decimal files 38
deleting
PCE instructions 19
DIIs 26
E
errors
syntax 18
event tasks 26
exporting
PLC-5 or SLC 500 program 13
F
F files 37
file data 47
file formats
L5K 29
PC5 29
RSP 13
RSS 13
TXT 13
file types
A (ASCII) 37
B (binary) 33
BT (block-transfer) 38
C (counter) 34
CT (ControlNet) 44
D (decimal) 38
F (floating point) 37
I (input) 31
M0/M1 (specialty) 39
MG (message) 40
N (integer) 36
O (output) 31
PD (PID) 41
R (control) 35
R (control) to serial port control 36
S (status) 31, 46
SC (SFC status) 42
ST (string) 42
T (timer) 33
S files 31, 46
SC files 42
selectable timed interrupts
See STIs 26
SFC status files 42
ST files 42
status files 31, 46
STIs 26
string files 42
symbols 47
syntax errors 18
T
T files 33
tags created through GSV 33
timer files 33
translating
See converting 29
translation tool wizard 16
TXT extension 13
Index
U
UNK instructions 20
V
verifying 19
Publication 1756-RM085E-EN-P - September 2020 69
Technical Support Center
Knowledgebase
Local Technical Support Phone Numbers
Literature Library
Product Compatibility and Download Center
Rockwell Automation support
Use these resources to access support information.
(PCDC)
Find help with how-to videos, FAQs, chat, user forums, and product notification
updates.
Access Knowledgebase articles. rok.auto/knowledgebase
Locate the telephone number for your country. rok.auto/phonesupport
Find installation instructions, manuals, brochures, and technical data publications. rok.auto/literature
Get help determining how products interact, check features and capabilities, and
find associated firmware.
rok.auto/support
rok.auto/pcdc
Documentation feedback
Your comments help us serve your documentation needs better. If you have any suggestions on how to improve our content, complete the form at
rok.auto/docfeedback
.
Waste Electrical and Electronic Equipment (WEEE)
At the end of life, this equipment should be collected separately from any unsorted municipal waste.
Rockwell Automation maintains current product environmental information on its website at rok.auto/pec.
Allen-Bradley, expanding human possibility, Logix, Rockwell Automation, and Rockwell Software are trademarks of Rockwell Automation, Inc.
EtherNet/IP is a trademark of ODVA, Inc.
Trademarks not belonging to Rockwell Automation are property of their respective companies.
Rockwell Otomayson Ticaret A.Ş. Kar Plaza İş Merkezi E Blok Kat:6 34752, İçerenkÖy, İstanbul, Tel: +90 (216) 5698400 EEE YÖnetmeliğine Uygundur