Developers Guide
Developers Guide
0
Includes ERSC Firmware
Version 4.25 and Version 5.2
March 2016
Publication ERSC-1500
ConveyLinx module firmware and functionality is protected by U.S. and international patents.
For complete patent information visit www.pulseroller.com/patents
Glossary of Terms 3
GLOSSARY OF TERMS
Conveyor controls architecture based upon modular distributed devices connected via
ConveyLinx
Ethernet network.
Optional functionality available for ConveyLinx systems to provide controlled stop and
ConveyStop
reset of MDR function. Requires software package to configure and enable.
Ethernet Roller Speed Control module - Conveyor control module that is part of the
ERSC
ConveyLinx family. Each ERSC Can accommodate up to 2 MDR conveyor zones
Ethernet/IP (Ethernet Industrial Protocol) is a network communication standard capable
of handling large amounts of data at speeds of 10 Mbps or 100 Mbps, and at up to 1500
bytes per packet. The specification uses an open protocol at the Application layer. It is
especially popular for control applications.
Ethernet/IP typically employs active star network technology. This type of network is
Ethernet I/P easy to set up, operate, maintain, and expand. It allows mixing of 10 Mbps and 100 Mbps
products, and is compatible with most Ethernet switches. Ethernet/IP is used with
personal computers, mainframes, robots, input/output (I/O) devices and adapters,
programmable logic controllers (PLCs), and other devices. The specification is supported
by the Industrial Ethernet Association (IEA), ControlNet International (CI), and the Open
DeviceNet Vendor Association (ODVA).
This is the name of a particular connector manufacturer that produces a specific
JST plug/socket arrangement for MDR connection to control cards. This name is accepted
within the conveyor and MDR industry as a simple description of the particular socket
style used on ERSC hardware.
Carton A separate (usually wrapped or boxed) object to be transported by the conveyor. The
terms tray, tote, or load may also be used interchangeably in this document.
Motorized Drive Roller or Motor Driven Roller - Brushless DC motor and gearbox
MDR
assembly integrated into a single conveyor roller.
Application layer messaging protocol at Level 7 of the OSI Model that provides
client/server communication between devices connected on different types of buses or
networks. The Modbus messaging structure was developed by Modicon in 1979.
Different versions of Modbus used today include Modbus RTU (based on serial
communication like RS485 and RS232), Modbus ASCII and Modbus TCP, which is the
Modbus RTU protocol embedded into TCIP packets. It's an open protocol, meaning the
Modbus TCP specification is available free of charge for download, and there are no licensing fees
required for using Modbus or Modbus TCP/IP protocols.
Zone A basic (linear or curved) cell of the conveyor consisting of a set of slave rollers driven by
one or more MDR’s and a single photo-sensor.
Zero Pressure Accumulation – Term that describes the conveyor controls and mechanical
ZPA scheme that will cause Cartons to queue on a conveyor in discrete zones such that
Cartons do not touch each other
SYMBOL CONVENTIONS
This symbol indicates that special attention should be paid in order to ensure correct use
as well as to avoid danger, incorrect application of product, or potential for unexpected
results
This symbol indicates important directions, notes, or other useful information for the
proper use of the products and software described herein.
Important User Information 5
Because of the variety of uses for the products described in this publication, those
responsible for the application and use of this control equipment must satisfy themselves
that all necessary steps have been taken to assure that each application and use meets all
performance and safety requirements, including any applicable laws, regulations, codes,
and standards
The illustrations, charts, sample programs and layout examples shown in this guide are
intended solely for purposes of example. Since there are many variables and requirements
associated with any particular installation, Insight Automation Inc. does not assume
responsibility or liability (to include intellectual property liability) for actual use based on
the examples shown in this publication
SUMMARY OF CHANGES
The following table summarizes the changes and updates made to this document since the last revision
TABLE OF CONTENTS
Glossary of Terms....................................................................................................................................................... 3
Symbol Conventions .............................................................................................................................................. 4
Important User Information ........................................................................................................................................ 5
Summary of Changes ................................................................................................................................................. 6
Global Contact Information ........................................................................................................................................ 6
Table of Contents ........................................................................................................................................................ 7
Preface ......................................................................................................................................................................... 9
Who Should Use This Manual? ............................................................................................................................ 9
Not Included in This Manual ................................................................................................................................. 9
Introduction to ConveyLinx® ................................................................................................................................... 11
ConveyLinx® Concept ......................................................................................................................................... 11
ConveyLinx ERSC Operational Modes ............................................................................................................. 13
ZPA Mode .........................................................................................................................................................13
PLC I/O Mode ...................................................................................................................................................13
ConveyLinx Network Architecture .......................................................................................................................... 15
Understanding Assemblies ................................................................................................................................. 15
Modbus Assembly Instance Structure ............................................................................................................... 16
Ethernet I/P Assembly Instance Structure ........................................................................................................ 18
Profinet IO Assembly Instance Structure .......................................................................................................... 19
PLC Controller with ZPA Mode ............................................................................................................................... 21
Notes About Assemblies for ERSC in ZPA Mode ........................................................................................... 21
Register Chart Legend ....................................................................................................................................21
ZPA Mode Assembly Inputs for PLC ................................................................................................................. 22
ZPA Mode Note ① ..........................................................................................................................................24
ZPA Mode Note ② ..........................................................................................................................................25
ZPA Mode Assembly Outputs for PLC .............................................................................................................. 26
ZPA Mode Note ③ ..........................................................................................................................................29
ZPA Mode Note ④ ..........................................................................................................................................29
ZPA Mode Note ⑤ ..........................................................................................................................................29
ZPA Mode Note ⑥ ..........................................................................................................................................30
ZPA Mode Note ⑦ ..........................................................................................................................................30
ZPA Mode Note ⑧ ..........................................................................................................................................31
ZPA Mode Examples ........................................................................................................................................... 32
Example 1 – Basic Accumulate and Release with Tracking Data ............................................................32
Example 2 – Basic Bar Code Reader ...........................................................................................................36
Example 3 – Upstream Accept Interface ......................................................................................................37
Example 4 – Downstream Discharge Interface ...........................................................................................39
Example 5 – Simple Divert Example .............................................................................................................41
Example 6 – Merge onto ZPA Main Line ......................................................................................................43
Reduced Size ZPA Mode Assemblies ............................................................................................................... 45
Reduced Size ZPA Mode Assembly Inputs .................................................................................................45
Reduced Size ZPA Mode Assembly Outputs ..............................................................................................46
PLC Controller with PLC I/O Mode......................................................................................................................... 47
Setting PLC I/O Mode in EasyRoll ..................................................................................................................... 48
Optional “Clear Connections” Choice ............................................................................................................49
Configuring Action for Loss of Communication ...........................................................................................50
PLCI/O Mode Assembly Inputs .......................................................................................................................... 51
PREFACE
You should have an intermediate to advanced level of understanding of PLC logic and network structures.
Familiarity with at least one of Modbus TCP, Ethernet I/P, or Profinet I/O protocols is also essential.
You should have a basic understanding of electrical circuitry and familiarity with relay logic, conveyor equipment,
photoelectric sensors, etc. in order to follow example scenarios and sample programs included herein. If you do
not, obtain the proper training before using this product.
For basic understanding of ERSC module hardware and simple application and installation guidelines, please refer
to Insight Automation publication ConveyLinx User’s Guide (publication ERSC-1000)
INTRODUCTION TO CONVEYLINX®
CONVEYLINX® CONCEPT
ConveyLinx control system as applied to conveyor control is a series of individual ConveyLinx ERSC modules
interconnected via standard Ethernet cabling to form an integrated solution for MDR (Motorized Drive Roller)
conveyor functionality. Each ConveyLinx ERSC module can accommodate up to 2 MDR’s and 2 photo-sensors to
provide control for up to 2 conveyor zones. Each ERSC also includes convenient connectivity ports for upstream
and downstream Ethernet network cabling as well as connectivity ports for discrete I/O signals with non-
networked controls for local interlock interface functions.
ConveyLinx ERSC modules can be easily automatically configured to operate multiple zones of linear conveyor
“right out of the box” with the push of a button without any special tools or PC software required. However, with
the ConveyLinx EasyRoll software tool and a PC; each ERSC module’s default configuration can be modified to
customize functionality for specific applications.
Please refer to Insight Automation publication ConveyLinx User’s Guide for ConveyLinx
ERSC module hardware details and basic function. The remaining sections of this
document assumes reader if familiar with ConveyLinx ERSC module and EasyRoll software
operation.
ZPA MODE
ZPA Mode is the default mode of any ERSC that has been configured by the Auto-Configuration Procedure. In this
mode, each ERSC has established logical connections to its neighboring ERSC modules in order to operate conveyor
with Zero Pressure Accumulation (ZPA) functionality. No external controller is required for the conveyor to
function and operation is as described in ConveyLinx User’s Guide (publication ERSC-1000).
ERSC module can only be placed in PLC I/O Mode with EasyRoll software
tool and only after it has been through an Auto-Configuration Procedure.
The following chart provides a Quick Reference for the operational modes:
ERSC Control Strategy Quick Reference
•
Any Available to any Modbus TCP, Profinet I/O, or Ethernet I/P networked
device regardless of Module Mode
Read Status •
Mode •
Read Sensor & Control port inputs
Read MDR diagnostics
Interface PLC
• All functions available with Default configuration
+ • All functions available with Interface PLC
• Using EasyRoll, allow PLC access to Control Port digital output signal
Port Outputs • See page 32 for Examples
Each ERSC’s internal data structure is arranged and addressed as Modbus Holding registers. The on-board ERSC
Communication and control processes attach logical meanings to each holding register and read and write data to
specific registers to initiate and/or react to events. Certain registers contain information as to how the ERSC is
configured (MDR type, speed, direction, etc.) for its local controls. Other registers are used for inter-module
communications for conveyor operation. For example, when an upstream ERSC has a Carton ready to discharge to
its neighboring downstream ERSC, the upstream ERSC will write a specific value to a specific address in the
downstream ERSC’s internal registers. The downstream ERSC’s on board logic monitors these registers and knows
that a specific value means that an upstream Carton is coming and to engage the proper control logic to convey
the Carton.
Because ConveyLinx utilizes an open architecture (Modbus TCP) for inter-module communications; with proper
definition and expected usage of certain register address locations, external control devices (PC’s and PLC’s) can
easily interact with ERSC modules to monitor and control various points along the conveyor path.
UNDERSTANDING ASSEMBLIES
The holding registers described above we will define as Module Register Addresses and are used for the function
of the ERSC regardless of if any remote PLC or PC is connected. There are many Module Register Addresses that
are used for the operation of the ERSC that are not applicable, required, or should even be made available to a
remote PLC. When connecting to a PLC, the ERSC needs to gather certain specific Module Register Addresses
located scattered throughout the entire listing of Module Register Addresses into a concise contiguous group or
Assembly that the PLC can efficiently read from and write to. Figure 2 illustrates this concept.
So, no matter which of the three connection protocols you use (Modbus TCP, EIP, or Profinet I/O), for any given
assembly, the internal data you are accessing with your PLC is the same.
Modbus TCP addressing convention utilizes a “4:xxxx” notation. The “4:” in Modbus
protocol designates that the address is a Holding Register and the xxxx is a numerical
value representing the offset or index for a specific location. The “xxxx” values used in
this document are to be interpreted as if they are for a Modbus PLC which means that the
first register address is “4:0001” and that there is no “4:0000” register. Some PLC data
structures and PC development environments utilize the “4:0000” designation and their
indexes will be offset by 1. Please refer to your PLC or PC application documentation for
the Modbus convention used on their platforms.
Any Modbus TCP capable PC or PLC can connect to any ERSC visible on its network and access Input and Output
Holding Register Assemblies. The ERSC supports the following Modbus TCP Service Codes:
When using Input and Output Assemblies with Modbus TCP PLC, it is important to always
use the first address shown in the assembly group as the beginning register to read or
write regardless of which register in the assembly is needed by the PLC. Trying to access
Input or Output Assemblies starting with any register in the assembly other than the first
register will cause the ERSC to return an error.
For example, for ZPA Mode Assembly Inputs, if you only need to read register 4:1504; your
I/O connection set-up in your PLC must use the starting address of 4:1500 and a sufficient
length of registers to read (in this example at least 5 registers) in order to get to the
desired register. If you set up your PLC to start reading at 4:1504, the ERSC will return an
error.
For more information and open protocol specification, please visit www.modbus.org
For this manual Ethernet I/P Instances are described using the Generic
Ethernet I/O method of connection. Consult pulseroller.com for more
information on obtaining EDS file(s) for incorporation into your RSLogix5000
development software.
Part of this procedure in the PLC is to instruct the Generic device as to which data configuration or instance of
Ethernet I/P the Generic device is to use to report and respond to data to and from the PLC.
From this point forward, it is assumed the reader is familiar with Allen-Bradley Logix
platform addressing notation:
[ModuleName]:O.Data[Index].Bit
[ModuleName]:I.Data[Index].Bit
Where:
• ModuleName is the user-defined name of the device
• “O.Data” indicates data written by the PLC to the device
• “I.Data” indicates data read by the PLC from the device
• “[Index].Bit” indicates the word and bit within the image. If the bit notation is
absent the notation refers to the entire word data type
These instances essentially group the appropriate Modbus registers into contiguous Input and Output array image
that fit into the Allen-Bradley Logix 5000 controller tags.
In all of the charts showing module data registers and their assigned function, for Profinet IO these are indicated as
“Byte 0, Byte 1,...Byte 32”, etc. These are offsets from the starting address in the Siemens PLC memory assigned
by the Siemens programming software when the module was installed into the network. For example, if a
module’s inputs are installed beginning at %IB256, then from our charts, the data for “Byte 6 and Byte 7” would be
at addresses %IB262 and %IB263 respectively.
In general, when utilizing ZPA Mode registers; “upstream” and “downstream” registers
are logically determined by conveyor flow after the system has been Auto-Configured and
will not necessarily be associated with the ERSC’s physical “left” or “right” side’s
connections. For motor and port specific I/O items, register’s description will explicitly
indicate “left” or “right”.
For ERSC modules that are auto-configured as single zone, regardless of whether the left
or right side is physically used as the single zone; external controller must use the
“Upstream” control registers to interface with the single zone.
IMPORTANT NOTE: Status register values utilize both the HIGH BYTE and the LOW BYTE of
the 16-Bit integer value. The HIGH BYTE is used for zone status for reversing conveyor
applications and MAY CONTAIN DATA. PLC/PC programmers working with single direction
conveyor applications MUST MASK THE HIGH BYTE or otherwise ignore the high byte in
processing status data from these registers.
For PLC/PC programming purposes, you can only depend on seeing values 0xXX01 and
0xXX05 in program logic for determining zone status. The values 0xXX02 and 0xXX04 may
not always be visible to PLC/PC from inter-module communication depending upon speed
of the conveyor, length of the zone, and/or location of the zone sensors.
Write value for 16 bit integer tracking data word #2 for the Carton accumulated
Set Local Upstream M: 4:1601
in the Upstream Zone.
Zone Tracking Word 2 E: O.Data[1]
4:0133 P: Byte 2 (Hi) Byte 3 (Lo)
See ZPA Mode Note ③ on page 29 for special reserved values
Write value for 16 bit integer tracking data word #1 for the Carton accumulated
Set Local Downstream M: 4:1602
in the Downstream Zone.
Zone Tracking Word 1 E: O.Data[2]
4:0212 P: Byte 4 (Hi) Byte 5 (Lo)
See ZPA Mode Note ③ on page 29 for special reserved values
Write value for 16 bit integer tracking data word #2 for the Carton accumulated
Set Local Downstream M: 4:1603
in the Downstream Zone.
Zone Tracking Word 2 E: O.Data[3]
4:0213 P: Byte 6 (Hi) Byte 7 (Lo)
See ZPA Mode Note ③ on page 29 for special reserved values
Bitwise Values
bit 0 = Set/Clear Accumulation Mode for Local Zone
bit 8 = Accumulate adjacent upstream zone
bit 9 = Set Arrival Confirmation for adjacent downstream zone
Accumulation Control M: 4:1604
bit 10 = Jog zone in default direction
for Local Upstream Zone E: O.Data[4]
bit 11 = Jog zone in opposite of default direction
4:0104 P: Byte 8 (Hi) Byte 9 (Lo)
bit 12 = Wake up Local Zone
All other bits reserved
Release and Accumulate When bit 0 of Accumulation Control for Local Downstream Zone is set:
M: 4:1609
on Next Arrival for Local Changing the value in this register will cause the Carton accumulated in this
E: O.Data[9]
Downstream Zone zone to release and the zone will be armed to automatically accumulate the
P: Byte 18 (Hi) Byte 19 (Lo)
4:0185 next Carton that arrives
Only used when local module is accepting loads from Non-ConveyLinx controlled
conveyor:
Set Status for Upstream M: 4:1610
Induct E: O.Data[10] Set value to 4 to cause the local upstream zone to run to accept the Carton
4:0134 P: Byte 20 (Hi) Byte 21 (Lo) being delivered by the non-ConveyLinx controlled conveyor. Set value to 1 to
cause the local upstream zone to accept the tracking data written in Set Induct
Tracking Word 1 / Word 2
Only used when local module is discharging loads to Non-ConveyLinx controlled
Set Status for M: 4:1611 conveyor:
Downstream Discharge E: O.Data[11] • Set value to 5 to cause the local downstream zone to accumulate and
4:0232 P: Byte 22 (Hi) Byte 23 (Lo) hold any Carton that arrives.
• Set value to 1 to allow the local downstream zone to release the Carton
Only used when local module is accepting loads from Non-ConveyLinx controlled
Set Induct Tracking
M: 4:1612 conveyor:
Forward Direction Word
E: O.Data[12] Set value for 16 bit integer tracking word #1 for Carton leaving non-ConveyLinx
1
P: Byte 24 (Hi) Byte 25 (Lo) controlled conveyor that is in transit to arrive on the local upstream zone
4:0139
when conveyor is running in default or “forward” direction.
Only used when local module is accepting loads from Non-ConveyLinx controlled
Set Induct Tracking
M: 4:1613 conveyor:
Forward Direction Word
E: O.Data[13] Set value for 16 bit integer tracking word #2 for Carton leaving non-ConveyLinx
2
P: Byte 26 (Hi) Byte 27 (Lo) controlled conveyor that is in transit to arrive on the local upstream zone
4:0140
when conveyor is running in default or “forward” direction.
Only used when local module is accepting loads from Non-ConveyLinx controlled
Set Induct Tracking
M: 4:1614 conveyor:
Reverse Direction Word
E: O.Data[14] Set value for 16 bit integer tracking word #1 for Carton leaving non-ConveyLinx
1
P: Byte 28 (Hi) Byte 29 (Lo) controlled conveyor that is in transit to arrive on the local upstream zone
4:0237
when conveyor is running in opposite of default or “reverse” direction.
Only used when local module is accepting loads from Non-ConveyLinx controlled
Set Induct Tracking
M: 4:1615 conveyor:
Forward Direction Word
E: O.Data[15] Set value for 16 bit integer tracking word #2 for Carton leaving non-ConveyLinx
2
P: Byte 30 (Hi) Byte 31 (Lo) controlled conveyor that is in transit to arrive on the local upstream zone
4:0238
when conveyor is running in opposite of default or “reverse” direction.
Logical 0 or 1
M: 4:1616 0 = Stop Reset
Clear Motor Error
E: O.Data[16] 1 = Send Reset
4:0022
P: Byte 32 (Hi) Byte 33 (Lo)
See ZPA Mode Note ⑥ on page 30 for further details
Bitwise Value – “1” Energizes Output
M: 4:1617 bit 1 = Left Control Port
Set Control Port Outputs
E: O.Data[17] bit 3 = Right Control Port
4:0063
P: Byte 34 (Hi) Byte 35 (Lo)
See ZPA Mode Note ⑦ on page 30 for further details
• Set both tracking registers shown to 0: This will instruct the ERSC to not modify the existing “real”
tracking data and allow it to continue downstream “as-is” when the Carton is released.
• Set both tracking registers shown to 0xFFFF: This will instruct the ERSC to clear the “real” tracking data
and when the Carton is released, the “real” tracking data will be “0” in both registers.
Both word 1 and word 2 of the tracking data in question must have 0xFFFF written to it in
order to signal the ERSC to clear the tracking data. If only one word has 0xFFFF written to
it and the other does not, the value of 0xFFFF will be the new tracking data for that word.
Jog control bits DO NOT over-ride ZPA logic control and should be used with caution!
Improper usage of jog controls can produce unexpected results and/or damage to product
and equipment.
Bit 12 – Wake up Local Zone functionality available in ERSC firmware versions 4.1 and
higher.
External controller must continuously set bit 0 = 1 in the Clear Motor Error register for at
least 500 msec for the ERSC to recognize the reset command.
In certain applications, it may be desired to have the PLC actuate a device along the conveyor (i.e. illuminate a light
or energize a solenoid coil, etc.). With the ConveyLinx network this can be done without installing a separate PLC
I/O system to do this. Using EasyRoll software, one or both Control Ports can have their function switched from
internal ZPA logic control to be controlled by the PLC. See EasyRoll software Advanced Screen|Control Ports|
Checkboxes for Enable PLC Controls.
Please note that the checkboxes in EasyRoll for selecting PLC control of Control Ports is
based upon upstream or downstream configuration of the ERSC determined during Auto-
Configuration and NOT by “left” or “right” Control Port designation.
Please refer to the ConveyLinx User’s Guide for electrical connection details before using
PLC control for Control Port outputs.
These registers allow the PLC to remotely attempt another auto-clear cycle in an attempt to clear the jam
condition. Please note that this function requires the PLC to make a transition from 0 to 1 in the register to initiate
another auto-clear cycle. Holding the value to 1 will not cause the retry to continue indefinitely. Each attempt
requires a new transition from 0 to 1
For this example, the PLC must establish ZPA Mode Assembly Input/Output connections to ERSC B as shown in
Figure 3.
1. Set bit 0 in Accumulation Control for Local Upstream Zone register to instruct this zone to accumulate any
Carton that arrives.
2. Monitor Arrival Count Local Upstream Zone and Departure Count Local Upstream Zone registers. On the
leading edge when these two values become not equal, the PLC knows there is a new arrival. Note that as
long as a Carton is physically occupying the upstream zone, these two values will not be equal.
3. Upon a successful arrival of a Carton in the upstream zone, then tracking data in Current Upstream Zone
Tracking Word 1 and Current Upstream Zone Tracking Word 2 will be valid for the newly arrived Carton.
4. The PLC may then decide that this tracking data is to be updated. The PLC can then write new tracking
data to registers Set Local Upstream Zone Tracking Word 1 and Set Local Upstream Zone Tracking Word 2.
5. When the PLC is ready to release the Carton in the upstream zone, it should read the value in the Current
Release Count for Upstream Zone register, add 1 to this value, and then write this new value to Release
and Accumulate on Next Arrival for Local Upstream Zone register. When ERSC B sees this new value in
this register, it will release the Carton in the upstream zone and automatically accumulate the next new
Carton that arrives. Please note that if the downstream conditions from ERSC B are full when this new
value is written, ERSC B will remember that it was instructed to release and will release the Carton when
downstream conditions become clear without any further signal from the PLC.
6. The PLC can detect when the Carton has departed the sensor on ERSC B upstream zone by examining the
values in Arrival Count Local Upstream Zone and Departure Count Local Upstream Zone registers. On the
leading edge of when these two values are equal, the PLC will know that the Carton has departed the
zone sensor in ERSC B upstream zone.
If the PLC wants to cancel the accumulation control for ERSC B upstream zone:
PLC can reset bit 0 in Accumulation Control for Local Upstream Zone register. This will signal ERSC B to release
any Carton accumulated and not accumulate the next Carton that arrives at ERSC B upstream zone.
Please note that if any new tracking data has been written to Set Local Upstream Zone
Tracking Word 1 and/or Set Local Upstream Zone Tracking Word 2 and accumulation
control is then canceled by resetting bit 0, this data will NOT be assigned to the Carton
The ONLY way to pass tracking data to a Carton is by
when it is released.
following Step 5 above.
First, let’s assume we want to accumulate any Carton that arrives on the downstream zone of ERSC B. With the
PLC:
1. Set bit 0 in Accumulation Control for Local Downstream Zone register to instruct this zone to accumulate
any Carton that arrives.
2. Monitor Arrival Count Local Downstream Zone and Departure Count Local Downstream Zone registers. On
the leading edge when these two values become not equal, the PLC knows there is a new arrival. Note
that as long as a Carton is physically occupying the upstream zone, these two values will not be equal.
3. Upon a successful arrival of a Carton in the upstream zone, then tracking data in Current Downstream
Zone Tracking Word 1 and Current Downstream Zone Tracking Word 2 will be valid for the newly arrived
Carton.
4. The PLC may then decide that this tracking data is to be updated. The PLC can then write new tracking
data to registers Set Local Downstream Zone Tracking Word 1 and Set Local Downstream Zone Tracking
Word 2.
5. When the PLC is ready to release the Carton in the upstream zone, it should read the value in the Current
Release Count for Downstream Zone register, add 1 to this value, and then write this new value to Release
and Accumulate on Next Arrival for Local Downstream Zone register. When ERSC B sees this new value in
this register, it will release the Carton in the downstream zone and automatically accumulate the next
new Carton that arrives. Please note that if the downstream conditions from ERSC B are full when this
new value is written, ERSC B will remember that it was instructed to release and will release the Carton
when downstream conditions become clear without any further signal from the PLC.
6. The PLC can detect when the Carton has departed the sensor on ERSC B upstream zone by examining the
values in Arrival Count Local Downstream Zone and Departure Count Local Downstream Zone registers.
On the leading edge of when these two values are equal, the PLC will know that the Carton has departed
the zone sensor in ERSC B downstream zone.
If the PLC wants to cancel the accumulation control for Module B downstream zone:
PLC can reset bit 0 in Accumulation Control for Local Downstream Zone register. This will signal Module B to
release any Carton accumulated and not accumulate the next Carton that arrives at Module B downstream
zone.
Please note that if any new tracking data has been written to Set Local Downstream Zone
Tracking Word 1 and/or Set Local Downstream Zone Tracking Word 2 and accumulation
control is then canceled, this data will NOT be assigned to the Carton when it is released.
The ONLY way to pass tracking data to a Carton is by following Step 5
above.
In this example, ERSC B must be logically configured as a single zone. This can be either a single long zone with one
MDR and one sensor, or a single long zone with 2 MDRs and one sensor. Please refer to the ConveyLinx User’s
Guide for details on single zone operation.
Also for this example to work properly; the discharging zone of ERSC A and the single zone of ERSC B must be in the
default singluation release mode (not Train mode). ERSC A must also not have its Arrival Jam disabled from
EasyRoll main screen. Please refer to the ConveyLinx User’s Guide and/or EasyRoll software on screen help for
details on these items.
Because of built-in ZPA functionality, when a Carton leaves ERSC A discharge zone, ERSC A waits until it receives
confirmation from ERSC B that the Carton arrived. If a new Carton arrives at ERSC A, it will accumulate until this
arrival confirmation occurs. Because ERSC B is a single long zone, the space for what would have been the
upstream zone for ERSC B (if it was configured as two zones) will now essentially be left clear when a Carton is
accumulated on ERSC B. This is the area where the bar code scanner is located. In this configuration, any new
arrival at ERSC B will be assured to be the Carton associated with the last scan from the bar code reader. For this
example, the PLC must establish a connection with ERSC B and then simply follow the zone control as described for
basic accumulate and release.
For this example, the PLC must establish a connection with ERSC A. When PLC is ready to transfer a Carton from
the PLC controlled conveyor to the Upstream Zone of the MDR Conveyor, the PLC logic must:
1. Write a “4” into Set Status for Upstream Induct register. This will cause the upstream zone of ERSC A to
run to accept Carton.
2. When Carton clears PE-1, write tracking data to Set Induct Tracking Forward Direction Word 1 / 2.
3. When Carton clears PE-1, write a “1” to Set Status for Upstream Induct register. When ERSC A sees this
register change to “1”, it knows that the tracking data written to Set Induct Tracking Forward Word 1 / 2 is
valid and when the Carton reaches the sensor in its upstream zone, the tracking data will be correctly
inducted.
ERSC A must see the Set Status for Upstream Induct register change from 4 to 1 in order
to recognize the tracking data written to Set Induct Tracking Forward Word registers. If
using the clearing of PE-1 to initiate the write of “1” the Set Status for Upstream Induct
register in the PLC logic; the physical length of the Carton must be less that the distance
between PE-1 and ERSC A’s upstream zone sensor because ERSC A inducts the tracking
data upon the Carton arriving at its upstream sensor and if Set Status for Upstream Induct
has not changed from 4 to 1, the tracking data will not be valid.
If a value of “4” is in the Set Status for Upstream Induct register at the same time the
Carton reaches the local upstream zone’s sensor; the local upstream zone will assume the
Carton is physically longer than one zone and will invoke it’s on board Flex Zone logic and
behave accordingly. Please refer to the ConveyLinx User’s Guide for description of Flex
Zone operation. To reliably transfer tracking data and insure single Carton induction to
the local upstream zone, the PLC programmer must insure proper use of the Set Status for
Upstream Induct register.
For this example, the PLC must establish a connection with ERSC X.
1. To hold any Carton that arrives at ERSC X downstream zone, the PLC writes a “5” to Set Status for
Downstream Discharge register. This tells ERSC X that downstream conditions are “full and stopped” so it
will not try to release any loads downstream.
2. When the PLC controlled conveyor is ready to accept a Carton from the MDR downstream zone, it writes
a “1” to Set Status for Downstream Discharge register. This tells ERSC X that downstream conditions are
clear and if it has a Carton on its downstream zone, it will run to release it downstream.
3. When the Carton clears the local sensor in ERSC X Downstream Zone, the tracking data for that Carton will
be populated in Get Tracking Forward Direction Word 1/2 registers.
4. When Carton arrives at PE-2, the PLC writes a “5” to Set Status for Downstream Discharge register. This
tells ERSC X that the Carton successfully transferred. If this is not done, then Modle X will produce an
Arrival jam condition.
Optional Step:
If the application is such that the PLC would like to inhibit a new Carton from entering ERSC X downstream zone for
whatever reason, there is a way to accumulate the next upstream zone to the ERSC X downstream zone. The PLC
can set bit 8 in the Accumulation Control for Local Downstream Zone and this will cause the adjacent upstream
zone to accumulate (whether this zone is on ERSC X or next adjacent upstream ConveyLinx ERSC). Please note that
if ERSC X is configured as a single zone, then you must set bit 8 in the Accumulation Control for Local Upstream
Zone register.
To return the accumulated upstream zone to normal operation; the PLC simply resets bit 8 in this register
This example assumes that the tracking data arriving from each new Carton arrival at ERSC B Upstream Zone
contains a value that will indicate to the PLC that a Carton does or does not need to divert. It is not required that
the PLC use Carton tracking data be used to determine when to divert a Carton.
1. Set bit 0 in Accumulation Control for Local Upstream Zone register to instruct this zone to accumulate any
Carton that arrives.
2. Monitor Arrival Count Local Upstream Zone and Departure Count Local Upstream Zone registers. On the
leading edge when these two values become not equal, the PLC knows there is a new arrival. Note that as
long as a Carton is physically occupying the upstream zone, these two values will not be equal.
3. Upon a successful arrival of a Carton in the upstream zone, then tracking data in Current Upstream Zone
Tracking Word 1 and Current Upstream Zone Tracking Word 2) will be valid for the newly arrived Carton.
Assuming the PLC determines that the newly arrived Carton needs to divert:
• Set bit 8 of Accumulation Control for Local Upstream Zone register. This will keep ERSC A from releasing a
Carton to ERSC B while the divert operation is in progress.
• PLC will then initiate it’s divert mechanism.
• When carton reaches PE-1, the PLC will then set bit 9 of the Accumulation Control for Local Upstream
Zone register. This will tell ERSC B that the carton “successfully arrived at its downstream position”.
• Once carton has cleared PE-1, then the PLC should clear bit 9 of the Accumulation Control for Local
Upstream Zone register.
• PLC then can clear bit 8 of the Accumulation Control for Local Upstream Zone register to instruct ERSC A
that it is OK to allow the next carton to enter ERSC B’s upstream zone.
Please note that in this example, the setting of bit 9 in the Accumulation Control for Local
Upstream Zone register can simply be written in the PLC logic based upon block and clear
of PE-1. Care must be taken so that ERSC B’s Upstream zone’s sensor is not blocked at the
same time this bit 9 is set. If this zone’s sensor is blocked at the same time bit 9 is set;
ERSC B will assume that the carton is more than one zone in length and will automatically
initiate Flex Zone operation which may produce unexpected results in carton flow. Please
refer to User’s Guide for complete description of Flex Zone function and how to disable if
needed.
If PLC determines that the Carton needs to go straight and not divert:
The PLC can simply modify Carton’s tracking data if desired and release the Carton as described in section Example
1 – Basic Accumulate and Release with Tracking Data on page 32.
In this example the PLC only needs to connect to ERSC C and from this connection, the PLC can monitor conditions
on ERSC A as well as “wake-up” ERSC C / ERSC B zone to accept a carton from the merging curve section.
1. With no PLC intervention, as long as cartons arrive into ERSC A they will be conveyed to ERSC C/B and
onto ERSC D in normal ZPA fashion.
2. To verify that ERSC C (and by extension ERSC B) is ready to accept a carton from the merge curve; the PLC
needs to know that ERSC C’s zone is clear and stopped by examining Local Status Upstream Zone register.
When this register equals 1, the zone is clear and stopped.
3. When the PLC needs to convey a carton from the merging curve, the PLC needs to set bit 8 in
Accumulation Control for Local Upstream Zone register to accumulate the adjacent upstream zone, in this
example setting bit 8 will cause ERSC A downstream zone to accumulate any carton that arrives.
4. When the PLC is ready to release a carton from the merging curve conveyor, the PLC sets bit 12 in the
Accumulation Control for Local Upstream Zone register to wake up the ERSC C zone (along with ERSC B’s
zones because ERSC B is an extension of ERSC C).
5. When the PLC sees the Local Status Upstream Zone register change to a value of 4 or 5, the PLC knows
that the carton made it to ERSC C’s zone sensor and must then reset bit 12 in the Accumulation Control for
Local Upstream Zone register. Either of these values will indicate a successful arrival at ERSC C.
6. Once bit 12 of the Accumulation Control for Local Upstream Zone register has been reset, the PLC can
reset bit 8 of the same register to indicate to ERSC A that it is OK to continue normal ZPA function.
ERSC Assembled
Assembled EIP Assembled Profinet
Internal Register Name Modbus Address
Address for PLC Address for PLC
Address for PLC
4:0105 Local Status Upstream Zone I.Data[0] 4:2900 Byte 0 (Hi) Byte 1 (Lo)
4:0106 Local Status Downstream Zone I.Data[1] 4:2901 Byte 2 (Hi) Byte 3 (Lo)
4:0107 Arrival Count Local Upstream Zone I.Data[2] 4:2902 Byte 4 (Hi) Byte 5 (Lo)
4:0116 Departure Count Local Upstream Zone I.Data[3] 4:2903 Byte 6 (Hi) Byte 7 (Lo)
4:0185 Arrival Count Local Downstream Zone I.Data[4] 4:2904 Byte 8 (Hi) Byte 9 (Lo)
4:0186 Departure Count Local Downstream Zone I.Data[5] 4:2905 Byte 10 (Hi) Byte 11 (Lo)
4:0187 Module Status Word 1 I.Data[6] 4:2906 Byte 12 (Hi) Byte 13 (Lo)
4:0196 Module Status Word 2 I.Data[7] 4:2907 Byte 14 (Hi) Byte 15 (Lo)
4:0035 Current Release Count for Upstream Zone I.Data[8] 4:2908 Byte 16 (Hi) Byte 17 (Lo)
4:0088 Current Release Count for Downstream Zone I.Data[9] 4:2909 Byte 18 (Hi) Byte 19 (Lo)
4:0089 Sensor & Control Port Inputs I.Data[10] 4:2910 Byte 20 (Hi) Byte 21 (Lo)
Reserved I.Data[11] 4:2911 Byte 22 (Hi) Byte 23 (Lo)
• Status of all available digital inputs on Sensor and Control ports (8 total inputs)
• Module voltage reading
• Left and Right motor status of frequency, current, and calculated temperature
• Left and Right motor diagnostic error status word
• Control of Control Port digital outputs
• Ability to independently run both Left and Right motors
• Ability to set speed, acceleration, deceleration, PI Mode, and Braking method for Left and Right motors
• Ability to configure one or both motor ports to digital output mode
• Ability to remotely clear fatal motor error condition
• Ability to instruct module to E-Stop motor outputs
Refer to ConveyLinx User’s Guide (publication ERSC-1000) for connection details for
Sensor and Control Port input and output signals.
When an ERSC is placed in PLC I/O mode; it suspends all of its internal ZPA logic control. Any sensors or motors
connected to the ERSC require explicit interaction with an external controller. The external controller will have
typical Ethernet-based remote I/O performance from an ERSC when in PLC I/O mode.
From the main screen, first enter the correct Subnet into the “Network IP” boxes and the correct Node you want to
connect. Invoke the ConveyLinx Advanced Dialog and select the Connections tab.
Note that the Node is being viewed is in the center and it is greyed out. Select the “PLC I/O Controlled” checkbox.
With this checked the “Clear Connections” checkbox becomes enabled. Check or Uncheck the “Clear
Connections” checkbox depending upon your application. Click “Apply” to initiate the change. The ERSC will
restart and this may take several seconds to complete.
The decision to “Clear Connections” is based upon the application. When a string of ERSC modules are Auto-
Configured, each successive ERSC in the string establishes a logical upstream / downstream connection with its
neighbor ERSC’s. These connections provide the basis for the logical flow of inter-module status data for ZPA
functionality. However, if a single ERSC node within a string of ZPA configured nodes needs to be utilized in PLC
I/O mode, these logical connections can remain in place and be used to PLC programmer’s advantage.
By NOT clearing the connections, the ERSC in PLC I/O will maintain its inter-module data exchange. This could be
advantageous for applications where you want to control a specialized conveyor section such as a right angle
transfer or merge conveyor with an ERSC in PLC I/O mode. For example, if the PLC I/O mode ERSC is being either
fed or feeds conveyors controlled by ERSC’s in standard ZPA mode, these ERSC’s will populate PLC I/O configured
module’s registers with their respective status data. Likewise, the PLC can manipulate the PLC I/O configured
module’s zone status registers and these registers will automatically be written to the adjacent ERSC’s by virtue of
these already established connections without requiring the PLC to explicitly perform the messaging.
If you choose the option to “Clear Connections”, this automatic data transfer of status is inhibited. This means that
for an ERSC module in PLC I/O mode whose connections have been cleared; its status registers are not
automatically written to its adjacent neighbors. Clearing the connections could be advantageous when utilizing
several ERSC’s in a row configured as PLC I/O where having this additional inter-module communication is not
required and would only add to unnecessary communication bandwidth usage.
Select “Don’t Change” if you want module’s logical outputs and MDR’s to remain in the state they were in at the
time of the communication loss
Select “All OFF” to instruct the ERSC to turn off all logical outputs and stop all MDR’s at the time of communication
loss.
Upon re-establishing communications with the PLC, the ERSC will automatically resume having its outputs and
MDR’s controlled by PLC command.
Register Name /
Address Data Description
Module Address
Bitwise Value - Read only
bit 00 = Reserved
bit 01 = Reserved
bit 02 = Reserved
bit 03 = Reserved
bit 04 = Reserved
bit 05 = Stop active on other module in Stop Group
bit 06 = Stop active due to lost communication connection
bit 07 = Stop active due to lost PLC connection
M: 4:1700 bit 08 = Stop active on local module’s Left Control Port
ConveyStop Status
E: I.Data[0] bit 09 = Stop active on local module’s Right Control Port
4:0019
P: Byte 0 (Hi) Byte 1 (Lo) bit 10 = Stop active due to Stop Command from PLC
bit 11 = Reserved
bit 12 = Reserved
bit 13 = Reserved
bit 14 = Reserved
bit 15 = Reserved
Register Name /
Address Data Description
Module Address
High Byte / Low Byte Value of temperatures in °C
Left Motor M: 4:1706
High Byte = Calculated motor temperature
Temperature E: I.Data[6]
Low Byte = Temperature reading from on-board sensor
4:0057 P: Byte 12 (Hi) Byte 13 (Lo)
Register Name /
Address Data Description
Module Address
Current Tracking Word Value = Tracking data word #2 (16 bit integer) for the Carton that has just
M: 4:1717
2 for Adjacent discharged from the ERSC Adjacent to this local ERSC module.
E: I.Data[17]
Upstream Module
P: Byte 34 (Hi) Byte 35 (Lo) See PLC I/O Mode Note ① on page 53 for Details
4:0140
M: 4:1718
Reserved E: I.Data[18]
P: Byte 36 (Hi) Byte 37 (Lo)
Signed integer value that indicates the current position of the Left Motor in
Left Motor Servo M: 4:1719
relation to its “0” position
Position E: I.Data[19]
4:0062 P: Byte 38 (Hi) Byte 39 (Lo)
See section Servo Motor Control Example on page 61
Signed integer value that indicates the current position of the Right Motor in
Right Motor Servo M: 4:1720
relation to its “0” position
Position E: I.Data[20]
4:0086 P: Byte 40 (Hi) Byte 41 (Lo)
See section Servo Motor Control Example on page 61
Bit 0: Servo Command Status
1 = Last Servo Run Command Complete
0 = Servo Command in Process
Left Motor Servo M: 4:1721 Bit 1: Servo Reset Status
Status E: I.Data[21] Echoes state of Left Motor Servo Command bit 0
4:0011 P: Byte 42 (Hi) Byte 43 (Lo) Bit 2: Servo Command Status
Echoes state of Left Motor Servo Command bit 1
Refer to Appendix A - Motor Port as Digital I/O on page 77 for wiring details for using a motor port as digital I/O.
0 = No Command
M: 4:1800 1 = Command local module’s Stop Group to go to Stopped State
ConveyStop Command
E: O.Data[0] 2 = Command local module’s Stop Group to Clear Stopped State
4:0020
P: Byte 0 (Hi) Byte 1 (Lo)
Refer to Insight Automation publication ERSC-1800 ConveyStop User’s Guide for
details on using ConveyStop.
Bitwise Value – “1” Energizes Output
Set Left Motor Port M: 4:1801 bit 0 = Motor Port Pin 3
Digital Control E: O.Data[1] bit 1 = Motor Port Pin 4
4:0060 P: Byte 2 (Hi) Byte 3 (Lo) bit 2 = Motor Port Pin 5
bit 3 thru bit 5 = Reserved
bit 6 = Brake Output Pin 9
bit 7 = Enable Brake Pin 9 when Motor Port is NOT in Digital mode
bit 8 = Clear Over-current error
Set Right Motor Port M: 4:1802 bit 9 thru 14 = Reserved
Digital Control E: O.Data[2] bit 15 = Digital Output Enable
4:0084 P: Byte 4 (Hi) Byte 5 (Lo) 0 = Use port as Motor Control
1 = Use port as Digital Output
See Appendix A - Motor Port as Digital I/O on page 77 for connection details.
Bitwise Value – “1” Energizes Output
bit 0 = Reserved
Control Port Digital M: 4:1803
bit 1 = Left Control Port
Output Control E: O.Data[3]
bit 2 = Reserved
4:0037 P: Byte 6 (Hi) Byte 7 (Lo)
bit 3 = Right Control Port
Bit 0:
1 = Run Command
M: 4:1804
Left Motor Run / Reverse 0 = Stop Command
E: O.Data[4]
4:0260 Bit 8:
P: Byte 8 (Hi) Byte 9 (Lo)
0 = Run in Configured Direction
1 = Run opposite of Configured Direction
Integer Value
0 = Use Configured Brake Method
Left Motor Brake M: 4:1805
1 = Use Standard Brake Method
Method E: O.Data[5]
2 = Use Free Coast Brake Method
4:0261 P: Byte 10 (Hi) Byte 11 (Lo)
3 = Use Servo 1 Brake Method
4 = Use Servo 2 Brake Method
Integer Value
Left Motor Speed Control M: 4:1806 0 = Use Configured Speed Control Method
Method E: O.Data[6] 1 = Use Open Loop
4:0262 P: Byte 12 (Hi) Byte 13 (Lo) 2 = Use Closed Loop
For example, suppose the zone photo sensors used are “Light Operate, Normally Open”. This means that the
sensor’s output is energizing the ERSC’s sensor input pin 4 when the zone is clear. The ERSC Sensor port LED
indicator for pin 4 (green) should illuminate when the zone is blocked; so the Auto-Configuration procedure sets a
bit in the Sensor & Control Port Input Signal Condition Mask register to correspond to the pin 4 signal on the
appropriate sensor port. If the sensor is electrically opposite such that its output energizes pin 4 of the sensor port
when the zone is blocked, then the bit corresponding to pin 4 for this sensor port is clear such that the sensor
port’s LED illuminates green when pin 4 is energized.
When an ERSC is placed in PLC I/O mode; the Sensor & Control Port Input Signal Condition Mask register is cleared
of the values set during the Auto-Configure procedure. The Sensor & Control Port Input Signal Condition Mask
register is made available for PLC I/O mode Sensor and Control port inputs to give the PLC programmer the same
flexibility for configuring which electrical state (on or off) of the input will cause a logical 1 to appear in the Sensor
& Control Port Inputs register and illuminate the pin’s corresponding LED. By setting or clearing the corresponding
bit for a given port’s pin 3 or 4 signal, the PLC programmer can determine which physical state (on or off) of the
input signal will cause its corresponding pin’s bit in the Sensor & Control Port Inputs register to be set and its
corresponding LED to illuminate.
The following are two examples that show the bit patterns and signals for one of the ERSC’s inputs. The same
pattern applies to all 8 available ERSC inputs:
Be careful when changing the Sensor & Control Port Input Signal Condition Mask in your
Ethernet I/P PLC program. The input bit values in the Sensor & Control Port Inputs register
can show unexpected or opposite values from expected until the PLC has updated the
Sensor & Control Port Input Signal Condition Mask data. This update could take several
program scans depending upon the Ethernet IP RPI settings. Take care to be sure that the
Sensor & Control Port Input Signal Condition Mask data is written to the ERSC Before
acting on any input values in the Sensor & Control Port Inputs register.
Please note that the Sensor/Control Port LEDs are tri-colored. In applications where both
Pin 4 and Pin 3 are used on the same Sensor/Control Port; please note that when the
green and red LEDs are illuminated at the same time, the color will be amber.
The Servo Motor Control function allows you to establish a zero or “home” rotational position of the MDR and
then instruct the ERSC to rotate an assigned number of motor pulses in either direction from this zero or “home”
position. PLC I/O Mode Assemblies provide the data registers to allow external PLC control of this function for
both the Left and Right MDR ports.
Servo Control functionality requires that the Closed Loop option be enabled for the motor
port in question. This can be done either by selecting the check box in EasyRoll or using
the PLC to write a value of “2” in the appropriate Motor Speed Control register for the
motor in question.
The Servo Motor Control function utilizes the existing motor speed, acceleration, and deceleration registers. The
existing starting, stopping, and direction control registers are not used and these functions are incorporated into
the Servo Control registers.
Servo Control functionality utilizes motor pulses as generated by the BLDC motor’s Hall
Effect Sensors as the metric for movement and positioning. The quantity of pulses per
revolution of the BLDC motor is based upon the number of motor poles X 3. The actual
number of pulses per revolution of the MDR tube is based upon the gear reduction ratio
of the gearbox in the MDR and the diameter of the tube.
For our example, we want to perform the following cycle using PLC control of the Left MDR on and ERSC:
• Establish a zero or home position by external input to PLC (sensor or operator button)
• Rotate in the CCW direction for 7000 pulses at a speed of 80% PWM with acceleration ramp of 100 pulses
and a deceleration ramp of 50 pulses
• Rotate the CW direction for 9000 pulses at a speed of 100% PWM with acceleration ramp of 50 pulses and
a deceleration ramp of 10 pulses.
• Rotate CCW back to the zero or home position at a speed of 80% PWM with acceleration ramp of 50
pulses and a deceleration ramp of 10 pulses.
• Wait for a cycle dwell time of 4 seconds and then repeat the rotation cycles
Now let’s define some logic names that correspond to actual PLC I/O Mode Assembly tag values to make our
example easier to follow:
Step #1: Place Left Motor in Closed Loop Mode by writing a “2” to MODE
Step #2: Upon external signal from sensor or button, set ZERO bit to establish zero or “home” position. When PLC
sees that the ZERO_ACK bit is set, then the PLC resets the ZERO bit.
Step #3: To make the first rotation, we need write the speed, ramp values, and distance to rotate to the
appropriate registers:
Step #4: If READY is reset, then the PLC can set the RUN bit to begin the rotation. When the rotation is complete,
the ERSC sets the READY bit. This will be the signal to the PLC to reset the RUN bit. Once the ERSC sees that the
RUN bit has been reset, it will reset the READY bit.
Step #5: For the second rotation, we need to write the speed and ramp values to the appropriate registers:
Because we want to rotate in the opposite direction, we need to determine the new location based upon the
zero or “home” position. In this case, we know we went 700 pulses “forward” and we want to move 900
pulses “backward”. The position we want to end up is 7000-9000 = -2000.
Rotation Note: Rotation from 0 to a positive value always causes rotation in CCW
direction and rotation from 0 to a negative value always causes rotation in CW direction.
Servo Motor Control ignores the CW/CCW direction setting in EasyRoll and/or any
configured or default direction that may exist in the ERSC’s configuration.
Values shown in this example are for demonstration purposes only. Actual position,
speeds, acceleration, and deceleration values are highly dependent upon the mechanical
application.
ERSC Internal
Register Name Assembled Address for PLC
Address
M: 4:2700
4:0035 Sensor & Control Port Inputs E: I.Data[0]
P: Byte 0 (Hi) Byte 1 (Lo)
M: 4:2701
4:0036 Sensor Detect E: I.Data[1]
P: Byte 2 (Hi) Byte 3 (Lo)
M: 4:2702
4:0057 Left Motor Temperature E: I.Data[2]
P: Byte 4 (Hi) Byte 5 (Lo)
M: 4:2703
4:0058 Left Motor Status E: I.Data[3]
P: Byte 6 (Hi) Byte 7 (Lo)
M: 4:2704
4:0081 Right Motor Temperature E: I.Data[4]
P: Byte 8 (Hi) Byte 9 (Lo)
M: 4:2705
4:0082 Right Motor Status E: I.Data[5]
P: Byte 10 (Hi) Byte 11 (Lo)
M: 4:2706
4:0060 Left Motor Port Digital I/O Status E: I.Data[6]
P: Byte 12 (Hi) Byte 13 (Lo)
M: 4:2707
4:0084 Right Motor Port Digital I/O Status E: I.Data[7]
P: Byte 14 (Hi) Byte 15 (Lo)
M: 4:2708
N/A Reserved E: I.Data[8]
P: Byte 16 (Hi) Byte 17 (Lo)
ERSC Internal
Register Name Assembled Address for PLC
Address
M: 4:2800
4:0060 Set Left Motor Port Digital Control E: O.Data[0]
P: Byte 0 (Hi) Byte 1 (Lo)
M: 4:2801
4:0084 Set Right Motor Port Digital Control E: O.Data[1]
P: Byte 2 (Hi) Byte 3 (Lo)
M: 4:2802
4:0037 Control Port Digital Output Control E: O.Data[2]
P: Byte 4 (Hi) Byte 5 (Lo)
M: 4:2803
4:0260 Left Motor Run / Reverse E: O.Data[3]
P: Byte 6 (Hi) Byte 7 (Lo)
M: 4:2804
4:0270 Right Motor Run / Reverse E: O.Data[4]
P: Byte 8 (Hi) Byte 9 (Lo)
M: 4:2805
4:0040 Left Motor Speed Reference E: O.Data[5]
P: Byte 10 (Hi) Byte 11 (Lo)
M: 4:2806
4:0064 Right Motor Speed Reference E: O.Data[6]
P: Byte 12 (Hi) Byte 13 (Lo)
M: 4:2807
4:0022 Clear Motor Error E: O.Data[7]
P: Byte 14 (Hi) Byte 15 (Lo)
M: 4:2808
N/A Reserved E: O.Data[8]
P: Byte 16 (Hi) Byte 17 (Lo)
ERSCs in PLC I/O mode allow for download of a user program generated with the ConveyLogix programming tool.
There may be instances when you would like for an external PLC to be able to interface with an ERSC that is
running a ConveyLogix program. Because a custom user generated program is running in the ERSC, the previously
defined existing Assemblies for ZPA and PLO I/O modes are no longer valid and if used, could produce unexpected
results.
When using ConveyLogix programming software version 2.2 and later, the environment provides predefined
controlled input and output register tags that can be used by the programmer to interface with an external PLC.
The Assemblies described in this section are those that the external PLC would connect and use to access the data
in the ERSC ConveyLogix program.
This data is divided into 16 Integer Input words and 16 Integer output words. It is left to the ConveyLogix
programmer and the PLC programmer to utilize as much or as little of these data blocks as needed for their
particular application.
For control system applications where the Ethernet I/P PLC needs to take specific action to recover from a loss of
communications due to an ERSC module that has had its power cycled off and on; there is an additional set of
instances implemented that provides 2 new registers that allows the PLC to manipulate the function of the ERSC
module for recovery.
When an ERSC in ZPA Mode has lost power and then is powered back up, due to perhaps a system E-stop that
disconnects control power, some of the ERSC’s working register values are reset to 0. Among these are the arrival
counters, departure counters, and the accumulate commands for each configured zone(s) on the ERSC. Upon
power cycle to the ERSC, if the PLC can establish its full Ethernet I/P connection prior to the ZPA task becoming
fully functional, the preceding PLC programming examples would still function as expected. However, because PLC
Ethernet I/P connection time is variable and not fixed; a robust control system design cannot count on the PLC
establishing Ethernet I/P connection prior to the ERSC’s ZPA task commanding the module as if no PLC was
connected. A consequence of this in the previous programming example is that if a load happens to be
accumulated in a PLC controlled zone at the time of power loss, upon powering back up, the load can release
without the PLC commanding it to do so. This release could be caused by the PLC logic detecting a change in
arrival count and thus incrementing the release or it could be caused by the fact that the accumulate command is
cleared in the ERSC due to power cycle and because the PLC has not established communications to set the
accumulate command bit, the ERSC releases the zone because there is no command present to accumulate.
For ERSC’s in PLC I/O mode, Reset Protection may not be as much a concern as for a module in ZPA mode, however
reset protection assemblies are available for PLC I/O mode. Some items such as current servo position, etc. are
reset upon restoration of power and thus the PLC programmer may want to detect this condition and act
accordingly.
Reset Protection assemblies are used for applications where the ERSC remains in a “hold” state until the PLC has
established communications. Otherwise, the register mappings for these assemblies are the same as their non-
protected counterparts.
Please note that the Modbus TCP starting addresses for each assembly with reset protection is different from their
non-protected counterparts.
4:0105 Release and Accumulate on Next Arrival for Local Upstream Zone E: O.Data[8] M: 4:3608
4:0185 Release and Accumulate on Next Arrival for Local Downstream Zone E: O.Data[9] M: 4:3609
4:0109 Clear Sensor Jam Command for Local Upstream Zone E: O.Data[20] M: 4:3620
4:0189 Clear Sensor Jam Command for Local Downstream Zone E: O.Data[21] M: 4:3621
4:0365 Direction & Accumulation Mode Control for Local Upstream Zone E: O.Data[22] M: 4:3622
4:0375 Direction & Accumulation Mode Control for Local Upstream Zone E: O.Data[23] M: 4:3623
REDUCED SIZE PLC I/O MODE ASSEMBLY INPUTS WITH RESET PROTECTION
Assembled Assembled
ERSC Internal
Register Name Ethernet I/P Modbus
Address
Address for PLC Address for PLC
4:0116 Local Status Upstream Zone E: I.Data[0] M: 4:4700
4:0196 Local Status Downstream Zone E: I.Data[1] M: 4:4701
4:0106 Arrival Count Local Upstream Zone E: I.Data[2] M: 4:4702
4:0107 Departure Count Local Upstream Zone E: I.Data[3] M: 4:4703
4:0186 Arrival Count Local Downstream Zone E: I.Data[4] M: 4:4704
4:0187 Departure Count Local Downstream Zone E: I.Data[5] M: 4:4705
4:0088 Module Status Word 1 E: I.Data[6] M: 4:4706
4:0089 Module Status Word 2 E: I.Data[7] M: 4:4707
4:0105 Current Release Count for Upstream Zone E: I.Data[8] M: 4:4708
4:0185 Current Release Count for Downstream Zone E: I.Data[9] M: 4:4709
4:0035 Sensor & Control Port Inputs E: I.Data[10] M: 4:4710
N/A Current Module Reset Count E: I.Data[11] M: 4:4711
REDUCED SIZE PLC I/O MODE ASSEMBLY OUTPUTS WITH RESET PROTECTION
Assembled Assembled
ERSC Internal
Register Name Ethernet I/P Modbus
Address
Address for PLC Address for PLC
4:0060 Set Left Motor Port Digital Control E: O.Data[0] M: 4:4800
4:0084 Set Right Motor Port Digital Control E: O.Data[1] M: 4:4801
4:0037 Control Port Digital Output Control E: O.Data[2] M: 4:4802
4:0260 Left Motor Run / Reverse E: O.Data[3] M: 4:4803
4:0270 Right Motor Run / Reverse E: O.Data[4] M: 4:4804
4:0040 Left Motor Speed Reference E: O.Data[5] M: 4:4805
4:0064 Right Motor Speed Reference E: O.Data[6] M: 4:4806
4:0022 Clear Motor Error E: O.Data[7] M: 4:4807
N/A Set Module Reset Count E: O.Data[8] M: 4:4808
• Your PLC program needs to move the value in the Current Module Reset Counter register into the Set
Module Reset Counter register.
• When the ERSC detects that the value in Set Module Reset Counter register is equal to the value in the
Current Module Reset Counter register; the ERSC will respond to data being written by the PLC to the
remaining output assembly registers.
Please note that when the value in Current Module Reset Counter register is not equal to the
value in the Set Module Reset Counter register; the values in the Input registers will updated
by the ERSC and will be valid. In this state, even though the PLC may be writing data to
Output registers, the ERSC will ignore it.
FOR ZPA ZONES: To make sure a given zone accumulates upon power up, use EasyRoll
configuration tool software to set the zone to “Accumulate”. When set from EasyRoll, this
will be retained in the flash memory of the ERSC so that the zone will initially accumulate if
a load happens to be in the zone at the time of power up.
When a ZPA zone is commanded to accumulate with a PLC and you happen to connect to
that ERSC with EasyRoll; the “Accumulate” switch icon on the main screen will visibly
indicate that the zone is accumulated. This visible icon will look the same as if it was clicked
ON from EasyRoll.
Keep in mind that a PLC command to accumulate IS NOT retained upon power loss to the
ERSC. Only if the “Accumulate” switch is toggled “ON” with the EasyRoll is the accumulate
condition for the zone retained in flash memory for use upon power-up.
Motor port as digital I/O is only applicable for an ERSC in PLC I/O Mode
External controller must first set bit 15 = 1 in the Set Left/Right Motor Port Digital Control register for the motor
port (Left or Right) that is to be used as digital output. If bit 15 = 0, then the ERSC ignores the bit 0 thru bit 2
commands and will not provide meaningful status on bits 12 and 14 in the corresponding Left/Right Motor Port
Digital I/O Status register for the port in question. Bit 0, bit 1, and bit 2 can be independently set and reset by the
PLC and all 3 digital outputs can be energized simultaneously.
Figure 9 shows the wiring diagram for a given motor port configured for digital output. Please note that the ERSC
switches to GND to complete the circuit.
FIGURE 9 - WIRING DIAGRAM FOR MOTOR PORT CONFIGURED FOR DIGITAL OUTPUT
Connection to Pin 1 (GND) as shown is only required if the Output Power Supply is at
different DC common than the ERSC’s power supply. If both power supplies have the
same DC common, then this connection is not required.
Short Circuit Error on bit 12 is classified as a “fatal” error that will require either a cycle of
power on the ERSC or an explicit Motor Fault Reset command from external controller the
same as if the port was being used as a motor port.
External controller must continuously write “1” to the Motor Fault Reset register for at
least 500 msec for reset to occur.
If you have enabled the motor port for digital control by setting bit 15, you do not have to also set bit 7 to enable
the Brake Output. It is already enabled when you set bit 15.
Please note that the following examples in this section assume the High Byte of all zone
status registers have been masked such that only the Low Byte values are used.
From the preceding charts, we can see that all of the Holding Registers in Figure 11 contain integer values
indicating a zone status. In essence, the ZPA control process in each ERSC writes its zone’s status to its adjacent
neighbors and monitors its local registers that are written to by its adjacent ERSC neighbors. The ZPA process acts
upon what is written to it and updates its local status accordingly. For example, the following sequence would be
typical:
• ERSC #1 continually reads register 4:0232 to know the status of ERSC #2’s local upstream zone
• If a Carton arrives at ERSC #1 discharge zone and the value in its register 4:0232 is equal to 4 or 5, then it
will stop the Carton at its downstream discharge zone
• ERSC #1 continues to read register 4:0232. Once the value in its register 4:0232 has changed to a value of
1 or 2; the Carton in its discharge zone can be conveyed to ERSC #2. To initiate this, ERSC #1 writes its
status value of 4 (located in register 4:0196) to register 4:0134 on ERSC #2.
• When ERSC #2 control logic sees its register 4:0134 change to a value of 4, it knows that a Carton is being
discharged onto its upstream zone and thus will energize its upstream zone MDR to run and accept the
Carton from ERSC #1.
There would be a similar sequence for ERSC #2 to convey a Carton to ERSC #3.
Figure 12 shows a simple example where a PLC would act as a bridge between two separate ConveyLinx subnets.
In this case, ERSC #1 is at the end of its particular subnet, so when it was configured; it knows that it does not have
a logical downstream connection. Similarly, ERSC #2 is at the beginning of its particular subnet, so when it was
configured it knows that it does not have a logical upstream connection. In order for Loads to flow from ERSC #1
eventually to ERSC #2; the PLC must act as a bridge and “mimic” the writing of register data to ERSC #1 and ERSC
#2 as if it was an ERSC module. This is illustrated in Figure 13.
For example, if the PLC wants to make sure that any Carton stops at the discharge of ERSC #1, it will write a value
of 5 into ERSC #1 register 4:0232. A value of 5 means “zone sensor blocked and motor stopped” and will be
interpreted by ERSC #1 as a reason to stop and hold any Carton that arrives at its discharge zone.
The PLC can monitor the status of ERSC #1 discharge zone by reading ERSC #1 register 4:0196. If this value is 5, the
PLC knows a Carton is present and stopped in ERSC #1’s discharge zone. When the PLC is ready to accept the
Carton, it simply writes a value of 1 to ERSC #1 register 4:0232.
For the discharge from the PLC controlled conveyor or machine, the PLC can monitor the status of the upstream
zone of ERSC #2 by reading ERSC #2 register 4:0116. For example, if a value of 5 is read, the PLC will know that the
ERSC #2 accepting zone is occupied and is not ready to accept a Carton. If the value read is a 1 or 2, then the PLC
knows it can discharge a Carton when ready. In order to discharge a Carton, the PLC will need to write a value of 4
to ERSC #2 register 4:0134 to tell ERSC #2 to run its upstream accepting zone.
For Firmware 5.2, the original addresses are no longer valid and this
appendix will show each table with the new ODVA compliant Modbus
register address ranges for each assembly.
All register Assembly tables in this guide show the Modbus addresses with their
original assignments that are still valid for Firmware versions 4.25 and older.
Specific instructions for handling pre-4.25, 4.25, and 5.2 firmware versions for Rockwell
PLCs will be described in the separate document Connecting to Rockwell PLC’s Version
2.0.
4:0105 Release and Accumulate on Next Arrival for Local Upstream Zone 4:31608 4:3608
4:0185 Release and Accumulate on Next Arrival for Local Downstream Zone 4:31609 4:3609
4:0109 Clear Sensor Jam Command for Local Upstream Zone 4:31620 4:3620
4:0189 Clear Sensor Jam Command for Local Downstream Zone 4:31621 4:3621
4:0365 Direction & Accumulation Mode Control for Local Upstream Zone 4:31622 4:3622
4:0375 Direction & Accumulation Mode Control for Local Upstream Zone 4:31623 4:3623
REDUCED SIZE PLC I/O MODE ASSEMBLY INPUTS WITH RESET PROTECTION
Original
Assembled
ERSC Internal Assembled
Register Name Address for FW
Address Address for FW
5.2
4.25 and earlier
4:0116 Local Status Upstream Zone 4:32700 4:4700
4:0196 Local Status Downstream Zone 4:32701 4:4701
4:0106 Arrival Count Local Upstream Zone 4:32702 4:4702
4:0107 Departure Count Local Upstream Zone 4:32703 4:4703
4:0186 Arrival Count Local Downstream Zone 4:32704 4:4704
4:0187 Departure Count Local Downstream Zone 4:32705 4:4705
4:0088 Module Status Word 1 4:32706 4:4706
4:0089 Module Status Word 2 4:32707 4:4707
4:0105 Current Release Count for Upstream Zone 4:32708 4:4708
4:0185 Current Release Count for Downstream Zone 4:32709 4:4709
4:0035 Sensor & Control Port Inputs 4:32710 4:4710
N/A Current Module Reset Count 4:32711 4:4711
REDUCED SIZE PLC I/O MODE ASSEMBLY OUTPUTS WITH RESET PROTECTION
Original
Assembled
ERSC Internal Assembled
Register Name Address for FW
Address Address for FW
5.2
4.25 and earlier
4:0060 Set Left Motor Port Digital Control 4:32800 4:4800
4:0084 Set Right Motor Port Digital Control 4:32801 4:4801
4:0037 Control Port Digital Output Control 4:32802 4:4802
4:0260 Left Motor Run / Reverse 4:32803 4:4803
4:0270 Right Motor Run / Reverse 4:32804 4:4804
4:0040 Left Motor Speed Reference 4:32805 4:4805
4:0064 Right Motor Speed Reference 4:32806 4:4806
4:0022 Clear Motor Error 4:32807 4:4807
N/A Set Module Reset Count 4:32808 4:4808
NOTES: