GFK-1918Z - Emerson PAC ME V10-2 - Logic Developer Manual
GFK-1918Z - Emerson PAC ME V10-2 - Logic Developer Manual
GFK-1918Z
Aug 2023
Contents
Welcome .................................................................. 1
1.1 Processor Speed and Memory ........................................................................... 2
1.2 VMWare Support ................................................................................................ 3
1.3 Installation .......................................................................................................... 4
To Install/Update Logic Developer – PLC ................................................ 4
Microsoft Visual C++ ................................................................................ 4
1.4 Product Authorization ......................................................................................... 5
Automatic License Activation ................................................................... 5
License Report ......................................................................................... 5
Contents v
Logic Developer PLC – PAC Machine Edition Contents
GFK-1918Z Aug 2023
Contents vi
Logic Developer PLC – PAC Machine Edition Contents
GFK-1918Z Aug 2023
Contents vii
Logic Developer PLC – PAC Machine Edition Contents
GFK-1918Z Aug 2023
To Change the Number of Inputs for FBD instructions (ADD, AND, MUL, OR,
SUB, XOR) ............................................................................................. 73
To Negate an FBD Parameter (For discrete parameters only) .............. 75
To Negate an FBD Wire (For discrete FBD wires only) ......................... 75
To Move or Duplicate FBD Logic ........................................................... 76
To Zoom in or Zoom Out an FBD Block ................................................. 76
Working with the FBD Editor Online ...................................................... 76
To Turn On/Off or Force a Variable ....................................................... 76
FBD Instructions, Functions, and Function Blocks ................................ 77
5.4 IL Editor ............................................................................................................ 78
To Configure Accumulators .................................................................... 78
To Create an IL Block ............................................................................ 79
To Open an IL Block Editing .................................................................. 79
Working with the IL Editor Offline ........................................................... 79
To Insert an Instruction .......................................................................... 79
To Assign Operands to an Instruction .................................................... 79
To Create a Variable from a Reference Address ................................... 80
To Create a Variable from a Name ........................................................ 80
To Move or Duplicate IL Logic ............................................................... 80
To Insert an Inline Comment .................................................................. 80
To Insert a Block Comment.................................................................... 80
To Reformat IL Logic .............................................................................. 80
Working with the IL Editor Online ........................................................... 80
IL Instructions ......................................................................................... 82
5.5 ST Editor........................................................................................................... 84
To Customize the ST Editor ................................................................... 84
To Create an ST Block ........................................................................... 84
To Create a Parameterized ST Block .................................................... 85
To Open an ST Block for Editing............................................................ 85
Working with the ST Editor Offline ......................................................... 86
To Insert an ST Variable or Keyword ..................................................... 86
To Create a Variable from a Name ........................................................ 86
To Insert a Line Comment ...................................................................... 86
To Insert a Block Comment.................................................................... 87
To Select a Range of ST Logic .............................................................. 87
To Move or Duplicate ST Logic .............................................................. 87
To Locate all Occurrences of a Variable ................................................ 87
Working with the ST Editor Online ......................................................... 87
Online Values ......................................................................................... 87
To view the Value of an ST Parameterized Block Parameter ................ 89
To Change a BOOL Variable’s State ..................................................... 89
To Force a BOOL Variable’s State......................................................... 89
To Remove the Force from a BOOL Variable ........................................ 89
ST Statements, Functions, and Function Blocks ................................... 90
C Blocks ................................................................................................. 91
Working with C Programs ...................................................................... 92
Contents viii
Logic Developer PLC – PAC Machine Edition Contents
GFK-1918Z Aug 2023
PACMotion........................................................... 104
8.1 To Locate a Target’s PACMotion Node ......................................................... 105
8.2 To Add the PACMotion component to a PACSystems Rx3i Target .............. 105
8.3 CAM Editor ..................................................................................................... 105
8.4 Working with the CAM Editor ......................................................................... 106
8.5 To Create a CAM Profile ................................................................................ 106
8.6 Data Logging .................................................................................................. 106
To Generate .dlog Files ........................................................................ 106
8.7 To Add a Data Logging Window (DLW) ......................................................... 107
Contents ix
[Title]Logic Developer PLC – PAC Machine Edition Warnings and Cautions
GFK-1918Z Aug 2023
WARNING
Warning notices are used in this publication to emphasize that hazardous voltages, currents, temperatures, or other
conditions that could cause personal injury to exist in this equipment or may be associated with its use.
In situations where inattention could cause either personal injury or damage to equipment, a Warning notice is used.
CAUTION
Caution notices are used where equipment might be damaged if care is not taken.
These instructions do not purport to cover all details or variations in equipment, nor to provide for every
possible contingency to be met during installation, operation, and maintenance. The information is supplied for
informational purposes only, and Emerson makes no warranty as to the accuracy of the information included
herein. Changes, modifications, and/or improvements to equipment and specifications are made periodically
and these changes may or may not be reflected herein. It is understood that Emerson may make changes,
modifications, or improvements to the equipment referenced herein or to the document itself at any time. This
document is intended for trained personnel familiar with the Emerson products referenced herein.
Emerson may have patents or pending patent applications covering subject matter in this document. The
furnishing of this document does not provide any license whatsoever to any of these patents.
Emerson provides the following document and the information included therein as-is and without warranty of
any kind, expressed or implied, including but not limited to any implied statutory warranty of merchantability or
fitness for a particular purpose.
Welcome
Congratulations on your purchase of PAC Machine Edition, PAC Machine Edition is the
single toolchain to program, configure, and maintain the entire PACSystems automation
portfolio including HMIs, PLCs, VFDs, servos, and edge devices. Providing programmers
with access to widely used IEC 61131-3 and C languages, as well as the superior
integration of PROFINET I/O, PAC Machine Edition 10 delivers a modern, advanced
development environment that helps close the loop between information and automation.
PAC Machine Edition has four product offerings: ProPlus, Professional, Lite, and
QuickPanel CE Development Suites.
The type of targets that can be configured depend on the product purchased. ProPlus and
Professional include the most targets and QuickPanel CE includes the least. The targets
supported based on product are shown in the table below.
PC Control Development
PC Control Runtime
Series 9030 & 9070
View Development
Welcome 1
Logic Developer PLC – PAC Machine Edition Section 1
GFK-1918Z Aug 2023
The remainder of the Getting Starting Guide will focus on the Logic Developer – PLC.
To use Logic Developer - PLC and its tools, you require the following minimum
requirements:
• 64-bit Variations Only: Microsoft® Windows® Server 2016, Windows Server 2019,
Windows Server 2022 (22H2), Windows 10 (22H2), Windows 10 IoT Enterprise, and
Windows 11 (21H2).
• Windows regional settings must be set to English.
The following tools and use cases require administrator rights:
• EGD Management Tool
• PAC 8000 I/O
• PROFINET DCP Utility
• PACS Analyzer
• IEC61850
• Workstations connected to the PLC via a serial connection
Welcome 2
Logic Developer PLC – PAC Machine Edition Section 1
GFK-1918Z Aug 2023
CAUTION
After powering down the guest operating system (O/S) of a VMware virtual machine, configure the
number of cores to use for that virtual machine: match or come as close as possible to the number of
cores in your computer's processor. You cannot configure the number of cores for a virtual machine if its
guest O/S is running or paused.
The APM Motion Programmer does not function if PAC Machine Edition is executed from within VMware.
Other Requirements
• Internet Explorer 10.0, 9.0, or 8.0; with current updates.
• You must install Internet Explorer before installing Machine Edition.
• TCP/IP network protocol (if you use an Ethernet connection).
• .NET Framework 4.5 Full. If the Microsoft .NET Framework is not yet installed, it is
automatically included during the installation of Machine Edition, and a reboot may be
required to complete the installation.
• 2 GB hard disk space. Additional space is required for your projects and temporary files.
Welcome 3
Logic Developer PLC – PAC Machine Edition Section 1
GFK-1918Z Aug 2023
1.3 Installation
With the release of PME 10.2, the installer automatically cleans up older installations. If a
user has a version of PME 9.0 through 10.1.9647 already on the computer, it is
recommended to install PME10.2 WITHOUT uninstalling the previous version. The 10.2
install will prompt the user about needing to uninstall some components to perform the
upgrade. If you have a version of Machine Edition older than 9.0 installed on your
computer, you must uninstall it before installing the latest version. All your existing
projects, settings, and authorizations are preserved following an uninstall operation.
For the latest information, release notes, and supported hardware lists for Machine Edition
products, see the Important Product Information (IPI) document on the disk image. There
are several ways to view this document:
• When running Machine Edition, the IPI is accessed by clicking the Product
Information button located in the Help menu.
• Alternatively, IPIs can be downloaded from our knowledge base at the following URL:
https://emerson-mas.my.site.com/communities/CC_Home
Welcome 4
Logic Developer PLC – PAC Machine Edition Section 1
GFK-1918Z Aug 2023
Activate License: Launches the License and Entitlement Manager. (If not installed, the
software will prompt users to install the manager.)
Remove License: Launches the License and Entitlement Manager. (If not installed, the
software will prompt users to install the manager.)
Reload License: Reloads a license from the license manager service running on the
machine. If you update your license with the License and Entitlement Manager, then
reloading will retrieve the latest license changes that were made to your license.
License Report: Displays a License Report for the local machine. (Instructions are in the
next section.)
License Report
PME has a built-in license feature reporting system. To see which PAC software features
are licensed on the local machine, complete the following steps.
Navigate to the Help menu.
1. Select License Report.
The following license report will display the software status on the local machine.
Welcome 5
Logic Developer PLC – PAC Machine Edition Section 1
GFK-1918Z Aug 2023
Welcome 6
Logic Developer PLC – PAC Machine Edition Section 2
GFK-1918Z Aug 2023
2. Select the appropriate option to open a project. The Open an Existing Project
option is selected by default
Notes: If the user selects either the Empty project option or the Machine Edition
Template option, the New Project dialog box appears, and you can continue creating a
new project.
3. If you select the Open an Existing Project option, select from the list the project
wanted.
4. Optionally, select the Don’t show this dialog box on the startup option.
5. Click OK.
Your project opens in the Machine Edition environment.
2.2 Projects
The user can create and edit Machine Edition projects by using PAC View, Logic
Developer - PC, and Logic Developer - PLC. These products share Machine Edition tools
to provide a high level of integration between the various parts of the project.
The user can import folders created with Logicmaster, Control, or VersaPro.
With Logic Developer - PLC, you can build multiple projects to suit specific requirements.
To Import a Folder
1. Open the Navigator and select the Project tab.
2. Select the target that you want to import the folder into.
3. Right-click the target, point to import and choose the folder type.
4. In the dialog box that appears, navigate to and double-click the folder you want to
import.
Utility Panes
The Navigator contains a set of tabs. Each tab displays information about your
development system in a hierarchical tree structure like Windows Explorer. The available
tabs depend on which Machine Edition products you have installed and what kind of work
you are developing or managing. The Project tab shows the overall organization of your
application.
The Feedback Zone window is used to display several types of output information
generated by Machine Edition components. This interactive window uses category tabs to
organize the output generated from the Machine Edition products you have installed.
The Inspector window lists the properties and current settings for a selected object or
element. You can edit these properties directly in the Inspector. When you select several
objects, the Inspector window lists the properties common to all of them. The Inspector
provides a simple method of viewing and setting properties for all Machine Edition objects.
The Data Watch tool is a run-time debugging tool that enables you to monitor and edit the
values of variables. This tool is useful while working online with a target. With the Data
Watch tool, you can monitor individual variables or user-defined lists of variables. Data
Watch lists can be imported, exported, or saved with a project.
The Toolchest is a powerful storehouse of objects you can add to your project. You can
drag most items directly from the Toolchest into Machine Edition editors. You can choose
from predefined objects or create your reusable fxClasses. The Toolchest adds the true
object-oriented capability to Machine Edition.
The Companion provides useful tips and information while you work. While the
Companion is open, it tracks your moves and displays help on whatever item is currently
selected in the Machine Edition environment. It is context-sensitive and displays a
description of whatever you click in Machine Edition.
The InfoViewer is an embedded Web browser used mainly to display the following:
Move the mouse over a docking marker to preview how the window would be docked
when using that marker. Release the mouse button while hovering over a marker to use
that location.
2.4 Variables
A variable is a named storage space for data. A variable name represents a memory
location in the target Controller. How the variable represents a memory location is
determined by the value of the variable’s Ref Address property. A variable's Ref Address
property can be set to any of the following:
A blank. On a PACSystems, if you leave a variable's Ref Address property blank, the
variable is a symbolic variable. Machine Edition handles the mapping for you in a special
portion of PACSystems user memory space. On Series 90 and Versamax Controllers, you
cannot leave the Ref Address property blank.
An I/O variable address, for example%IX0.6.0.1. (PACSystems only.) This represents
the PACSystems Hardware Configuration terminal that contains an I/O variable's value.
For example, this can be a physical discrete or analog I/O point on a module or Genius
device, a discrete or analog status returned by the module, or global data.
1. A name. This makes the current variable an alias variable of the name. An alias
variable will point to the same memory location as the name. The following names
may be valid:
2. The name of a parameterized LD block parameter (provided the alias variable is
local to the same block)
3. The name and index of an array element, for example, MyComplexArray[255,3]
4. The name of a structure element, for example, MyStructure.MyElement
5. The name of another variable that is not used as an alias variable.
Arrays and compound structure variables are supported by Machine Edition. Variable
definitions can be imported from and exported to a variety of file types. You can edit your
variables in a spreadsheet and then import them.
If more than one target is in the project, then the New Variable dialog box appears
with a unique default name for the new variable.
2. (Optional) Enter a unique name for the variable.
Variable names can range from 1 through 32 characters, begin with a letter or the
$ character, contain upper or lower case letters, use numbers between zero and
nine, and use the underscore character.
3. Select the target in which the variable will be used.
4. If the new variable is an array, select the Array check box and enter the size.
5. Click Ok.
The new variable appears in the list in the Variables tab.
2.5 Options
The Options tab of the Navigator contains option and preference settings. Options are
organized into folders and pages. Click to expand or collapse folders. Examples:
Controller >General > Duplicate Addresses: Indicates whether to prevent, warn about,
or ignore mapping two variables of the same data size (1, 8, 16, 32, or 64 bits) and length
(array size) to the same reference address.
Figure 9: Reset
Companion Help
The companion is a Machine Edition help system that provides useful tips and information
while you work. While the Companion is open, it displays help on whatever item is
currently selected in the Machine Edition environment.
InfoViewer Help
The InfoViewer provides detailed help information. The InfoViewer has the following
features:
• Table of Contents
• Index
• Full-Search Engine
• Toolbar for Navigating the Help System
InfoViewer help is context-sensitive. Click an item on the screen and press F1 to display
the appropriate topic in the InfoViewer.
7. (Optional) Click the Info Viewer button to display the current topic in the
InfoViewer.
Tip: To narrow the search results, click the Location heading. The listed topics are sorted by
location and then by rating.
8. When using the HTML Viewer window, you may get better results if you select the
Select Titles Only checkbox and/or clear the Match Similar Words checkbox.
PACSystems Targets
A target represents a run-time destination of the program or programs you develop with
Logic Developer - PLC. Each target contains all of the components associated with that
target. Logic Developer - PLC supports the following families of controllers:
• PACSystems RXi
• PACSystems RX3i
• PAC Systems RSTi-EP Standalone
• PACSystems RX3i Rackless
• Versamax
• Versamax Nano/Micro
• Series 90 Micro
• RSTi-EP
• RSTi-EP Standalone
and the following PACSystems remote I/O interface targets:
PACSystems Targets 19
Logic Developer PLC – PAC Machine Edition Section 3
GFK-1918Z Aug 2023
• How large are the targets? For example, a target that contains 200,000 variables
should probably be by itself in a project.
• Are the targets related? For example, a PACSystems RX3i with a relatively small
program is connected to twenty PACSystems Remote I/Os (RIOs). Size is not an
issue because RIO targets use little memory in a project. Grouping all the targets into
one project is appealing because it makes navigation much easier from one target to
another than if the PACSystems RX3i target and RIOs are isolated in 21 separate
projects. For another example, if you have various targets that do not communicate
with one another or do not serve a common purpose, there may be little value in
grouping them in one project.
• One target is required for each Controller or remote I/O adapter your project accesses,
except when you are using CPU redundancy. In this case, one target contains a
Primary Hardware Configuration and a Secondary Hardware Configuration, which
correspond to the primary Controller and the redundancy Controller, respectively.
• Existing targets can be converted from one Controller family to another.
PACSystems Targets 20
Logic Developer PLC – PAC Machine Edition Section 3
GFK-1918Z Aug 2023
PACSystems Targets 21
Logic Developer PLC – PAC Machine Edition Section 3
GFK-1918Z Aug 2023
To Convert a Target
1. In the Project tab of the Navigator, right-click a target and choose Properties.
The inspector displays the target’s properties.
2. In the Inspector panel, click Family.
3. From the list, choose the new Emerson controller family you want to convert the
target to.
There are two types of target conversions.
A basic conversion does the following:
• Strips all the configured modules from the original Hardware Configuration (HWC) and sets up
the destination family’s default HWC, with a single power supply and a CPU.
• Deletes or adds target components, logic programs, or blocks of logic.
• Updates the system variables including the fault locating references if applicable.
An enhanced conversion does the following:
• Replaces a power supply with the destination family’s default power supply.
• Retains the settings of CPU parameters common to the original and destination CPUs
when the settings are supported in the destination family; otherwise, replaces them with
the default settings.
• Retains all the module parameter settings that are supported by the destination family;
otherwise, the default settings are used.
• Ethernet module settings of non-supported Ethernet modules are used to configure the
destination's Ethernet daughterboard or default Ethernet modules.
• Converts unsupported expansion racks to the nearest equivalents.
• Deletes or adds target components, logic programs, or blocks of logic.
• Updates the system variables, including the fault locating references if applicable.
• Displays a conversion report in the InfoViewer.
Note: The hardware must be configured before it is operational.
• CAUTION
The capabilities of a destination target may be different from those of the original target. Carefully examine the
conversion report when it is available. Validate the project and test it thoroughly before deploying it in
production.
PACSystems Targets 22
Logic Developer PLC – PAC Machine Edition Section 3
GFK-1918Z Aug 2023
PACSystems Targets 23
Logic Developer PLC – PAC Machine Edition Section 3
GFK-1918Z Aug 2023
Validating a Target
Validating your target detects syntax and configuration errors on the target. Error
messages are generated for each error and displayed in the Feedback Zone.
Tip: Double-click an error message to locate the noted error in your project. The
appropriate editor or tool opens automatically with the item in question selected. Press the
F4 key to locate the next error warning in your project. Tips showing you how to proceed
are displayed in the Companion. To open the Companion press SHIFT +F11.
PACSystems Targets 24
Logic Developer PLC – PAC Machine Edition Section 3
GFK-1918Z Aug 2023
To Validate a Target
1. In the Project tab of the Navigator, right-click a target and choose Validate.
Logic Developer – PLC checks all items under the target for syntax errors. Any errors
detected are noted in the Build tab of the Feedback Zone.
Tip: Double-click an error message to locate the noted error in your project. The
appropriate editor or tool opens automatically with the item in question selected. Press the
F4 key to locate the next error or warning in your project. Tips showing you how to
proceed are displayed in the Companion, press SHIFT + F11.
PACSystems Targets 25
Logic Developer PLC – PAC Machine Edition Section 3
GFK-1918Z Aug 2023
2. If the name of the target you want to go online to does not appear in bold
characters, right-click the target and choose Set as Active Target.
3. Do one of the following:
• Right-click the active target and choose Go Online
OR
• Click the Connect button on the home bar.
Logic Developer – PLC connects your project to the Emerson controller. The
online status is indicated by the target con in the Project tab and on the status bar.
Note: When online to an Emerson controller, the target icon in the Project tab of the
Navigator appears as equal, not equal, or stop failed. Depending on the visual style
being used, the status bar will turn orange if online or red if online and the controller
is faulted.
Upload/Download
The download process builds and validates all run-time files necessary for a target to
perform its role in a completed project. The compiled project is then transferred to the
target hardware over the communication connection previously configured.
The upload process acquires a project from the active PACSystems controller target and
transfers it to the Logic Developer – PLC for editing.
PACSystems Targets 26
Logic Developer PLC – PAC Machine Edition Section 3
GFK-1918Z Aug 2023
For each target that you download, Machine Edition performs a validation. Any
errors that occur are displayed in the Build tab of the Feedback Zone. If there are
no errors, Machine Edition builds and sends all the necessary run-time files to the
Controller.
When Hardware Configuration is selected, the Write ALL items to flash memory
check box will be force checked if the hardware configuration in the PME project
has the RMS to user flash parameter set to enabled on the CPU (only available
on CPE302, CPE305, CPE310, CPE330, CPE400, and CPL410).
When Hardware Configuration is NOT selected, the Write ALL items to flash
memory check box will be force checked if the hardware configuration on the
connected controller has the RMS to user flash parameter set to enabled (only
available on CPE302, CPE305, CPE310, CPE330, CPE400, and CPL410).
PACSystems Targets 27
Logic Developer PLC – PAC Machine Edition Section 3
GFK-1918Z Aug 2023
Run/Stop
When you are online in programmer mode, you can set a target Emerson control to Run or
Stop mode. In Stop mode, you can choose to enable or disable the outputs.
Fault Tables
The controller and I/O fault tables display fault information logged by the CU or modules in
the controller. This information is used to determine if there are problems with the
controller hardware or software running on the controller’s CPU.
PACSystems Targets 28
Logic Developer PLC – PAC Machine Edition Section 3
GFK-1918Z Aug 2023
1. In the Project tab of the Navigator, double-click the target you want a fault table
report on, or right-click it and choose Diagnostics.
OR
1. In the status bar at the bottom of Machine Edition, double-click the target.
Note: To view the controller and I/O fault tables, your computer must be online to the
controller. To clear faults, you must be in Online Programmer mode.
Reference View Tables
In Reference View Tables (RVTs), you can monitor reference data when you are online to
a PACSystems Controller. If you are in online programmer mode, you can also use RVTs
to change the values of reference data. In the Project tab of the Navigator, the Reference
View Tables folder contains a Default Tables folder. You can add user-defined tables to
the Reference View Tables folder. A target can have zero or more user-defined RVTs.
You can configure the default appearance of your RVTs in the Options tab of the
Navigator. For more information, see section Options on page 15.
Data values at sequential addresses are displayed from right to left, by default, starting at
the reference address specified in the Address column. Both default and user-defined
RVTs display rows of 8 cells for discrete memory (each cell corresponding to 8 bits) and
rows of 10 cells for register memory (each cell corresponding to one 16-bit register). The
amount of data displayed in the columns depends on the data display format.
PACSystems Targets 29
Logic Developer PLC – PAC Machine Edition Section 3
GFK-1918Z Aug 2023
Reports
Reports provide summaries and tales of information about your project. Most reports are
displayed in the InfoViewer. The Reports tab of the FeedbackZone contains a list of all
reports generated since the last Machine Edition project was opened. The following table
shows the types of reports and logic printouts available in Logic Developer – PLC.
To Generate Reports
In the Project tab of the Navigator, right-click a node and choose Report to generate a
report on that node.
A report is automatically generated and displayed in the InfoViewer.
Note: To generate a Forces in Controller report for a target, you must be online at the
target. Right-click the target and choose Report. In the Select a Report dialog box,
select Forces in Controller Report and click OK.
PACSystems Targets 30
Logic Developer PLC – PAC Machine Edition Section 3
GFK-1918Z Aug 2023
To Print LD Blocks
1. In the Project tab of the Navigator, expand the Logic node.
2. Right-click the Program Blocks node and choose Print LD Blocks.
The Print dialog box appears.
3. Select the blocks to print.
a. To print all of the target's LD blocks in alphabetical order, select the All
option.
b. To print only some of the target's LD blocks, select the Selection option,
then select the check box in front of each block you want to print. To
determine in which order to print the blocks, select them one at a time and
click Up or Down until the selected blocks appear in the desired order.
4. Select options as required and click OK.
PACSystems Targets 31
Logic Developer PLC – PAC Machine Edition Section 3
GFK-1918Z Aug 2023
To Print ST Blocks
1. In the Project tab of the Navigator, expand the Logic node.
2. Right-click the Program Blocks node and choose Report of ST Blocks.
The Structured Text Blocks logic printout is automatically generated and displayed
in the InfoViewer.
PACSystems Targets 32
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
Hardware Configuration
Logic Developer - PLC supports several PACSystems Controller families and various
remote I/O interfaces with a variety of CPUs, racks, and modules for each. To operate,
PACSystems Controller hardware must be configured with Logic Developer - PLC or some
other Emerson software tool. The HWC component of Logic Developer - PLC provides a
way to configure your target equipment. This chapter provides specifics on configuring
Controller hardware for your operational needs. The first step in configuring Controller
hardware is to select the Controller you want to configure. When creating a new project,
you can use a project template containing a default Hardware Configuration, or you can
create an empty project and configure it manually.
Hardware Configuration 33
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
Configuring PACSystems
When you create a target with a PACSystems RX3i rack system, the default consists of
the main rack, with a power supply in slots 0 and 1, and a CPU in slots 2 and 3. You can
replace the default power supply. You can replace the CPU with itself to update it to the
latest catalog version, that is, the latest set of parameters supported for the CPU in Logic
Developer - PLC. You can move the power supply and the CPU to an empty slot in the
target with an adjacent empty slot; however, the second adjacent slot cannot be the last.
You can add up to seven expansion racks, and on each of these, you can add
IC693NNNnnnmodules and the IC694NNNnnn that are supported by Series 90-30.
Hardware Configuration 34
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
Note: On PACSystems RX3i targets, only the main rack is added by default. On Series 90-
70 and Series 90-30 Controllers, seven expansion racks are added by default to the
HWC. You do not need to add them.
Note: Hardware Configuration Smart Build is different from the Smart Build option in
the Controller/General set of options.
3. In the Target tab of the toolbar, press the Validate button.
Hardware Configuration Smart Build will rebuild only dirty modules. These
modules are marked with an asterisk. The only exception to this is if a module has
an error in it, in that case the module will be rebuild even without being marked as
dirty.
Hardware Configuration 35
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
If there are no dirty modules or modules with errors in the hardware configuration,
PME will continue validate the rest of the project. This will speed up validation as
not every module needs to be rebuilt.
To Configure a CPU
1. In the Project tab of the Navigator, right-click a slot containing a CPU and choose
Configure.
The Parameter editor displays all configurable settings for the CPU.
2. Modify the settings as required. For information on any parameter of a
PACSystems CPU, select the parameter.
Help topics for PACSystems CPU parameters appear in the Companion. To open
the Companion, press SHIFT+F11.
Hardware Configuration 36
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
Hardware Configuration 37
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
Notes:
•
Only the PROFINET Controller can be copied to or from a PACSystems RXi.
•
You can drag and drop a double-width module to the main rack slot only if both
the slot and the slot after it is empty. Exceptions: The last slot on a
PACSystems RX7i can contain a double-width module or one single-width
module. The last slot on a PACSystems RX3i can contain only an
IC695LRE001.
PACSystems RX3i can support copying a power supply.
Hardware Configuration 38
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
Hardware Configuration 39
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
• Single Bus with Preferred Master (Series 90-70 CPUs CGR772 and CGR935
only): uses a single Genius bus with one or more bus Controllers in each Controller.
The primary unit is always chosen as the active unit when the units initially
synchronize.
• Single Bus with Floating Master (PACSystems RX7i, PACSystems RX3i, and
Series 90-70 ): uses a single Genius bus with one or more bus Controllers in each
Controller. No switchover occurs on initial synchronization to make the primary unit the
active unit.
• Dual Bus with Floating Master (RX7i, RX3i, and Series 90-70): uses dual busses
with one or more bus Controllers in each Controller. No switchover occurs on initial
synchronization. Bus Switching Modules (BSMs) are required for the configuration of a
dual bus network. This option provides redundancy for both the CPU and the Genius
bus.
Hardware Configuration 40
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
Genius Redundancy
A Genius redundancy system contains duplicate components that are configured to keep
the Genius system operating properly even if one of the duplicate components fails or is
taken out of service. Genius redundancy systems can be used in combination with
PACSystems RX7i, PACSystems RX3i, and Series 90-70 CPU redundancy systems.
You can configure five types of Genius redundancy systems:
• CPU redundancy (GHS) using Genius dual GBC redundancy (paired GBC external):
Single bus with preferred master (Series 90-70 only)
• CPU redundancy (HSB/GDB) using Genius dual GBC redundancy (paired GBC
external): Single bus with floating master
• CPU redundancy (HSB/GDB) using Genius dual bus redundancy (paired GBC
external): Single bus with floating master
• CPU redundancy (HSB/GDB) using Genius dual bus and dual GBC redundancy:
Dual bus with floating master CPU redundancy (HSB/GDB) using a mixed Genius
redundancy scheme
Hardware Configuration 41
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
4. PAC Machine Edition will configure the target with two HWCs, designating the first
HWC as Primary and the second HWC as Secondary.
Hardware Configuration 42
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
A secondary rack system that is a copy of the primary rack system is generated.
The target now displays two Hardware Configurations (HWCs), one labeled
[Primary] and the other, [Secondary]. The Primary HWC is bolded because it is
currently selected. The target property Dual HWC is now set to True. To select
which Controller to interact with, set the Selected HWC property, just below the
Dual HWC (Figure 15).
Note: You can mirror as many times as necessary to synchronize the two HWCs after
modifying the primary HWC. Each time you mirror the primary HWC, the secondary
HWC is updated to reflect those changes.
Hardware Configuration 43
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
Hardware Configuration 44
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
Remote I/O
VersaMax Remote I /O
VersaMax remote I/O consists of a Network Interface Unit (NIU) (Ethernet, Genius, or
Profibus), and one or more I/O modules. You can use Logic Developer - PLC to configure
this hardware. Once configured, the remote I/O can be controlled by a VersaMax
Controller or a PC Controller. The differentiating factor between a VersaMax remote I/O
Hardware Configuration 45
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
and a Controller is that a remote I/O is simply an input/output device with a communication
interface.
Unlike a Controller, a remote I/O has no CPU.
With Logic Developer - PLC, you can add racks, configure the power supply, and
configure modules in the VersaMax Remote I/O Hardware Configuration. Remote I/O
targets are generally added to a project when you create a project from a template. You
can also add a Remote I/O target to an existing project (Figure 17).
Hardware Configuration 46
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
Hardware Configuration 47
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
2. Right-click the PWR slot and choose Replace Module. The Module Catalog dialog
box appears (Figure 20):
3. From the list, select the power supply that you want to configure for your system.
4. Click OK.
Hardware Configuration 48
Logic Developer PLC – PAC Machine Edition Section 4
GFK-1918Z Aug 2023
3. Right-click the Slot 0 node and choose Add Carrier/Base. The Module Catalog
dialog box appears.
4. Select the carrier/base that you want to add to the remote I/O target.
Note: You can add a maximum of eight carrier modules to each VersaMax rack.
5. Click OK.
3. From the Module Catalog, select the module that you want to install.
4. Click OK.
Hardware Configuration 49
Logic Developer PLC – PAC Machine Edition Section 5
GFK-1918Z Aug 2023
Each C program is a named section of executable code. The main program and the
Motion program contain blocks; that is, named sections of executable code that can be
written in various languages.
The Project tab of the Navigator contains all of the programs:
• The main program and its blocks reside in the Program Blocks folder. You can create
user-defined subfolders to further organize these blocks.
• C programs reside in the Logic folder.
• The Motion program resides in the Motion Program folder.
Main Program
Most PACSystems Controllers support only a main program. The main program consists
of a block of logic named _MAIN and optionally, one or more of the following kinds of
blocks of logic, found under the Program Blocks folder in the Logic folder of a
PACSystems controller target:
Called blocks developed in various languages:
• All PACSystems Controllers support LD blocks, but only certain Controller families or
models support one or more of the other kinds of blocks.
• The _MAIN block can be in various languages, depending on the Controller family or
model.
You download the main program to the Controller as logic; that is, after you initiate a
download, a dialog box presents you with various Download to Controller options and you
select the Logic option. If the Logic option is not present, select the Program option.
C Programs
Series 90-70 CPUs firmware version 6.00 and later support either the main program,
various C programs, or a combination of a main program and C programs. You download
these various programs to the Controller together as logic; that is, after you initiate a
download, a dialog box presents you with three Download to RAM options and you select
the Logic option.
If there is no _MAIN block, then there is no main program. In this case, you would have
only one or more C programs and possibly various standalone interrupt blocks (LD or C).
These standalone interrupt blocks do not constitute the main program if there is no _MAIN
block.
A-C program can be named _MAIN only if the target contains no LD blocks.
A-C program is not the same as a C block.
Motion Program
In addition to the main program, Series 90-30 CPUs firmware version 10.00 and later, as
well as PACSystems RX3i CPUs firmware version 2.80 and later, support a Motion
program for use on a DSM324i or Motion Mate DSM314 module. The Motion program
consists of:
• CAM profiles
• CAM blocks
• Local Logic block
• Motion blocks
You download the Motion program to the Controller as part of its Hardware Configuration
(HWC); that is, after you initiate a download, a dialog box presents you with various
Download to RAM options and you select the Hardware Configuration option. If you want
to download the main program at the same time, you also select the Logic option. If
neither option is present, select the Program option to download both the Hardware
Configuration and the Logic.
Scheduling Programs
On Emerson Controllers that support only one program (the main program), the program
as a whole cannot be scheduled. Every scan, logic execution begins with the _MAIN
block. You can schedule individual interrupt blocks of logic but not the _MAIN block.
When you execute both the main program and a Motion program on a PACSystemsRX3i
with a firmware version of 2.80 or later, you cannot schedule the programs because they
are executed concurrently in two different locations.
• In the CPU, every scan, and logic execution begins with the _MAIN block of the main
program.
• In the DSM324i or Motion Mate DSM314 module, the Motion program executes
independently of CPU scan times.
• You can schedule individual interrupt blocks of logic in the main program (except the
_MAIN block).
Series 90-70 CPUs firmware version 6.00 and later support scheduling programs. On
targets that contain such CPUs, you can schedule any program, even the main program.
That is, the logic execution of any scan does not have to begin with the _MAIN block of
the main program: you can schedule any C program to begin the logic execution part of
the scan. Within the main program, you can further schedule individual interrupt blocks of
logic (except the _MAIN block). If you have no main program, that is, if your logic has no
_MAIN block, you can still have stand-alone interrupt blocks that you can schedule
individually.
1
PACSystems controllers can only support up to 512 subroutine blocks depending on the firmware version.
2. Optionally enter a new folder name, which must be unique among the folders
directly under the parent folder.
Indirect References
The LD, FBD, and ST editors support indirect references. An indirect reference treats the
value of a variable assigned to an instruction operand as a pointer to other data, rather
than as actual data. Indirect references are sometimes referred to as relative pointers.
Indirect references can be used only as follows:
1. With PACSystems CPUs and Series 90-70 CPUs.
2. In the LD, FBD, and ST editors.
3. With %R, %AI, %AQ, %P, %L, and %W memory areas.
4. On instructions that support indirect references.
Notes for PACSystems:
• The index for an indirect reference to %W is a 32-bit DWORD value.
• Indirect references cannot be used to address bits in 16-bit memory.
• In loop situations where each register is incremented by a constant or by a value specified until
a maximum is reached.
• The actual variable name does not contain the @ symbol. The @ symbol, when used at the
start of a reference address or variable name, merely indicates that the address or variable
must be treated as an indirect reference.
• The @ symbol can be thought of as an operator with the lowest precedence. In other words,
MyArray[2,5] becomes a reference address that is used for the indirect reference. Another way
to think of this is @(MyArray[2,5]) as opposed to (@MyArray)[2,5].
The following are valid indirect references:
5.2 LD Editor
The Ladder Diagram (LD) editor is used to create programs with the Ladder Diagram
programming language. LD logic graphically represents the programmed actions
performed by a Controller as it executes.
The LD editor is cell-based with rungs constructed of horizontal sequences of instructions
that are wired together. A given instruction and its operands can occupy one or more cells.
You can work with the LD editor while offline to edit a disk copy of a project, or while
online to monitor the execution of the logic while you fine-tune the project.
You can customize the appearance and behavior of the LD editor by setting options.
An LD block is a named section of LD Logic that is compiled and downloaded to the
Controller represented by the associated target.
To Create an LD Block
1. In the Project tab of the Navigator, right-click Program Blocks, point to New, and
then choose LD Block.
A new LD block with a default name is created.
2. Rename the block as desired.
To Insert an Instruction
1. In the LD Editor, right-click an empty cell and choose Place Instruction.
A smart list appears listing all available instruction mnemonics.
2. Choose an instruction mnemonic from the list and press enter.
Note: If you attempt to place an instruction that has inputs into the first column. It is pushed
to the second column and a horizontal wire is inserted in the first column.
Second Method
1. In the LD editor, insert a built-in function block or insert an instruction that requires
a Length.
2. Double-click the function block instance or instruction or select it and press
ENTER.
When you double-click a function block instance, the Function Block Properties
dialog box appears (Figure 28). When you double-click an instruction, the
Function Properties dialog box appears, in which the Address property is
unavailable.
Result12; AD MyDint3 MyDint4 Result34“, the following logic appears in the LD editor
(Figure 29):
A horizontal wire was inserted in the first cell to make room for the ADD_DINT instruction’s
operands and the operands were inserted in their proper places. In the keyboard entry,
“AD“ stood for “ADD_DINT“, because ADD_DINT is the first available instruction that
begins with “AD“ in the smart list. A semicolon separates the ADD_DINT instructions. The
required horizontal wires are supplied automatically.
A powerful extension of typing logic into the LD editor is the ability to write LD logic in any
text editor and copy and paste it into the LD editor, or to copy and paste logic from the LD
editor to a text editor. You can copy an entire block of LD logic from the Navigator to any
text editor, or copy sections of LD logic as text from the LD editor to any text editor. You
can then edit the logic in the text editor and copy the edited logic back into the LD editor.
When LD logic is copied as text, a verbose format is used to make it easier to read, but
when you edit the logic as the text you can use the same shorthand used in the keyboard
method of entering LD logic in the LD editor.
To move it:
1. Click the selection and drag it to a new location.
2. To duplicate it:
a. Press CTRL while clicking the selection, and drag the selection to where
you want to place the duplicate.
b. When you release the mouse button, the selection is respectively moved
to the new location, or a duplicate copy of the selected logic is placed in
the new area.
Word-for-Word Changes
A word-for-word is a small change in logic made while online that generally fits in the
same amount of memory as the original logic. For example, changing the type of contact
or coil or changing an operand is usually a word-for-word change.
Word-for-word changes can be completed online to PACSystems, Series 90- 70, Series
90-30, VersaMax, and Series 90 Micro Controllers. (VersaMax Nano / Micro Controllers do
not support word-for-word changes.)
To make word-for-word changes
1. While online to a target Controller, make a change to LD logic that does not
change the logic size.
2. Do one of the following:
a. If the Logic Change Options dialog box appears, select Word-for-word
change and click OK.
OR
b. If the Word for Word Change dialog box appears, click Yes. The change
is downloaded to the Controller.
ADVANCED MATH
ACOS ATAN_LREALP EXP LN REALP SIN TAN
ACOS_LREA ATAN_REALP EXP_LREALP LN_REAL P SIN_LREAL P TAN_LREAL
LP P
BIT OPERATIONS
AND_DWORD^ BIT_SET_DWORD^ NOT_WORD SHIFTL_DWORD^
AND_WORD BIT_SET_WORD OR_WORD^ SHIFTL_WORD
BIT_CLR_DWORD^ BIT_TEST_DWORD^ OR_WORD SHIFTR_DWORD^
BIT_CLR_WORD BIT_TEST_WORD ROL_DWORD^ SHIFTR_WORD
BIT_POS_DWORD^ MASK_COMP_DWORD ROL_WORD XOR_DWORD^
BIT_POS_WORD MASK_COMP_WORD ROR_DWORD^ XOR_WORD
BIT_SEQ NOT_DWORD ROR_WORD
^ Indicates instructions shared by PACSystems and Series 90-70 Controllers and exclusive to
them.
COILS
COIL NCCOIL NTCOIL PTCOIL SETCOIL
CONTCOIL NEGCOIL POSCOIL RESETCOIL
P Indicates instructions exclusive to PACSystems Controllers.
COMMUNICATION
MODBUS_TCP_RW PNIO_DEV_COMM
CONTACTS
CONTCO HIALR ^ NCCON NOCON NTCON P
N
PTCON P FAULT ^ LOALR ^ NEGCON ^ NOFLT ^
POSCON
^
CONTROL
DO_IO EXIT_FOR ^ MASK_IO_INTR R_TRIG SUS_IO ^
p
CONVERSIONS
BCD4_TO_INT DINT_TO_INT ^ INT_TO_UINT ^ REAL_TO_UINT ^ UNIT_TO_REAL ^
BCD4_TO_REAL DINT_TO_LREAL p LREAL_TO_DINT p REAL_TO_WORD WORD_TO_REAL
BCD4_TO_UINT ^ DINT_TO_REAL p LREAL_TO_REAL TRUNC_DINT
p
COUNTERS
DNCTR UPCTR
DATA MOVE
ARRAY_SIZE p BUS_RMW_WORD p DATA_INIT_REAL ^ SHFT_DWORD ^
ARRAY_SIZE_DIM1 p BUS_TS_BYTE DATA_INIT_WORD ^ SHFR_WORD
ARRAY_SIZE_DIM2 p BUS_TS_WORD MOVE_BOOL SIZE_OF p
BLK_CLR_WORD BUS_WRT_BYTE MOVE_DATA p SWAP_DWORD ^
BLKMOV_DINT ^ BUS_WRT_DWORD p MOVE_DATA_EX p SWAP_WORD ^
BLKMOV_DWORD BUS_WRT_WORD p MOVE_DINT VME_CFG_READ 70
BLKMOV_INT COMM_REQ MOVE_DWORD VME_CFG_WRITE 70
BLKMOVE_REAL DATA_INIT_ASCII ^ MOVE_FROM_FLAT VME_RD_BYTE 70
p
DATA TABLE
ARRAY_MOVE_BOOL FIFO_WRT_WORD ^ SEARCH_GE_UINT ^ SEARCH_NE_DINT
ARRAY_MOVE_BYTE LIFO_RD_DINT ^ SEARCH_GE_WORD SEARCH_NE_DWORD ^
ARRAY_MOVE_DINT LIFO_RD_DWORD ^ SEARCH_GT_BYTE SEARCH_NE_INT
ARRAY_MOVE_DWOR LIFO_RD_INT ^ SEARCH_GT_BYTE SEARCH_NE_INT
D^
ARRAY_MOVE_INT LIFO_RD_UINT ^ SEARCH_GT_DWORD SEARCH_NE_WORD ^
ARRAY_MOVE_UINT ^ LIFO_RD_WORD ^ SEARCH_GT_INT ^ SORT_INT ^
ARRAY_MOVE_WORD LIFO_WRT_DINT ^ SEARCH_GT_UINT ^ SORT_UINT ^
ARRAY_RANGE_DINT ^ LIFO_WRT_DWORD ^ SEARCH_GT_WORD SORT_WORD ^
ARRAY_RANGE_DWOR LIFE_WRT_INT ^ SEARCH_LE_BYTE TBL_RD_DINT ^
D
ARRAY_RANGE_INT ^ LIFO_WRT_UINT ^ SEARCH_LE_DINT TBL_RD_DWORD ^
ARRAY_RANGE_UINT ^ LIFO_WRT_WORD ^ SEARCH_LE_DWORD TBL_RD_INT ^
^
MATH
ABS_DINT ^ ADD_REAL DIV_UINT ^ MUL_MIXED ^ SUB_DINT
ABS_INT ^ ADD_UINT ^ MOD_DINT MUL_REAL SUB_INT
ABS_LREAL ^ DIV_DINT MOD_INT MUL_UINT ^ SUB_LREAL
P
Note: You can have multiple blocks open for editing. To navigate to another open FBD
block, click the tab that displays its name at the top of the editor window.
Working with the FBD Editor Offline
While in offline mode, there is no live communication between the FBD editor and the
target. Most logic development is done while offline. The following diagram illustrates
some of the more common operations you can perform using the FBD editor offline.
To Insert an Instruction
1. In the FBD editor, right-click an empty cell and choose Insert Instruction.
A smart list appears listing all available instruction mnemonics.
2. Choose an instruction mnemonic from the list and press ENTER.
Note: Inside the rectangle of the ADD instruction, the “1“ indicates the solve order of the
instruction. Under the variable myCounter, the “1“ is the initial value of myCounter.
After you have assigned the parameter, the instruction will appear in Figure 35:
Note: In the above diagram, “61“ is the initial value of myResult “4“ inside the rectangle of
the FBD instruction.
3. If required, draw a wire or assign a variable or constant to the input and output
parameters.
4. Hold down the left mouse button, and then drag the mouse pointer to a connection
point of another FBD instruction (Figure 37).
5. Continue to hold down the left mouse button and drag the mouse pointer to a
connection point of another FBD instruction (Figure 38).
6. Release the left mouse button. The newly drawn wire appears as a solid (analog)
or a dashed (discrete) line in the FBD editor (Figure 39).
Notes:
• The numbers “1“ and “2“ inside the rectangles have been reversed, indicating a
change in the solve order.
• The zeroes under the wire are the value that is traveling over the wire. It’s the same
value at both ends.
• At least two instructions must exist in the FBD editor.
• You cannot draw a wire to or from a Text box.
• In the FBD editor, hover the mouse pointer above a connection point of an FBD
instruction or function block instance.
Note: Negating a BOOL parameter while online causes logic to be not equal; turning a
BOOL parameter ON/OFF while online does not affect logic equality.
To Move It
Click the selection and drag it to a new valid location. When you move instruction, the
parameters, and wires assigned to it move along with it.
To Duplicate It
Press CTRL while clicking the selection and drag the selection to where you want to place
the duplicate. When you release the mouse button, a duplicate copy of the selected
instruction is placed in the new area. When you duplicate an instruction, its parameters
are also duplicated; wires are not duplicated.
OR
b. To zoom out, press the “-“ key. To zoom in, press the “+“ key.
Note: To zoom in an FBD block display in the FBD editor makes the FBD appear larger; to
zoom out an FBD block display makes the FBD appear smaller.
BIT OPERATIONS
AND OR ROR SHIFTR
NOT ROL SHIFTL XOR
COMPARISON
CMO GE LE NE
EQ GT LT RANGE
COMMUNICATION
PINO DEV COMM
CONTROL
DO_IO MASK)IO_INTR PID_ISA SCAN_SET_IO SUSP_IO_INTR
F_TRIG PID_IND R_TRIG SUS_IO SVC_REQ
COUNTERS
DNCTR UPCTR
DATA MOVE
ARRAY_SIZE BUS_RMW_BYTE BUS_TS_WORD MOVE
ARRAY_SIZE_DIM1 BUS_RMW_DWORD BUS_WRT MOVE_DATA_EX
ARRAY_SIZE_DIM2 BUS_RMW_WORD COMM_REQ MOVE_TO_FLAT
BUS_RD BUS_TS_BYTE FANOUT SIZE_OF
MATH
ADD MOD NEG SUB
DIV MUL SCALE
PROGRAM FLOW
ARG_PRES CALL
TYPE CONVERSION
BCD4_TO_INT DINT_TO_DWORD INT_TO_DINT REAL_TO_DINT UINT_TO_DINT
BCD4_TO_REAL DINT_TO_INT INT_TO_REAL REAL_TO_INT UINT_TO_INT
5.4 IL Editor
Instruction List (IL) is a programming language specified by the IEC 61131-3 standard.
This text language is accumulator-based and much like the assembly languages used for
programming microprocessors. The instructions executed by an IL block modify or use an
accumulator that is located in Controller memory. Two types of accumulators are defined:
one analog accumulator for numeric and bitwise operations and eight Boolean
accumulators for discrete logic to support eight levels of nested Boolean expressions. The
IL editor is free form with an option to apply a standard formatting rule. The appearance
and behavior of the IL editor are user configurable.
Note: Only Series 90-30, VersaMax Controllers, and VersaMax Nano/Micro support IL logic.
To Configure Accumulators
1. In the Project tab of the Navigator, right-click the Program Blocks folder and
choose Properties.
The Inspector displays the Accumulator Address properties.
2. In the Boolean Start property, enter the reference address of the first of eight
controller memory locations to use for Boolean accumulators.
The ending address is calculated automatically. The memory area must be
%T,%M, or %Q.
3. In the Analog Start property, enter the Controller memory locations to use for the
analog accumulator.
The ending address is calculated automatically. The memory area must be %R,
%AI or %AQ.
To Create an IL Block
1. In the Project tab of the Navigator, right-click the Logicnode, point to New and
choose IL Block.
An empty IL block with the default name ”ILBkn” is added to the folder, where n
represents a unique number.
2. Rename the block as desired.
To Insert an Instruction
In the IL editor, right-click and choose Insert Keyword. A smart list appears listing all
available instruction mnemonics.
From the list, select an instruction and press ENTER. The instruction is inserted in your
logic.
Note: If you entered a reference address or a new variable name, you must create a
variable from it.
the duplicate.
3. When you release the mouse button, the selection is respectively moved to the
new location, or a duplicate copy of the selected logic is placed in the new area.
To Reformat IL Logic
In the IL editor, right-click and choose Beautify Source.
The entire content of the IL editor is reformatted according to the default formatting
(indentation) rules.
IL Instructions
The following is a list of all IL instructions available in Logic Developer - PLC.
Companion help indicates which Controllers support the instructions.
BASIC INSTRUCTIONS
ADD GT LT OR ST_DINT XOR
AND LD_BOOL MOD ORN ST_INT XORN
ANDN LD_ENO MUL PT ST_REAL
DIV LD_INT NE R ST_WORD
EQ LDN_BOOL NOT S STN_NOOL
GE LE NT ST_BOOL SUB
ADVANCED MATH
ACOS COS LN SQRT_DINT TAN
ASIN EXP LOG SQRT_INT
ATAN EXPT SIN SQRT_REAL
BIT OPERATIONS
AND-WORD BIT-SEQ MASK_COMP_DWOR OR_WORD SHIFTL_WORD
D
BIT_CLR_WORD BIT_SET_WORD MASK_COMP_WORD ROL_WORD SHIFTR_WORD
BIT_POS_WORD BIT_TEST_WOR NOT_WORD ROR_WORD XOR_WORD
D
COMMUNICATION
MODBUS_TCP_RW (VersaMax Micro CPUs with firmware version 4.00 or later)
CONTROL
DO_IO DRUM PID_IND PID_ISA SER SVC_REQ
CONVERSIONS
BCD4_TO_INT DIN_TO_REAL _RAD_TO_DEG REAL_TO_WOR WORD_TO_REA
D L
BCD4_TO_REA INT_TO_BCD4 REAL_TO_DIN TRUNC_DINT
L T
DEG_TO_RAD INT_TO_REAL REAL_TO_INT TRUNC_INT
COUNTERS
DNCTR UPCTR
DATA MOVE
BLK_CLR_WORD BLKMOV_REAL COMM_REQ MOVE_BOOL MOVE_REAL
BLKMOVE_INT BLKMOV_WORD MOV_INT MOVE_WORD SHFT_WORD
DATA TABLE
ARRAY_MOVE_BOOL SEARCH_EQ_INT SEARCH_GR_DINT SEARCH_LT_BYTE
ARRAY_MOVE_BYTE SEARCH_EQ_WORD SEARCH_GT_INT SEARCH_LT_DINT
ARRAY_MOVE_DINT SEARCH_GE_BYTE SEARCH_GT_WORD SEARCH_LT_INT
ARRAY_MOVE_INT SEARCH_GE_DINT SEARCH_LE_BYTE SEARCH_LT_WORD
ARRAY_MOVE_WORD SEARCH_GE_INT SEARCH_LE_DINT SEARCH_NE_BYTE
SEARCH_EQ_BYTE SEARCH _GE_WORD SEARCH_LE_INT SEARCH_NE_DINT
SEARCH_EQ_DINT SEARCH_GT SEARCH_LE_WORD SEARCH_NEW_INT
SEARCH_NE_WORD
MATH
ADD_DINT DIV_DINT MOD_DINT MUL_DINT SCALE_WORD
ADD-INT DIV_INT MOD_INT MUL_REAL SUB_DINT
ADD_REAL DIV_REAL MUL_IN SCALE_INT SUB_INT
SUB_REAL
PROGRAM FLOW
CAL CALCN END_MCRN JMPC MCRN
RETC
RELATIONAL
EQ-DINT GE_DINT GT_DINT LE_Dint LT_DINT
NE_DINT RANGE_DINT EQ_INT GE_INT GT_INT
LE_INT LT_INT NE_INT RANGE_INT EQ_REAL
GE_REAL GT_REAL LE_REAL LT_REAL NE_REAL
RANGE_WORD
5.5 ST Editor
Structured Text logic is a programming language specified by the IEC 61131-3 standard.
The Structured Text (ST) Editor is a free-form text editor for editing Structured Text logic in
the Machine Edition environment. With the ST editor, you can work on a disk copy of a
structured text block (offline) or monitor the execution of an ST block running in the
Controller (online). You can edit an ST block online, but this causes the logic to become
not equal until you download the ST block. ST is a high-level language that uses various
operators and functions. ST logic is supported by PACSystems controllers.
NOTE: As of version 9.70, the ST Editor options have been added to customize the editor.
The Options are located under Editors > Structured Text.
To Create an ST Block
1. In the Project tab of the Navigator, expand the Logic folder, right-click the Program
Blocks folder or a user-defined folder, point to New, and then choose ST block.
A new ST block with a default name is created under the Program Blocks folder or
a user-defined folder.
2. (Optional.) Rename the block.
3. Press Enter to complete the line comment. The line comment ends when a new
line starts.
Tips:
• You can also click and drag from the beginning of the range to the end.
• After selecting a range of logic, you can click anywhere in it and drag it to another area in
the ST editor.
Online Values
On-line values are displayed on the ST editor as shown below.
STATEMENTS
:= (ASSIGNMENT COMMENT FUNCTION BLOCK INVOATION REPEAT...UNTIL BLOCK CALL
EXIT FUNCTION CALL RETURN CASE FOR...DO
IF WHILE...DO VAR CONSTANT …. END_VAR
ADVANCED MATH
ACOS ATAN EXP LN SIN
SQRT_REAL ACOS_LREAL ATAN_LREAL EXP_LREAL SIN_LREAL
TANACOS_REAL ATAN_REAL EXP_REAL LN_REAL SIN_REAL
TAN_LREAL ASIN COS EXPT, “”, OR ^ LOG
SQRT_DINT TAN_REAL ASIN_LREAL COS_LREAL EXPT_REAL
LOG_LREAL SQRT_INT ASIN_REAL COS_REAL EXPT_LREAL
LOG_REAL SQRT_LREAL
BITWISE OPERATORS
AND NOTE OR XOR
COMMUNICATIONS
PNIO_DEV_COMM
CONTROL
DO_IO MASK_IO SCAN_SET SUSP_IO_INTR SWITCH_POS
F_TRIG R_TRIG SUS_IO SVC_REQ
CONVERSIONS
ANGLES BCD4 to REAL to BCD8 to TRUNC_DINT,
INT, REAL, DINT, INT, DINT or TRUNC_INT
or UINT LREAL, or REAL
UINT
DINT to UINT to DWORD to WORD to INT to BCD4,
BCD8, BCD4, DINT, DINT INT or UINT DINT, REAL,
DWORD, INT, REAL, UINT, or
INT, LREAL, or WORD WORD
REAL, or
UINT
DATA MOVE
ARRAY_SIZE ARRAY_SIZE_DIM2 MOVE_DATA_EX SIZE_OF ARRAY_SIZE_DIM1
COMM_REQ MOVE_TO_FLAT
PROGRAM FLOW
ARG_PRES
MATH FUNCTIONS
ABS_DINT ABS_LREAL SCALE_DINT SCALE_UINT ABS_INT
ABS_REAL SCALE_INT
MATH OPERATORS
+ (addition) - (subtraction) - (negation) * (multiplication) / (division)
Mod (modulo)
RELATIONAL OPERATORS
= (equal) >= (greater than or equal) > (greater than) <= (less than or equal) < (less than)
<>, != (not equal)
TIMER FUNCTION
BLOCKS
TOF TON TP
C Blocks
A C block is an independent section of executable code written in the C programming
language that is downloaded to and executed on the target Controller. C blocks are
created externally using Emerson’s C Programming Toolkit and then imported into a
project. A C block compiled for PACSystems has a .gefelf extension. A C block compiled
for Series 90-70 or Series 90-30 has a .exe extension. C Blocks can be called as a
subroutine from another block (LD, ST, FBD, or IL) but cannot call another block.
Note: There are four different extensions for the C block depending on the target controller.
For more information on developing C Blocks, refer to C Programmer’s Toolkit for
Series 90 Controllers (GFK-0646) and PACSystems C Toolkit User’s Guide
(GFK-2259). More information on C Block extensions is also available in PME Help.
Working with C Blocks
To Import C Blocks
1. In the Project tab of the Navigator, right-click the Program Blocks folder and
choose Add C block.
C Programs
Note: C programs are supported only on Series 90-70 CPUs, firmware release 6.00 and
later.
A C program is an independent section of executable code, written in C language, that is
downloaded to and executed on the associated target Controller. To develop a C program,
use Emerson’s C Programmer's Toolkit for Series 90 Controllers User's Manual
(GFK-0646). You then import it into a project.
A C program has access to all the % reference tables of the Controller except for the
_MAIN LD block’s %P memory and the %L memory of any other LD block. A C program
can also call any of the numerous Controller-embedded functions that are included in the
C Programmer’s Toolkit. A C program cannot be called a subroutine. Execution is
controlled only through scheduling. A C program cannot call a block a subroutine. By
setting the parameters of a C program, you enable it to access memory directly. When a C
program begins to execute, it reads the data for all the parameters and makes a copy of
the data. If the C program’s execution is interrupted or time-sliced over multiple scans, the
C program, when it resumes execution, uses the copy of the data that it made when it
began to execute. C programs can coexist with the main program on a Series 90-70
Controller.
1. In the Inspector, select the Parameters property and click the ellipsis button. The
Parameters dialog box appears.
2. On the Input and Output tabs, enter up to 8 input and up to 8 output parameters.
Each parameter has its row on the tab. For each parameter, double-click the
following cells and enter the required data:
• Name The parameter’s name.
• Type: The parameter’s data type.
• Length: The length of the input or output reference.
• Variable: The first data item associated with the parameter.
• Description: (Optional.) The parameter’s description.
PROFINET Support
(PACSystems RXi; PACSystems RX3i with firmware version 7.00 and later.)
Hardware
PACSystems PROFINET Controllers (PNCs) support the following PROFINET devices:
A PNC is connected by Ethernet to PROFINET devices, each of which has its modules
and possibly submodules.
Redundancy
PACSystems RX3i Controllers support Hot Standby CPU redundancy with PROFINET I/O.
In that setup, two RX3i Controllers are capable of controlling the same set of PROFINET
devices. (For the minimum PACSystems RX3i firmware version requirement, refer to
online help.)
PROFINET Support 96
Logic Developer PLC – PAC Machine Edition Section 7
GFK-1918Z Aug 2023
PROFINET Support 97
Logic Developer PLC – PAC Machine Edition Section 7
GFK-1918Z Aug 2023
PROFINET Support 98
Logic Developer PLC – PAC Machine Edition Section 7
GFK-1918Z Aug 2023
report. Other reports compare the produced or consumed exchange information on your
computer with that on the server. The EGD Configuration Server is not the authoritative
source of the EGD configuration. It does not store past versions of EGD configurations. It
contains only the latest snapshots of the EGD configurations published to it. The EGD
tools are the authoritative source, while the server enables the tools to share information.
It is possible to delete the server contents completely and restore them by using the tools
in a two-step process: publish the authoritative information from all tools to the server, and
have each tool read the information it needs from the server and confirm to the server that
it has received it.
Note: For Ethernet modules that support EGD uploads, the EGD component is
automatically added when you upload the Hardware Configuration and EGD
configuration. The EGD component is also automatically added to a target when
you import a folder that contains an Ethernet Global Data (EGD) configuration or
imports a Hardware Configuration that contains an EGD configuration. In such
cases, the Consumed Exchanges and Produced Exchanges folders are
automatically populated.
To Install the EGD Configuration Server
1. Insert the Machine Edition 8.50 install disk into the computer on which you want to
install the EGD Configuration Server. The computer must be connected to an
Ethernet network. It may be local or remote.
PROFINET Support 99
Logic Developer PLC – PAC Machine Edition Section 7
GFK-1918Z Aug 2023
2. On the Machine Edition 8.50 install disk, navigate to the Install folder.
3. Double-click the EgdCfgServer Setup.msi file.
The EGD Configuration Server is installed on the computer.
Note: The client library required for your copy of Logic Developer - PLC to communicate
with the EGD Configuration Server is automatically installed as part of the
installation of Logic Developer - PLC.
To Install the EGD Management Tool (EMT) on your Computer
1. Insert the Machine Edition 8.50 install disk into your computer.
2. On the Machine Edition 8.50 install disk, navigate to the Install folder.
3. Double-click the EgdManagementTool Setup.msi file. The EGD Management Tool
is installed on your computer.
4. If errors are found pertaining to produced exchanges, correct them and repeat
step 3 of this procedure. The message "EGD Produced Data published" appears
when the target's produced exchanges have been updated (published) from your
computer to the EGD Configuration Server.
If an error is found pertaining to a consumed exchange, you typically need to
synchronize the consumed exchange.
• You have uploaded the Hardware Configuration and EGD configuration from the
producer Controller to your computer;
• You have converted the target that contains the producer;
• You have deleted the Ethernet Global Folder from the target that contains the
producer and added it again.
Validating the target that contains the producer updates the EGD Configuration Server
with the produced exchange that this consumed exchange consumes.
1. In the Project tab of the Navigator, expand the target.
2. Expand the Ethernet Global Data folder and then expand the Consumed
Exchanges folder.
3. If you have changed the Local Producer ID property of the producer that the
consumed exchange consumes from, right-click the consumed exchange and
choose Properties. Then, in the Inspector, set the Producer ID property on the
consumed exchange to the same value as the new Local Producer ID.
4. In the Project tab of the Navigator, right-click the consumed exchange and choose
Synchronize to Server.
PACMotion
(PACSystems RX3i with firmware version 5.60 or later.) The PACMotion Multi-axis Motion
controller (PMM) is a high-performance, easy-to-use servo motion control module that is
closely integrated with the PACSystems RX3i CPU logic solving and communications
functions. This versatile motion controller combines the benefits of highly integrated
motion and machine logic with the performance, flexibility, and scalability required for
advanced machine automation. The open programming environment simplifies motion and
machine logic synchronization and enables the real-time performance required for high-
speed motion applications.
Expanding the PACMotion node reveals the following PACMotion components used with a
PACMotion Digital Motion Control Module (IC695PMM335):
• Cam Profile Library: This contains all of the PACMotion Cam profiles for this target,
which cannot be downloaded to a PACMotion module.
• Active Profiles: Contains all of the PACMotion Cam profile aliases for this target, which
can be downloaded to a PACMotion module.
• Data Logging Windows: This contains all of the Data Logging Windows for this target.
Each window is used to view and print graphs of the values of various IC695PMM335
parameters over time.
PACMotion function blocks and instructions controlling or interacting with a PMM module
are supported in LD, FBD, and ST logic. You can drag them into logic from the Toolchest
LD Instructions drawer (or FBD Instructions drawer)PACMotion folder.
The following can be used with PACMotion function blocks only:
PACMotion 104
Logic Developer PLC – PAC Machine Edition Section 8
GFK-1918Z Aug 2023
PACMotion 105
Logic Developer PLC – PAC Machine Edition Section 8
GFK-1918Z Aug 2023
PACMotion 106
Logic Developer PLC – PAC Machine Edition Section 8
GFK-1918Z Aug 2023
When the instance executes, it writes the data logged to the *.dlog file specified by
the DataLogFile
Views:
• If you selected a .dlw file, this contains one or more views.
• If you selected a .dlog or .csv file, there are no views. You need to add one.
Data Sources, whose child node contains the data snapshot contained in the .dlog, .dlw, or
.csv file. If the .csv file was exported from a data source, it is a complete snapshot. If it was
exported from a view, itcontains only the data required for the traces configured to appear in
that view.
PACMotion 107
Logic Developer PLC – PAC Machine Edition Section 9
GFK-1918Z Aug 2023
Motion Programming
Logic Developer - PLC supports motion programming for the DSM324i and Motion Mate
DSM314 motion control modules. High-performance, easy-to-use, these multi-axis motion
control modules are highly integrated with the PACSystems RX3i and the Series 90-30
Controller logic solving and communication functions.
Both the DSM324i and the DSM314 support 10 motion blocks, 40 subroutines, and a
maximum total of 1000 motion program statements. Logic Developer - PLC, making
motion programming possible, supports the following motion editors:
• Motion editor
• Local Logic editor
• Cam editor
This chapter outlines basic procedures that will get you started with Logic Developer –
PLC to create motion programs with these motion editors.
The ACCEL statement sets the axis acceleration for subsequent moves and remains in
ACCEL effect in a given block unless changed. Note: If a move instruction is executed before
ACCEL, the tag Acceleration is used.
BLOCK NUMBER Block numbers can be used as the destination of JUMP commands. Block numbers must be
unique and can be between 1 and 65535.
CAM The CAM statement starts the CAM motion and specifies exit conditions.
CAM-LOAD CAM-LOAD loads a parameter register with the starting location for a CAM slave axis.
CMOVE The CMOVE command programs a continuous move using the specified position and
acceleration mode.
DWELL DWELL causes a motion to cease for a specified time period before processing the next
command.
JUMP Jump to a block number or a sync block within the current program or subroutine. The jump
may be unconditional or conditional based on the status of a CTL bit.
LOAD Initializes or changes a parameter data register with a 32-bit twos-complement integer
value.
PMOVE The PMOVE Command programs a positioning move using the specified position and
accelerator mode.
The PROGRAM statement is the first statement in a motion program. The program
PROGRAM statement identifies the program number (valid range: 1 through 10) and the axis
configuration. Program definitions cannot nest.
SUBROUTINE The SUBROUTINE statement is the first statement in a motion subroutine. The subroutine
statement identifies the subroutine number.
SYNC BLOCK A sync block is a special case of a block number. A sync block can be used only in multi-
axis programs.
VELOC Set the process VELOCITY used by subsequent motion program move commands and
remains in effect until changed by another VELOC statement.
The local Logic language uses free-form, text-based circuits and contains basic
mathematical and logical constructs. The Local Logic syntax enables you to assign a
variety of logic tasks to your motion programs while working in conjunction with Controller
Logic programs and motion blocks to yield a flexible programming environment. Because
it uses straightforward, understandable syntax, it is easy to gain proficiency with this
editor.
The Local Logic programming language supports assignments, conditional statements,
arithmetic, logical, and relational statements. Local Logic provides you with access to
motion Controller data, parameters using a fixed set of variables, control bits, and status
bits:
• Parameter data - accessible from Local Logic host Controller and motion blocks. The
parameter data are similar to variables in a program.
• CTL bits - enable the Local Logic block or host Controller to signal the motion block to
start an event.
• Motion block numbers - the current block number can be used within the Local Logic
block or host Controller to make an action occur only during a specific motion
programming section.
CAM Editor
The Cam editor is an accessory for Logic Developer – PLC motion programming that
provides a means to create, edit, and manage electronic Cam profiles. Each Cam profile is
a user-defined curve that specifies the response of a slave servo to a master position
index. Cam profiles are referenced by name in the parent motion program and grouped
into Cam blocks. Each block is intended for download to a specific motion module via its
Controller. The hardware components are specified in the Hardware Configuration (HWC)
of the parent target. You can reuse a Cam profile by including it in multiple Cam blocks.
• Confidentiality: Ensure only the people you want to see the information can see it.
• Integrity: Ensure the data is what it is supposed to be.
• Availability: Ensure the system or data is available for use.
Emerson recognizes the importance of building and deploying products with these concepts in mind
and encourages customers to take the appropriate care in securing their Emerson products and
solutions.
• Apply all of the latest Emerson product security updates, Software Improvement Modules
(SIMs), and other recommendations.
• Apply all of the latest operating system security patches to control systems PCs.
• Use anti-virus software on control systems PCs and keep the associated anti-virus
signatures up-to-date.
• Use whitelisting software on control systems PCs and keep the whitelist up-to-date.
• Limit the installation and usage of software to necessary user groups.
• PACS Analyzer
• IEC61850
• Workstations connected to the PLC via a serial connection
Technical Support
Americas
Phone: 1-888-565-4155
1-434-214-8532 (If toll-free option is unavailable)
Europe
Phone: +800-4444-8001
+420-225-379-328 (If toll-free option is unavailable)
+39-0362-228-5555 (from Italy - if toll-free 800 option is unavailable or dialing from a mobile
telephone)
Asia
Phone: +86-400-842-8599
+65-6955-9413 (All other Countries)
Emerson reserves the right to modify or improve the designs or specifications of the products mentioned in this
manual at any time without notice. Emerson does not assume responsibility for the selection, use or maintenance
of any product. Responsibility for proper selection, use and maintenance of any Emerson product remains solely
with the purchaser.
Emerson Terms and Conditions of Sale are available upon request. The Emerson logo is a trademark and service
mark of Emerson Electric Co. All other marks are the property of their respective owners.