Converting PLC-5 or SLC 500 Logic To Logix-Based Logic: Reference Manual
Converting PLC-5 or SLC 500 Logic To Logix-Based Logic: Reference Manual
Converting PLC-5 or SLC 500 Logic To Logix-Based Logic: Reference Manual
ATTENTION: Identifies information about practices or circumstances that can lead to 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.
BURN HAZARD: Labels may be on or inside the equipment, for example, a drive or motor, to alert people that surfaces may reach dangerous
temperatures.
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 for
Personal Protective Equipment (PPE).
Rockwell Automation recognizes that some of the terms that are currently used in our industry and in this publication are not in
alignment with the movement toward inclusive language in technology. We are proactively collaborating with industry peers to
find alternatives to such terms and making changes to our products and content. Please excuse the use of such terms in our
content while we implement these changes.
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.
Change Topic
New Studio 5000 Logix Designer® application branding Studio 5000® environment on page 9
Chapter 1
Converting a PLC-5 or SLC 500 Introduction ................................................................................................ 11
Program into a Logix Project What to expect from the Project Migrator .......................................... 11
Comparing PLC-5/SLC 500 architecture to Logix architecture......... 11
The conversion/migration process ..................................................... 12
Preparing RSLogix 5 or RSLogix 500 files for migration ........................ 13
Exporting a PLC-5 or SLC 500 Program ................................................... 13
Export options ...................................................................................... 13
Export Option 1: Create two separate exports ............................. 13
Export Option 2: Create TXT files and PC5/SLC files for export
at the same time ............................................................................. 15
Use the Project Migrator Wizard to Convert a PLC-5 or SLC 500
Program ...................................................................................................... 16
Wizard step 1 notes .............................................................................. 17
Wizard step 2 notes.............................................................................. 18
Wizard step 3 notes .............................................................................. 18
Wizard step 4 notes .............................................................................. 18
Common Syntax Errors................................................................. 19
Wizard step 5 notes .............................................................................. 19
Wizard step 6 notes .............................................................................. 19
Working with PCE Instructions............................................................... 20
Recognizing the instructions ............................................................. 20
Locating PCE instructions.................................................................. 20
Resolving PCE Instructions ................................................................ 21
Working with UNK Instructions .............................................................. 21
Configuring the Controller and Chassis .................................................. 21
Mapping the I/O ........................................................................................ 22
Completing the MSG Configuration ........................................................23
Other Considerations.................................................................................23
Chapter 2
Converting Program Structure Introduction ............................................................................................... 25
Dividing Logic into Tasks, Programs, and Routines............................... 25
Creating a Continuous Task ..................................................................... 26
Creating Event Tasks ................................................................................ 26
Creating Periodic Tasks for Selectable Timed Interrupts (STIs) ........... 26
Converting Input Interrupts (DIIs/PIIs) ................................................. 27
Chapter 3
Converting Data Introduction ............................................................................................... 29
How PLC-5 and SLC 500 files identify data table values ................... 30
How Logix files identify file types...................................................... 30
Converting Input (I) and Output (O) Data ............................................... 31
Converting the Status (S) File Type........................................................... 31
PC5 file migration ................................................................................ 31
SLC file migration ................................................................................32
Tags created through GSV during conversion ................................... 33
Converting the Binary (B) File Type .......................................................... 33
Converting the Timer (T) File Type ...........................................................34
Conversion rules ..................................................................................34
Converting the Counter (C) File Type ....................................................... 35
Converting the Control (R) File Type ........................................................ 35
Converting the Control (R) File Type to Serial Port Control ...................36
Converting the Integer (N) File Type ........................................................ 37
Converting the Floating Point (F) File Type ............................................. 37
Converting the ASCII (A) File Type ........................................................... 37
Converting the Decimal (D) File Type ..................................................... 38
Converting the Block-Transfer (BT) File Type ........................................ 38
Block-transfer conversion rules ..........................................................39
Converting the M0 and M1 File Types ......................................................39
Converting the Message (MG) File Type ...................................................39
Message conversion rules ................................................................... 40
Converting the PID (PD) File Type ............................................................ 41
Converting SFC Status (SC) Type ............................................................. 41
Converting the ASCII String (ST) File Type ............................................ 42
PC5 file translation.............................................................................. 42
SLC file migration ................................................................................43
Converting the ControlNet (CT) File Type .............................................. 44
Converting Constant Values .................................................................... 44
Converting Indirect Addresses .................................................................45
Converting indirect addressing on the file number..........................45
Converting Indexed Addresses ................................................................ 46
Addresses controlled by the processor status word S:24.................. 46
Addresses that specify data in files (Logix arrays) ............................ 46
Alias Creation Rules ...................................................................................47
Converting Symbols ...................................................................................47
No aliases created (default) .................................................................47
Aliases created ..................................................................................... 48
Chapter 4
Converting Instructions Introduction ............................................................................................... 51
Conversion Rules Review .......................................................................... 51
Instruction List ........................................................................................... 51
Converting CAR routines ................................................................... 62
Converting FOR/NXT/BRK instructions .......................................... 62
Chapter 5
Programming Conversion Errors Introduction ............................................................................................... 65
(PCE) Messages PCE Messages ............................................................................................ 65
Index
Studio 5000 environment 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.
Legal Notices 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.
Introduction 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.
IMPORTANT The Project Migrator converts only ladder instructions. SFC and structured text files are
not converted.
What to expect from the 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
Project Migrator 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.
IMPORTANT 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.
Comparing PLC-5/SLC 500 The Logix architecture differs in several ways from that of the PLC-5® and
SLC™ 500 processors. The Project Migrator converts this legacy architecture
architecture to as it best fits into the Logix architecture. Because of the architectural
Logix architecture differences, you may have to rework the converted Logix project to make sure
it operates properly.
The most significant differences in architecture are listed in the following
table:
The conversion/migration The entire conversion process involves the following steps:
process
Conversion step Page
Preparing RSLogix 5 or RSLogix 500 files for Migration on page 13 9 on page 13
Exporting a PLC-5 or SLC 500 Program on page 13 9 on page 13
Using the Project Migrator Wizard to Convert a PLC-5 or SLC 500 Program 13 on page 16
on page 16
Working with PCE Instructions on page 20 16 on page 20
Working with UNK Instructions on page 21 17 on page 21
Configuring the Controller and Chassis on page 21 18 on page 21
Preparing RSLogix 5 or Before using the Project Migrator, follow these steps to prepare the RSLogix5
and RSLogix 500® files.
RSLogix 500 files
1. To save memory, remove unused references from the PLC-5® and SLC™
for migration 500 application files. These options are available for you in RSLogix™ 5
or RSLogix 500® software:
• Delete unused memory. (Tools> Delete Unused Memory)
• Delete unused addresses. (Tools> Database>Delete Unused
Addresses)
2. To help avoid syntax errors that the Project Migrator will not convert if
encountered in the PC5 file, remove SFC and STX routines.
Exporting a PLC-5 or SLC 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
500 Program 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.
Export options 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.
Export Option 1: Create two For this option, you export the PC5/SLC files and then export the TXT file.
separate exports
2. Select the AB 6200 tab, make your selections, and then select OK.
The Select Export Destination Directory dialog appears.
3. Under Directories, select the directory where the PC5 or SLC™ file
resides.
4. Accept the warning about comments and symbols. select OK.
Use the Project Migrator 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
Wizard to Convert a PLC-5 application, use these steps.
or SLC 500 Program
2. The wizard appears. Use the wizard to walk through steps 1 through 7.
Wizard step 2 notes Select or clear the check box for the option:
• 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.
Wizard step 5 notes 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.
Wizard step 6 notes When the migration is complete, click Exit to close the Project Migrator, or
click Launch RSLogix 5000 to open the Logix Designer application and
Working with The Project Migrator inserts a Possible Conversion Error (PCE) instruction
within the appropriate ladder rung to help you identify possible errors with
PCE Instructions 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) Messages on page 65
Recognizing the Text is appended to the rung comments that have the PCE instruction. The
message text begins with asterisks (*) and the words "Generated by
instructions Translation Tool", and ends with asterisks.
Locating PCE instructions 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.
Resolving PCE Instructions 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.
Working with The Project Migrator converts some PLC-5 and SLC 500 instructions that have
no equivalent in the Logix architecture. Once you import these instructions
UNK Instructions into the Logix project, they appear as UNK instructions. You must delete each
UNK instruction and replace it with the appropriate corrected logic.
Configuring the Controller Once you have resolved any errors, continue the conversion process by using
the Controller Properties dialog box in the Logix Designer application to
and Chassis assign the chassis size and slot number of the controller.
Mapping the I/O 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:
PLC-5 address Maps to:
N7:500 N7[500]
N17:25 N17[25]
R6:100 R6[100]
I:002 I[2]
O:001 O[1]
The tags created for physical I/O (For example, I.2) are empty at the end of the
conversion process.
• 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
Completing the The Project Migrator only partially converts MSG instructions. Use the Logix
Designer application to configure each MSG instruction by completing the
MSG Configuration information on the Communication tab.
IMPORTANT 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.
Introduction 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.
Dividing Logic into Tasks, The tasks, programs, and routines work together as follows:
Programs, and Routines • 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.
IMPORTANT Currently, the Project Migrator converts only ladder instructions. SFC and
structured text files are not converted.
As the Project Migrator converts the PLC-5 or SLC 500 logic, consider the
program structures in the table below.
Conversion step Page
Creating a Continuous Task on page 26 24 on page 26
IMPORTANT For more information on Logix 5000 Controllers, see the Logix 5000 Controllers Design
Considerations Reference Manual, publication 1756-RM094F-EN-P.
Creating a Continuous Task 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.
The Project Migrator creates a continuous task, but it uses the EVENT
instruction to better simulate the PLC-5/SLC 500 behavior.
Creating Event Tasks 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.
Creating Periodic Tasks for 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
Selectable Timed Migrator creates a Periodic task and converts this program file named
Interrupts (STIs) _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.
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.
Converting Input 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
Interrupts (DIIs/PIIs) 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.
Creating a Status File 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.
This status data: Is handled this way:
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
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:
S24 INT (Radix:=Decimal) := <value>
Converting Data
R CONTROL 34 on page
35
R to Serial Port Control 35 on page
36
N DINT DECIMAL The 16-bit value is copied into the 32-bit location and sign-extended. 35 on page
37
F REAL 36 on page
37
A INT HEX 36 on page
37
D DINT HEX The 16-bit value is copied into the 32-bit location and zero-filled. 36 on page
38
BT MESSAGE 37 on page
38
M0 INT 38 on page
39
M1 INT 38 on page
39
MG MESSAGE 39 on page
39
PD PID 40 on page
41
SC This is a SFC status type. 41 on page
41
ST STRING The RSLogix 5000 structure contains 1 16-bit word (INT) and 82 8-bit 42 on page
words (SINT). 42
CT MESSAGE 44 on page
44
How PLC-5 and SLC 500 The PLC-5 and SLC 500 import/export files use DATA statements to identify
file types, as shown in the example below.
files identify data DATA <file_reference>:<last_element_number>
table values <data_value>
The table that follows describes the fields in the example above:
How Logix files identify The Logix import/export file uses tag declarations to initialize values. For
example:
file types
This data table file and Could convert to: Specifies:
elements:
F8 with 1 element REAL := 3.25 a single, real value
N7 with 3 elements DINT[3] ={42, -56, 1090} an integer array with three elements
T4 with 2 elements [2] := {{16#c0000000, 1000, 910}, an array of two structures; each structure has three
{16#c0000000, 3000, 2550} members
Converting Input (I) and 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,
Output (O) Data 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.
The PLC-5 processor, SLC 500 processor, and Logix controllers use different
addressing schemes for I/O data. For example:
Controller I/O Addressing
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:
Controller Original Address Converted Address Alias Tag Name
PLC-5 processor I:007 I[7] I_007
O:010 O[8] O_010
I:021/05 I[17].05 I_021_Bit05
O:035/15 O[29].13 O_035_Bit015
SLC 500 processor I:007 I[7] I_007
O:010 O[10] O_010
I:021/05 I[21].05 I_021_Bit05
O:035/15 O[35].15 O_035_Bit015
Converting the Status (S) Status files are handled differently during the conversion depending on
whether it is a PC5 or SLC file that is being migrated.
File Type
• The RSLogix tag name is S.
PC5 file migration
• RSLogix tag dimension is one more than the dimension specified after
The table that follows shows some examples of S addresses and their Logix
equivalents.
Original Address Converted Address
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:
Status data: How handled:
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
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:
S24 INT (Radix:=Decimal) := <value>
• Status and Forcestatus are new INT tags to retrieve Status and Force
Tags created through GSV
enabled values through GSV created during conversion.
during conversion • 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.
See Creating a Status File on page 27 in chapter 2 to understand how the
Project Migrator creates status files and uses GSV instructions.
Converting the Binary (B) 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
File Type 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.
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.
The table that follows shows examples of B addresses and their Logix
equivalents:
Original Address Converted Address
B3.4/1 B3[4].1
B3/65 B3[4].1
Converting the Timer (T) 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. Timers in a
File Type 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:
Word PLC-5/SLC 500 bits Logix bits Mnemonic Description
0 15 31 EN enable
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
1 na na PRE preset value
2 na na ACC accumulator value
The table that follows shows some T addresses and their Logix equivalents:
Original Address Converted Address
T4:1 T4[1]
T4:1/15 T4[1].EN
T4:1/EN
T4:1.0/EN
T4:1.1 T4[1].PRE
T4:1.PRE
T4:1.2 T4[1].ACC
T4:1.ACC
• The PRE and ACC values are converted to equivalents for a 1 msec time
Conversion rules
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.
Converting the Counter (C) 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
File Type 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:
Word PLC-5/SLC 500 bits Logix bits Mnemonic Description
0 15 31 CU count up
0 14 30 CD count down
0 13 29 DN done
0 12 28 OV overflow
0 11 27 UN underflow
0 10 26 UA update accum(SLC only)
• 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:
Original Address Converted Address
C5:2 C5[2]
C5:2/15 C5[2].CU
C5:2/CU
C5:2.0/CU
C5:2.1 C5[2].PRE
C5:2.PRE
C5:2.2 C5[2].ACC
C5:2.ACC
Converting the Control (R) 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
File Type 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
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:
Original Address Converted Address
R6:3 R6[3]
R6:3/15 R6[3].EN
R6:3/EN
R6:3.0/EN
R6:3.1 R6[3].LEN
R6:3.LEN
Converting the Control (R) 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
File Type to Serial serial port instruction.
Port Control 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.
Converting the Integer (N) 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).
File Type 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 statement Converts to:
DATA N7:99 tag N7
153 227 ... type INT[100] (Radix := Decimal) := {153, 227, ... }
...
The table that follows shows N addresses and their Logix equivalents:
Original Address Converted Address
N7:0 N7[0]
N7:1/2 N7[1].2
Converting the Floating 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).
Point (F) File Type 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:
This DATA statement: Converts to:
DATA F8:6 tag F8
1.23 4.56 ... type REAL[7] := {1.23, 4.56, ... }
...
The table that follows shows an example F address and its Logix equivalent:
Original Address Converted Address
F8:3 F8[3]
Converting the ASCII (A) 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).
File Type The number of elements in the converted array is the same as the number of
elements in the original data table file.
The table that follows shows some A addresses and their Logix equivalents:
Original Address Converted Address
A9:4 A9[4]
A9:5/6 A9[5].6
Converting the Decimal (D) 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).
File Type 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:
This DATA statement: Converts to:
DATA D10:2 tag D10
256 512 768 type INT[3] := {256, 512, 768}
The table that follows shows an example D address and its Logix equivalents:
Original Address Converted Address
D10:0 D10[0]
Converting the The BT file type appears only in 6200 Legacy files (PC5).
Block-Transfer (BT) The conversion process creates an individual MESSAGE structure for each
element in the BT file (not an array of structures), because MESSAGE tags
File Type cannot be array elements. The tag name is BTx (where x is the PLC-5 or SLC
500 data table file number).
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:
Word PLC-5/SLC 500 bits Logix bits Mnemonic Logix Designer Description
Mnemonic
0 15 31 EN EN enable
0 14 30 EU EU queue
0 13 29 DN DN done
0 12 28 EM EM empty
0 11 27 ER ER error
0 10 26 UL UL unload
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
4 na na ELEM RemoteElement
5 na na RGS na rack, group, slot
The table that follows shows some BT addresses and their Logix equivalents:
Original Address Converted Address
BT11:5 BT11_5
BT11:5.RLEN BT11_5.RLEN
The table that follows shows some M0/M1 addresses and their Logix
equivalents:
Original Address Converted Address
M0:0/1 M0_0[1]
M1:1/1 M1_1[1]
Converting the Message An MG file is converted to a MESSAGE type tag. The MG file type appears only
in 6200 Legacy files (PC5).
(MG) File Type
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:
Message type Logix message type
TYPEDREAD PLC5 Typed Read
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:
Word Legacy Bit # RSLogix 5000 Bit # Legacy Mnemonic RSLogix 5000 Mnemonic Description
0 15 31 EN EN Enable
0 14 30 ST ST
0 13 29 DN DN Done
0 12 28 ER ER Error
0 11 27 CO CO
0 10 26 EW EW
0 9 25 NR NR
0 8 24 TO TO
1 N/A N/A ERR ERR Error value
2 N/A N/A RLEN REQ_LEN Length
3 N/A N/A DLEN DN_LEN Position
The table that follows shows some MG addresses and their Logix equivalents.
Original Address Converted Address
MG9:5 MG9_5
MG9:5.ERR MG9_5.ERR
The following table lists shows some PD addresses and their Logix
equivalents:
Original Address Converted Address
PD10:1 PD10[1]
PD10:1/15 PD10[1].EN
PD10:1/EN
PD10:1.0/15
PD10:1.2 PD10[1].SP
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.
Converting SFC 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
Status (SC) Type SC-related statements, address references, and instructions. The table that
follows shows the file comparisons:
Converting the ASCII String ASCII string files are handled differently during the conversion depending on
whether it is a PC5 or SLC file that is being migrated. The size of each
(ST) File Type structure type is equivalent. However, there are some data type differences.
The tables that follow compare the ASCII string structure with the Logix
Designer string structure.
Legacy ASCII String Structure
Legacy ASCII string structures are made up of 42 16-bit words
Word Mnemonic Description
0 LEN This element of the structure
contains the length of the string
1-41 N/A These 41 words contain the string
data. Two ASCII bytes are stored in
each word.
Converting the ControlNet 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.
Word Legacy RSLogix 5000 Legacy RSLogix Description
Bit # Bit # Mnemonic 5000 Mnemonic
0 15 31 TO TO
0 14 30 EN EN enable
0 13 29 ST ST
0 12 28 DN DN done
0 11 27 ER ER error
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
Converting Constant Values The conversion process maintains constants. The format of converted
constants varies slightly to conform to Logix format requirements.
For example:
Constant type PLC-5/SLC 500 example Conversion Conversion rule
Integer &N49 49 remove &N, if present
-49 -49 copy remainder of constant
Binary &B00110001 2#00110001 replace &B with 2#
copy remainder of constant
ASCII &A1 16#0031 convert to hex constant
&Amx 16#6D78
Hex &H0031 16#0031 replace &H, 0x, or 0X with 16#
0x0032 16#0032 copy remainder of constant
0X0033 16#0033
BCD &D0049 16#0031 convert to hex constant
Converting Indirect 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.
Type PLC-5/SLC 500 example Conversion Conversion rule
File number N[N7:0]:5 na The Project Migrator cannot convert an indirect file number.
A PCE instruction is generated.
Word or element N12:[N7:0] N12[N7_0] N7:0 converts to array tag N7[0].
number 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 number B3/[N7:0] B3[N7_0 / 16].[N7_0 AND 15] The conversion process must convert to the correct word and
bit within that word.
Alias N7_0 replace the indirect address.
Converting indirect 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 example, a PLC-5 processor has five program files with heat treating "recipes"
file number in them.
Element Description
0 Recipe number
1 Heat segment 1: time in minutes
2 Heat segment 1: temperature in F °
3 Heat segment 2: time in minutes
4 Heat segment 2: temperature in F°
5 Room temperature cooling time in minutes
Use a text editor to modify these integer files into a two-dimensional array:
RECIPES: DINT[6, 6] (Radix:=Decimal):=[0, 5, 350, 15, 200, 60,
1, 10, 400, 25, 300, 15,
2, 5, 500, 20, 350, 90,
3, 50, 300, 120, 150, 90,
4, 10, 700, 30, 500, 240];
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.
Converting Indexed Indexed addresses in the PLC-5 and SLC 500 processors are when a #
character precedes the address.
Addresses
Addresses controlled by the 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
processor status word S:24 indexed values it converts and places a PCE instruction in the output
import/export file.
For example:
This address: Converts to:
#N7:2 N7[2 + S24]
Addresses that specify data 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
in files (Logix arrays) 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.
Alias Creation Rules 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.
Converting Symbols 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.
No aliases created (default) 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.
This field: Specifies the:
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.
Logix tag: SYM statement: Modified tag:
N7 : INT[9] (Radix := Decimal) SYM N7:2 Kitty N7 : INT[9] (Radix := Decimal, Comment[2]:="Kitty")
B3 : INT[5] (Radix := Binary) SYM B3:4/5 Puppy B3 : INT[5] (Radix := Binary, Comment[4].5:="Puppy")
T4 : [2] SYM T4:0 Ducky T4 : [2] (Comment[0]:="Ducky",
SYM T4:1 2ndDuck Comment[1]:="_2ndDuck")
Aliases created 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.
Associated Tag Symbol Statement Symbol as Tag Comment Symbol as Alias
N7 : INT[9] (Radix := Decimal ); SYM N7:2 Kitty N7 : INT[9] (Radix := Decimal, Kitty OF N7[2]
Comment[2]="Kitty" );
B3 : INT[5] (Radix := Binary); SYM B3:4/5 Puppy B3 : INT[5] (Radix := Binary, Puppy OF B3[4].5
Comment[5]="Puppy");
T4 : [2]; SYM T4:0 Ducky T4 : [2] (Comment[0]="Ducky", Ducky OF T4[0]
SYM T4:1 2dnDuck Comment[1] = "_2ndDuck"; _2ndDuck OF T4[1]
N/A SYM N[N7:0]:0 Piglet N/A No alias will be created.
Unsupported address format
Comments The PLC-5 and SLC 500 import/export file uses AC statements to identify
address comments:
AC [formatting_keyword] <address_reference> <"comment_text">Where:
This field: Specifies the:
formatting_keyword format of the comment text.
The PLC-5 and SLC 500 processors support formatting commands for comment text. The conversion process
ignores these formatting keywords.
address_reference address
The conversion process creates a tag to correspond to the actual address.
literal comment text
The conversion process converts the comment text to a description.
For example:
Logix tag: AC statement: Modified tag:
N7 : INT[9] (Radix := Decimal) AC N7:2 Kitty N7 : INT[9] (Radix := Decimal, Comment[2]:="Kitty")
B3 : INT[5] (Radix := Binary) AC B3:4/5 Puppy B3 : INT[5] (Radix := Binary, Comment[4].5:="Puppy")
Converting Instructions
Introduction This chapter explains how the Project Migrator converts individual
instructions.
Conversion Rules Review 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.
Instruction List The following table lists the PLC-5 and SLC 500 instructions alphabetically. It
also includes comments to identify conversion issues:
Instruction Name Processor Parameter Considerations
ABL ASCII Test Buffer PLC-5 Channel Channel is set to zero. Generates a serial port control tag.
for Line SLC 500 Control
Characters
ABS Absolute Value SLC 500 Source
Destination
ACB ASCII Number of PLC-5 Channel Channel is set to zero. Generates a serial port control tag.
Characters in Control
Buffer
Characters
ACI ASCII String PLC-5 Source
to Integer SLC 500 Destination
ACL ASCII Clear Buffer SLC 500 Channel Channel is set to zero. Generates a serial port control tag.
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
on page 62.
SEL SFC Selection PLC-5 na Ignores as part of SFC section.
Branch
SFR SFC Reset PLC-5 File Number There is no Logix equivalent. Logs message directly in the rung along with the
Restart at Step PCE instruction.
Converting CAR routines 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 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
instructions
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
Introduction 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.
PCE Messages The table that follows lists the message identifiers, descriptions, and when
they are logged:
ID Text When logged
101 The address references a counter’s Update Accum (UA) bit field. This is not Each time a reference to a counter’s UA field is encountered (SLC only).
supported in the Logix Designer application.
102 The address references a counter’s Overflow(OV) or Underflow(UN) field. This Each time a reference to a counter’s OV or UN field is encountered.
has been converted but the conversion needs to be validated.
103 Warning: Status files do not exist in Logix Designer software. GSV Each time a reference to the S file is encountered.
instructions are used in Logix Designer software to obtain controller
information where applicable. This conversion must be validated.
105 The address references an indirect file number. It was not converted. Each time an address reference with an indirect file number is
encountered.
107 The address reference may have an incorrect index. The conversion needs Each time suitable index into the array could not be determined.
to be validated.
108 The BTR, BTW or MSG instruction has been converted. However, the Each time a BTR, BTW or MSG instruction is converted.
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 Each time a reference to a counter’s ACC field was encountered.
software uses a 0.001 second time base. The address references a counter’s
Accumulator (ACC) field. The conversion needs to be validated.
110 PLC-5 and SLC s use 0.01 second and 1 second timebases. Logix Designer Each time a reference to a counter’s PRE field was encountered.
software uses a 0.001 second time base. The address references a counter’s
Preset (PRE) field. The conversion needs to be validated.
113 Follow the <FBC or DDT> instruction with MOV and FAL instruction on Each FBC and DDT instruction.
parallel branches to ensure the correct bits are being operated on.
114 Although the PID instruction has been converted, the PID instruction has Each time a PID instruction is converted.
many parameters that do not convert directly to Logix Designer software.
The conversion must be verified.
115 16-bit parameters have been extended to 32-bit. Ensure bit manipulation is Each time BSL, BSR, BTD instruction is converted.
correct.
S
S files 31, 46
SC files 41
selectable timed interrupts
See STIs 26
SFC status files 41
ST files 42
status files 31, 46
STIs 26
string files 42
symbols 47
syntax errors 19
T
T files 34
tags created through GSV 33
timer files 34
translating
See converting 29
translation tool wizard 16
TXT extension 13
U
UNK instructions 21
V
verifying 20
Literature Library Find installation instructions, manuals, brochures, and technical data publications. rok.auto/literature
Product Compatibility and Download Center Get help determining how products interact, check features and capabilities, and rok.auto/pcdc
(PCDC) find associated firmware.
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.
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.
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