GFK-2224P PACS Ethernet Manual
GFK-2224P PACS Ethernet Manual
GFK-2224P PACS Ethernet Manual
Intelligent Platforms
Related Documents
Doc # Title
GFK-1918 Proficy* Logic Developer-PLC Getting Started
Indicates a procedure, condition, or statement that, if not strictly observed, could result in
personal injury or death.
Warning
Indicates a procedure, condition, or statement that, if not strictly observed, could result in
damage to or destruction of equipment.
Caution
Attention
Technical Support
If you have technical problems that cannot be resolved with the information in this manual, please contact us by
telephone or email, or on the web at http://support.ge-ip.com
Americas
Asia Pacific
Ethernet Cable
Network Network
Connection Connection
Ethernet
Interface Ethernet Ethernet
Interface Interface
Host Computer or Control Computer Running
Device Running a Host Programming Software
Communications Toolkit - TCP/IP Ethernet
PACSystems and Series 90 PLCS
Ethernet Connection System Diagram
• Full RX3i Controller programming and configuration services with inactivity timeout
• Periodic data exchange using Ethernet Global Data (EGD)
• EGD Commands to read and write PLC and EGD exchange memory over the
network.
• TCP/IP communication services using SRTP
• SRTP Client (Channels)
• Modbus TCP Server, supporting Modbus Conformance classes 0, 1, and 2.
• Modbus TCP Client, supporting Modbus Conformance classes 0, 1, and Function
Codes 15, 22, 23, and 24 for Conformance class 2.
• Redundant IP Addressing capability.
• Basic remote PLC monitoring from a web browser (RX7i CPU Ethernet interface
only)
• Comprehensive station management and diagnostic tools
Note Effective with RX3i CPE305/CPE310 firmware version 8.30, EGD Class 1 is
supported on the embedded Ethernet Interface. Earlier versions do not support EGD.
Serial Port Station Mgr Port: RS-232 DCE, 1200 - 115200 bps.
CPE330: 3 RJ45
LAN IEEE 802.2 Logical Link Control Class I
IEEE 802.3 CSMA/CD Medium Access Control 10/100 Mbps
CPE330 has two independent 10/100/1000 Ethernet LANs:
• The top Ethernet Port attaches to LAN1 using a dedicated RJ45 connector
• The bottom 2 Ethernet Ports attach to LAN2 using a pair of internally-switched RJ45
connectors
Number of IP addresses One
CPE330 has two IP addresses
Maximum number of connections • 32 SRTP Server connections
• Up to 16 Modbus/TCP Server connections
• 32 Clients are permitted; each may be SRTP or Modbus/TCP
Station Manager Access remote UDP Refer to GFK-2225J, Station Manager Manual or later for
supported commands.
SRTP Client allows the PACSystems PLC to initiate data transfer with other
SRTP-capable devices on the network. SRTP channels can be set up in the PLC
application program. SRTP supports COMMREQ-driven channel commands to establish
new channels, abort existing channels, transfer data on an existing channel, and retrieve
the status of an existing channel.
Any given channel can be assigned to only one protocol at a time.
For the number and combinations of channels supported, refer to the section, Ethernet
Interface Specifications.
Note CPE330 supports Modbus TCP Client beginning with Release 8.50.
Modbus TCP Client allows the PACSystems PLC to initiate data transfer with other
Modbus TCP server devices on the network. Modbus TCP channels can be set up in the
application program. The Modbus TCP Client supports COMMREQ-driven channel
commands to open new channels, close existing channels, and transfer data on an existing
channel.
Any given channel can be assigned to only one protocol at a time. For the number and
combinations of channels supported, refer to the section, Ethernet Interface
Specifications.
EGD Classes:
The ETM001 module Ethernet interface can be configured to use SNTP1 (Simple
Network Time protocol) to synchronize the timestamps of produced EGD exchanges.
The ETM001 module Ethernet interfaces implement the capabilities of an EGD Class 1
and Class 2 device. COMMREQ-driven EGD Commands can be used in the application
program to read and write data into PACSystems PLCs.
ETM001 supports Run-Mode store of EGD so that you can add, delete or modify EGD
exchanges without stopping the controller. For details on using this feature, refer to
Chapter 5, the section, Run-Mode Store of EGD.
CPE305/310/330 also support Run-Mode Store of EGD.
Note The SRTP inactivity timeout applies only to programmer connections over SRTP. It
does not affect HMI or SRTP channels.
The Redundant IP feature of the Ethernet Interface allows a single IP address called the
Redundant IP address to be assigned to two Ethernet modules. The two modules are in
two different PLCs that are configured as a redundant system.
Redundant System
Direct IP PLC A
C E L C E L
I I
P T N
P T N
U M K U M K
Ethernet
Remote Device
Note The application must allow sufficient time for Redundant IP activation (at least
120msec) before commanding another redundancy role switch.
When an Ethernet interface recognizes that a redundant IP address has been configured
for it, the module sends a mail message to the CPU to register for redundancy role switch
notification. In non-HSB systems, the Ethernet interface is initially put into backup mode.
After power up, the application logic must use a SVC_REQ to set the redundancy state to
the desired value. Once running, the CPU remembers the last commanded redundancy
role sent to that Ethernet interface. When an Ethernet interface is restarted, the CPU
automatically commands the Ethernet interface to its last redundancy state without
explicit action by the application logic.
Going to Stop Mode
When a non-HSB CPU goes to Stop mode, Ethernet interfaces that are configured for
redundant IP are automatically set to backup mode. When the CPU is subsequently
returned to Run mode, the Ethernet interfaces remain in backup mode until the
application logic sets the redundancy mode to active.
Stop/IO Scan Enabled Mode
In this mode, I/O scanning including EGD service continues when the non-HSB CPU is
stopped. However, Ethernet interfaces configured for redundant IP operation are
automatically set to backup mode and normal EGD production for those interfaces is
stopped. Only the EGD exchanges with Produce in backup mode enabled are produced
while the CPU is in Stop/IO Scan Enabled mode. To stop production for all EGD
produced exchanges including Produce in backup mode exchanges, choose the Stop/IO
Scan Disabled mode of operation.
SVC_REQ 55 is recognized in non-HSB CPUs only. This service request sends a role
switch command to all Ethernet interfaces in the PLC that are configured for redundant IP
operation. The application must monitor the LAN Interface Status (LIS) word for each
Ethernet interface to determine whether the Redundant IP address is active at that
interface.
SVC_REQ 55 has no effect on Ethernet interfaces that are not configured for redundant
IP operation.
Note CPE330 Release 8.60 provides support for EGD Class 1. PME 8.60 SIM5 required
to support EGD on both LAN1 and LAN2.
Note Effective with RX3i CPE310/CPE305 Firmware Release 8.30, the CPU itself also
supports EGD Class 1. Prior to that firmware release, EGD was only available in the
RX3i through the RX3i Ethernet Interface module (ETM001).
Note Proficy Machine Edition Release 8.50 SIM 7 is required for EGD on Embedded
Ethernet interface of CPE305/CPE310.
Note For features, installation and startup of the RX3i rack-based Ethernet module
(ETM001), refer to Chapter 3.
On Blinking Off
ETHERNET
RJ45 Connector
Note Although the CPE310 can be configured as a CPU310 for backward compatibility,
an Ethernet cable should not be connected to the device when it is configured as a
CPU310. Ethernet is not supported when CPE310 is configured as a CPU310 and the
Ethernet port should not be connected to any network as it may have adverse effects on
the network and/or operation of the CPU.
Hub /Switch/Repeater
Ethernet Port on
RX3i CPE305 /
CPE310/CPE330
Programmer 10Base-T/100Base-Tx
Twisted Pair Cable
To other network
devices
Note This method does not guarantee that an IP address is not duplicated. It will not
detect a device that is configured with the same IP address if it is temporarily off the
network.
Note For features, installation and startup of the RX3i embedded Ethernet interface,
refer to Chapter 2.
Installation and Start-up: Rack-based and RX7i Embedded Interface GFK-2224P User Manual 35
For public disclosure
3.1 Ethernet Interface Controls and Indicators
Features of the RX7i embedded CPU Ethernet Interface and
the RX7i and RX3i rack-based Ethernet Interface modules StaMgr
10/100 ENET A1
connectors. There is only one interface to the network
(only one Ethernet address and only one IP address).
• Station Manager (RS-232) serial port
100 LINK
10/100 ENET A2
100 LINK
ETHERNET
RESTART
RX7i Faceplate
b. For each connector, the top LED is the LINK/ACTIVITY LED. This will be ON
when there is link at any speed; and BLINKING when there is traffic in either
direction.
2. For the Unswitched Port
a. The bottom LED (orange) is the LINK SPEED. This will be on for 1000Mbps;
off for all other speeds. NOTE: The ETM/CPE305/CPE310 only supports 2
speeds so for it, it is ON when 100Mbps and off when 10Mbps – CPE330
supports 3 speeds.
b. The top LED is the LINK/ACTIVITY LED. This will be ON when there is link
at any speed; and BLINKING when there is traffic in either direction.
†† All LEDs blink in unison; pattern same for awaiting or performing load.
Installation and Start-up: Rack-based and RX7i Embedded Interface GFK-2224P User Manual 37
For public disclosure
3.1.1.3 EOK LED Operation
The EOK LED (ETHERNET OK on the RX3i Ethernet module) indicates whether the
module is able to perform normal operation. This LED is on for normal operation and
flashing for all other operations. When a hardware or unrecoverable runtime failure
occurs, the EOK LED blinks a two-digit error code identifying the failure. For a list of
blink codes and their meanings, refer to Chapter 12.
When forced into firmware update operation, but before the firmware update actually
begins, pressing the Ethernet Restart pushbutton again exits the firmware update mode
and restarts with the existing firmware. Once the firmware update actually begins, the
existing firmware is erased and the Ethernet Restart pushbutton is disabled until the
firmware update is complete.
Installation and Start-up: Rack-based and RX7i Embedded Interface GFK-2224P User Manual 39
For public disclosure
3.2 Module Installation
For general information about module and system installation, or if the installation
requires CE Mark compliance, refer to GFK-2223, PACSystems RX7i Hardware
Installation Manual or GFK-2314, PACSystems RX3i System Manual.
Installation and Start-up: Rack-based and RX7i Embedded Interface GFK-2224P User Manual 41
For public disclosure
3.3 Ethernet Port Connectors
The Ethernet Interface has two Ethernet port connectors, each of which supports both
10Base-T and 100Base-Tx operation using either full-duplex or half-duplex operation.
These 8-pin RJ45 connectors are used to connect the Ethernet Interface to a hub, repeater,
switch, or other Ethernet device.
PACSystems
Ethernet Interface
Ethernet
Processor
Ethernet
MAC
10/100 Network
Switch
Port 1A Port 1B
It is possible to daisy-chain PLCs together without additional components, but that should
be done with great care. Power loss or reset at an Ethernet interface causes loss of
communication to any devices downstream from that Ethernet interface in the daisy
chain. Restarting the Ethernet interface (via the Ethernet Restart pushbutton, for example)
disrupts daisy chain communication.
Note If both speed and duplex mode of an Ethernet interface port are forced using the
Advanced User Parameters file, that port will no longer perform automatic cable
detection. This means that if you have the Ethernet interface port connected to an external
switch or hub port you must use a crossover cable. If you have the Ethernet interface port
connected to the uplink port on an external switch or hub, or if you have the Ethernet
interface port directly connected to another Ethernet device, you must use a normal cable.
Installation and Start-up: Rack-based and RX7i Embedded Interface GFK-2224P User Manual 43
For public disclosure
Each Ethernet port automatically senses whether it is connected to a 10BaseT or
100BaseTX network, half-duplex or full-duplex. (The automatic negotiation of speed
and/or duplex mode can be explicitly overridden using Advanced User Parameter
settings).
Note Pin assignments are provided for troubleshooting purposes only. 10Base
T/100Base-Tx cables are readily available from commercial distributors. We recommend
purchasing rather than making 10Base-T/100Base-Tx cables.
Hub/Switch /Repeater
10/100
10/100
Ethernet
Interface
10/100
10/100
Ethernet
Interface
Other Ethernet
10BaseT /100Base Tx
devices such as PCs, Twisted Pair Cable
Ethernet Interfaces on
other PLCs, Operator
Interfaces
Installation and Start-up: Rack-based and RX7i Embedded Interface GFK-2224P User Manual 45
For public disclosure
3.4 Station Manager Port
The RX7i and rack-based RX3i Ethernet interfaces provide a dedicated RS-232 serial port
for local Station Manager use. This nine-pin D connector accepts a standard
straight-through nine-pin RS-232 serial cable to connect to a standard AT-style RS-232
port.
The following cable is available:
IC200CBL001 Cable, CPU Programming
9 RI IN Ring Indicator
† Pin 1 is at the bottom right of the Station Manager port connector as viewed from the
front of the module.
STAT
On
If a problem is detected during power-up, the Ethernet Interface may not transition
directly to the operational state. If the Interface does not transition to operational, refer to
Chapter 12, Diagnostics for corrective action.
Installation and Start-up: Rack-based and RX7i Embedded Interface GFK-2224P User Manual 47
For public disclosure
3.6 Pinging TCP/IP Ethernet Interfaces on the Network
PING (Packet InterNet Grouper) is the name of a program used on TCP/IP networks to
test reachability of destinations by sending them an ICMP echo request message and
waiting for a reply. Most nodes on TCP/IP networks, including the PACSystems Ethernet
Interface, implement a PING command.
You should ping each installed Ethernet Interface. When the Ethernet Interface responds
to the ping, it verifies that the interface is operational and configured properly.
Specifically it verifies that acceptable TCP/IP configuration information has been
downloaded to the Interface.
For configuration details, including setting an initial IP address, refer to Chapter 4.
Note This method does not guarantee that an IP address is not duplicated. It will not
detect a device that is configured with the same IP address if it is temporarily off the
network.
Installation and Start-up: Rack-based and RX7i Embedded Interface GFK-2224P User Manual 49
For public disclosure
Notes
2. Right-click the Ethernet interface to display its parameters: IP Address, Subnet Mask
and Gateway IP Address. Consult your network administrator for the proper values
for these parameters.
Note CPE305 and CPE 310 do not support the alternate methods of setting a temporary
IP address: the Set Temporary IP Address tool in PME, BOOTP or the Station Manager
CHSOSW command. CPE330 does support the Set Temporary IP Address tool in PME
but not the Station Manager CHSOSW command..
3. Go online with the target and download the configuration. You can use one of the
following methods for the initial connection to the CPE3xx:
• Through the embedded Ethernet port, using the factory-loaded default IP address
(192.168.0.100). To set the IP address that PME will use to connect to the RX3i,
open the target properties, set Physical Port to ETHERNET, and then enter the
factory default IP address value.
Note The factory-loaded default IP address is valid only when hardware
configuration has never been stored to the Controller. This value is overwritten
with the configured IP address each time that hardware configuration is stored to
the Controller.
• Through the Ethernet connection of an ETM001 in the same rack with a known
IP address configuration.
• Through the RS-232 COM1 serial port – This is a DCE (data communications
equipment) port that allows a simple straight-through cable to connect with a
standard nine-pin AT-style RS-232 port.
• CPE310: Through the RS-485 COM2 serial port – Use SNP programming cable
IC690ACC901
If the IP addresses of the CPE330 embedded LAN 1 and LAN 2 Ethernet interfaces are not
known, communication may be established using one of these methods to set new IP
addresses:
Connecting to CPE330 • Setting a Temporary IP Address using the Set Temporary IP Address tool in Proficy
Embedded Ethernet when Machine Edition (PME). After setting the temporary address, connect to the selected
CPE330 LAN using PME and download a new hardware configuration with the desired
IP Addresses are not Known
permanent IP addresses.
• Connect to the CPE330 with PME using an IC695ETM001 module with a known
IP address and located in the same rack. Download a new hardware configuration with
the desired permanent IP addresses for the CPE330 embedded Ethernet interfaces.
Note If the isolated network is connected to another network, the IP addresses 10.0.0.1
through 10.0.0.255 must not be used; and the subnet mask and gateway IP address must
be assigned by the network administrator. The IP addresses must be assigned so that they
are compatible with the connected network.
Subnet Mask: Key in the desired mask in the format indicated. Refer to the section,
Subnet Addressing and Subnet Masks to learn more about subnet mask usage.
Gateway IP Address: Key in the desired Gateway IP Address in the format indicated.
Refer to the section, Gateways to learn more about Gateways.
Network Time Sync: Options are None and SNTP. Select SNTP (Simple Network Time
Protocol) if the CPU will be synchronized to the network clock.
Status Address: The Status Address is the reference memory location for the Ethernet
Interface status data. The Ethernet Interface automatically maintains 16 LAN Interface
Status (LIS) bits in this location. The Status address can be assigned to valid %I, %Q, %
R, %AI, %AQ or %W memory. The default value is the next available %I address.
The meaning of the Channel Status portion of the Ethernet Status bits depends upon the
type of operation for each channel. For details of the status bits and their operation, refer
to Chapter 12, the section, Monitoring the Ethernet Interface Status Bits.
Note Do not use the 80 bits configured as Ethernet Status data for any other purpose or
data will be overwritten.
Note If the Ethernet interface’s Variable Mode property is set to true, the Status Address
parameter is removed from the Settings tab. Instead, Ethernet Status references must be
defined as I/O variables on the Terminals tab.
Note In earlier CPU models these EGD configuration parameters were configured via
AUP files. An AUP file is not supported nor is it needed by the CPE330.
Startup Delay Time for Produced Exchanges (ms): Corresponds to the gp_phase
AUP parameter.
Stale Consumed Exchanges: Corresponds to the gnostale AUP parameter.
TTL for Unicast Messages: Corresponds to the gucast_ttl AUP parameter.
The use of I/O variables allows you to configure the Ethernet interface without having to
specify the reference addresses to use for the status information. Instead, you can directly
associate variable names with the status bits. For more information, refer to GFK-2222,
PACSystems CPU Reference Manual, the section, I/O Variables.
The parameters to be entered and their relevance is discussed in the following sections
entitled Configuring an Ethernet Global Data Exchange for a Producer and Configuring
an Ethernet Global Data Exchange for a Consumer.
Also refer to Chapter 5, the section, Ethernet Global Data Operation for additional
information.
Produced exchanges (Multicast and Broadcast) configured for the CPE330’s embedded
Ethernet interface will have an additional parameter Network ID that allows the user to
select LAN1 or LAN2. (Refer to the following figures)
TheNetwork ID parameter is only visible on produced Multicast and Broadcast exchanges
• To use the Set Temporary IP Address utility, the PLC CPU must not be in RUN
mode. IP address assignment over the network will not be processed until the CPU is
stopped and is not scanning outputs.
• The Set Temporary IP Address utility does not function if communications with the
networked PACSystems target travel through a router. The Set Temporary IP Address
utility can be used if communications with the networked PACSystems target travel
across network switches and hubs.
• The current user logged on to the PC running the Set Temporary IP Address utility
must have full administrator privileges.
• The target PACSystems must be located on the same local sub-network as the
computer running the Set Temporary IP Address utility. The sub-network is specified
by the computer's subnet mask and the IP addresses of the computer and the
PACSystems Ethernet Interface.
Note To set the IP address, you need the MAC address of the Ethernet Interface to which
PME will be connected. The MAC address is located on a label on the module, as shown
in Chapter 2, Installation.
After the programmer connects over Ethernet, the permanent IP address for the Ethernet
interface, which is set in the hardware configuration, will have been downloaded to the
CPU.
The temporary IP address remains in effect until the Ethernet interface is restarted, power
cycled or until the hardware configuration is downloaded or cleared.
To use BOOTP, the Use BootP for IP Address configuration option must be TRUE, and
the IP Address, Subnet Mask and Gateway IP Address must be set to 0.0.0.0.
Redundancy systems using should explicitly configure both the direct IP address and the
Redundant IP address. For redundancy operation, do not set up the direct IP address using
BOOTP.
To temporarily set the IP address over the network, the PLC CPU must not be running. IP
address assignment over the network will not be processed until the CPU is stopped and is
not scanning outputs.
1. Obtain the Ethernet Interface’s MAC address from its MAC Address Label as shown
in Chapter 2, Installation.
2. On the computer, open a standard DOS command window. Associate the desired IP
address for the Ethernet Interface with the MAC address of the Ethernet Interface
using the following method. In the DOS command window, enter:
Note The IP Address, Subnet Mask and Gateway IP Address must all be set to 0.0.0.0 in
order to use BOOTP to obtain the IP address.
IP Addresses: These values should be assigned by the person in charge of your network
(the network administrator). TCP/IP network administrators are familiar with these
parameters. It is important that these parameters are correct, otherwise the Ethernet
Interface may be unable to communicate on the network and/or network operation may be
corrupted. It is especially important that each node on the network is assigned a unique IP
address.
If you have no network administrator and are using a simple isolated network with no
gateways, you can use the following range of values for the assignment of local IP
addresses:
Note If the isolated network is connected to another network, the IP addresses 10.0.0.1
through 10.0.0.255 must not be used and the subnet mask, and gateway IP address must
be assigned by the network administrator. The IP addresses must be assigned so that they
are compatible with the connected network.
Note The sum of Max Web Server Connections and Max FTP Server Connections must
not exceed 16 total connections.
Network Time Sync: Selection of the method used to synchronize the real-time clocks
over the network. The choices are None (for no network time synchronization) and SNTP
(for synchronization to remote SNTP servers on the network).
If None is selected, the time stamp value for a consumed EGD exchange is obtained from
the local clock of the producing Controller or PLC. Time stamps of exchanges produced
by a PLC with this setting are not synchronized with the time stamps of exchanges
produced by other PLCs.
Refer to Chapter 5, the section, Time-stamping of Ethernet Global Data Exchanges for
more information.
Status Address: The Status Address is the reference memory location for the Ethernet
Interface status data. The Ethernet Interface will automatically maintain 16 LAN Interface
Status (LIS) bits in this location and 64 Channel Status bits in this location for a total of
80 bits. The Status address can be assigned to valid %I, %Q, %R, %AI, %AQ or %W
memory. The default value is the next available %I address. Refer to, Chapter 12,
Diagnostics, for definitions of the LAN Interface Status (LIS) portion of the Ethernet
Status data.
The meaning of the Channel Status portion of the Ethernet Status depends upon the type
of operation for each channel.
For details of the status bits and their operation, refer to Chapter 12, the section,
Monitoring the Ethernet Interface Status Bits.
Note If the Ethernet interface’s Variable Mode property is set to true, the Status Address
parameter is removed from the Settings tab. Instead, Ethernet Status references must be
defined as I/O variables on the Terminals tab (refer to the section, Terminals Tab, alter in
this chapter).
Length: This is the total length of the Ethernet Interface status data. This is
automatically set to either 80 bits (for %I and %Q Status address locations) or 5 words
(for %R, %AI, %AQ and %W Status address locations).
Redundant IP: Selects whether Redundant IP operation is Enabled or Disabled. When
this parameter is set to Enabled, the Redundant IP address must be entered using the
Redundant IP Address parameter, below. The default value is False.
Redundant IP Address: An optional IP Address that will be shared with another
device on the network in a Redundant System. Both devices must use the same subnet
mask. This parameter is available only when the Redundant IP parameter (above) is set to
Enabled. This address defaults to 0.0.0.0, which is not a valid IP address; a valid
Redundant IP address must be explicitly configured. Refer to Chapter 1, Introduction for
more information about Ethernet redundancy. This IP address is assigned in addition to
the device’s primary IP address.
I/O Scan Set: Specifies the I/O scan set to be assigned to the Ethernet Interface. Scan
sets are defined in the CPU’s Scan Sets tab. The valid range is 1 through 32; the default
value is 1.
Note The Ethernet interface delivers its Ethernet Status (including Channel Status bits)
during its input scan. Each channels data transfer updates the Channels Status bits, so
channels performance may be reduced if the Ethernet interface is configured to use an I/O
Scan Set than runs more slowly than the PLC logic sweep.
If the Ethernet interface is configured to use an inactive I/O Scan Set, the Channels Status
bits will not be transferred and channel operations will not complete.
Note Some items in this discussion do not apply to Ethernet network interface units
when using ENIU templates. For configuration of EGD with ENIUs, refer to GFK-2439,
PACSystems RX3i Ethernet NIU Manual.
While the form of the Producer ID is sometimes the same as that of an IP address and an
IP address is used as its default value, the Producer ID is not an IP address. Refer to
Chapter 5, Ethernet Global Data, for more information on how the Producer ID is used.
Note It is the user’s responsibility to ensure that the same offset value is specified in both
the primary and secondary target projects.
download download
to to
Primary Secondary
exchange ID = X exchange ID = X
exchange ID = Y exchange ID = Y + ofs
Adapter Name The specific Ethernet Interface, identified by its rack and slot
location within the producing PLC.
Produced Period The scheduled repetition period at which the data is produced
on the network. Configure a value in the range of 0 or 2–
3,600,000 (2 milliseconds to 1 hour). The value zero means
data will be produced at the end of each PLC scan, but not less
than 2 milliseconds from the previous production. Set the
production period to ½ the period at which the application
needs the data in this exchange. Round this value up to the
nearest 2 milliseconds.
Reply Rate Not used.
Run Mode Store When set to True, allows you to modify or delete this exchange
Enabled and store the changes while in Run mode. You can add
exchanges in Run mode regardless of the setting of this
parameter.
It is recommended that you keep this parameter at its default
setting, False, unless your application has a specific need to
modify this exchange in Run mode.
Offset (Byte.Bit) The location within the data area for this exchange where the
start of the data for this variable is located. The offset is
expressed as Byte.Bit, where Byte is a zero-based byte offset
and Bit is a zero-based bit position within that byte. (Valid bit
values are 0—7. Bit 0 is the least-significant bit within the byte;
bit 7 the most significant.)
Ref Address The PLC memory reference address that contains the start of
the data for this variable.
Ignore Not used for Produced exchange.
Length Size of the data for this variable, expressed in units of the data
type.
To add a new variable to the end of the exchange, click the Add button. This does not
change the data offsets of any existing variables within that exchange.
To insert a new variable among the existing variables, click on an existing variable. When
you click the Insert button, a new variable will be created ahead of the selected existing
variable. This changes the data offsets of all following variables in the exchange and will
change the signature major number if you are using signatures.
Once a new variable has been entered, double-click a data field within the row to edit that
value.
To delete an existing variable, click on the variable row and then click the Delete button.
If you are using signatures, this will cause the signature major number to change.
Group ID Used only if the produced exchange has been configured with
a Destination Type of Multicast. Group ID is defined by the
producer; changing it here may make it impossible to consume
the data from the producer.
Adapter Name The specific Ethernet Interface, identified by its rack and slot
location within the consuming PLC.
Consumed Period Not used. (Always displayed as 200 milliseconds; not editable.)
Adapter Name The specific Ethernet Interface, identified by its rack and slot
location within the producing PLC.
Produced Period The scheduled repetition period at which the data is produced
on the network. Configure a value in the range of 0 or 2–
3,600,000 (2 milliseconds to 1 hour). The value zero means at
the end of the next PLC scan, but not less than 2 milliseconds
from the previous production. Set the production period to ½
the period at which the application needs the data in this
exchange. Round this value to the nearest 2 milliseconds.
Run Mode Store When set to True, allows you to modify or delete this exchange
Enabled and store the changes while in Run mode. You can add
exchanges in Run mode regardless of the setting of this
parameter. It is recommended that you keep this parameter at
its default setting, False, unless your application has a specific
need to modify this exchange in Run mode.
Network ID Allows the user to select either LAN 1 or LAN 2 for Multicast or
Broadcast production.
Note: The Network ID field is only visible if the Destination Type
is configured for Multicast or Broadcast (not Unicast) AND the
Adaptor Name selects a device rack/slot that physically
supports multiple LANs (for example, the CPE330).
Double-clicking on the produced exchange opens a window for configuring the variables
within the exchange. Each exchange has its own variable list. These variables contain the
data that is produced to the network. Each variable contains the following information:
Length Size of the data for this variable, expressed in units of the
selected PLC reference memory type.
To add a new variable to the end of the exchange, click the Add button. This does not
change the data offsets of any existing variables within that exchange.
To insert a new variable among the existing variables, click on an existing variable. When
you click the Insert button, a new variable will be created ahead of the selected existing
variable. This changes the data offsets of all subsequent variables in the exchange.
Once a new variable has been entered, double-click a data field within the row to edit that
value.
To delete an existing variable, click on the variable row and then click the Delete button.
The sum of all variables in the exchange must not exceed 1400 bytes. The total length of
the exchange (in bytes) is displayed as Length (Bytes): at the top of the exchange window
above the variable list. PACSystems CPUs with firmware version 5.0 and later support a
maximum of 30,000 variables for all exchanges. Earlier firmware versions support
approximately 12,000 variables for all exchanges.
A variable is automatically created for the required Status variable. This variable contains
the local exchange status that is returned to the PLC logic application. The exchange
status is not part of the produced exchange data and is not available to the network.
Configuring an Ethernet Global Data Exchange for a Consumer
The exchange details are defined in the Properties for each Consumed exchange.
When an individual consumed exchange is selected, the Properties inspector window
permits user configuration of the following information:
Adapter Name The specific Ethernet Interface, identified by its rack and slot
location within the consuming PLC.
Double-clicking on the consumed exchange opens a window for this exchange for
configuring the variables within the exchange. Each exchange has its own variable list.
These variables contain the data that is consumed from the network. Each variable
contains the following information
Offset (Byte.Bit) The location within the data area for this exchange where the
start of this data for this variable is located. The offset is
expressed as Byte.Bit, where Byte is a zero-based byte offset
and Bit is a zero-based bit position within that byte. (Valid bit
values are 0-7. Bit 0 is the least-significant bit within the byte;
bit 7 the most significant.)
To add a new variable to the end of the exchange, click the Add button. This does not
change the data offsets of any existing variables within that exchange.
Note Any consumed data variable may be ignored by setting the Ignore selection to
True. See Selective Consumption, below.
Selective Consumption
Not all data ranges within a produced exchange need to be consumed by each PLC. For
example, a producer is producing an exchange consisting of a 4-byte floating point value,
followed by a 2-byte integer, followed by a 2-byte analog value. If the consuming PLC
wants to consume only the analog value and place it into %AI003, the consumer might be
configured as shown below.
Note that where EGD signatures are not used the total length of the exchange must be the
same in producer and consumer, even if the consumer is ignoring a portion of the
exchange. Failure to configure any ignored bytes in the consumed exchange will result in
exchange exception log and fault table entries, error status in the exchange status data,
and no data being transferred for the exchange.
P C
Some EGD devices support the concept of an EGD page. An EGD page consists of one or
more exchanges that are produced on the same schedule to the same destination. Pages
remove the 1400 byte size limitation of EGD exchanges. Machine Edition does not
currently show information about EGD pages; you will instead see the constituent
exchanges for each page.
The same exchange can be configured at each consumer to suit the needs of the
application.
• A length of 1 byte to 1400 bytes per exchange. The total size of an exchange is the
sum of the data lengths of all of the data ranges configured for that exchange.
• A maximum of 30,000 data ranges for all exchanges in the target, for CPUs with
firmware version 5.0 or later. (Earlier firmware versions allow approximately 12,000
EGD data ranges per target.)
• Increasing the production period (especially if the period is more frequent than
double the minimum time in which the data is needed).
• Defining fewer exchanges, each with more data.
• Using EGD groups or broadcasting to subnets. Rather than producing a directed
exchange to several destinations, a single exchange can contain all the data and each
consumer can transfer only the data it needs from the exchange.
• Adding another Ethernet Interface module to the rack and spreading the EGD
exchanges.
Group 2 Group 1
Group 2
Each device in a group responds to the group’s assigned ID number from 1 to 32.
Note Each device on the network using EGD should have a unique local producer ID. If
the devices using multicast EGD do not have unique local producer IDs, unexpected
results can occur when using group addressing for EGD exchanges.
CPE330 does not support AUP file. All of the configurable AUP parameters for the
CPE330 are part of the Embedded Ethernet interface’s hardware configuration in PME.
Group Multicast IP Addresses used by Ethernet Global Data should not be changed unless
the defaults would cause a network conflict. If necessary, they can be changed within the
reserved range of multicast IP addresses (224.0.0.0 through 239.255.255.255). The
change must be made using an Advanced User Parameter File.
5.3.3.1 Broadcast
Changing the Destination Type of a produced exchange from unicast or multicast to
broadcast causes samples to be sent to all nodes on your network. Samples are
subsequently processed if the local device has a consumed exchange configured with
matching Producer ID and Exchange ID. Otherwise they are ignored.
5.3.3.2 Multicast
Changing the Destination Type of a produced exchange from unicast or broadcast to
multicast causes samples to be sent to a subset of the nodes on your network. Samples are
visible to all devices on the network that have any exchange(s) configured to consume
from the specified Group ID. Samples are subsequently processed only if the local device
has a consumed exchange configured with matching Producer ID and Exchange ID.
5.3.3.3 Unicast
Transitioning from a multicast or broadcast exchange to unicast production causes
samples to be sent to a single node. Thus the exchange will now only be visible to a single
remote node and processed only if that node contains a consumed exchange with
matching Producer ID and Exchange ID.
CPU ETHERNET
INTERFACE
SHARED
INTERNAL MEMORY
MEMORY
NETWORK
In the producing PLC, the CPU updates its shared internal memory with a data sample
when requested by its Ethernet Interface. The update affects the length of the PLC sweep
only for that particular exchange; it has little effect on the PLC average sweep time.
When the Ethernet Interface’s producer period expires, it produces the data sample from
shared internal memory onto the network.
In a consuming PACSystems PLC, shared internal memory is updated as soon as the
Ethernet Interface gets a data sample from the network. There is no user-configurable
consumer period. The CPU updates its reference tables from shared internal memory at
the end of the sweep after it is notified by the Ethernet Interface that fresh data has arrived
for a specific exchange. The data is made available to the application on the next PLC
sweep after it is received. Some other types of Ethernet Interfaces implement a
consumption period timer.
Sample on Network
Timing Example 2
More than one sample can be produced per producer period expiration and stale samples
are produced to the network.
Sample on Network
The CPU adds a timestamp to each Ethernet Global Data Message it produces. The
timestamp indicates when the data was transferred from the producing PLC's CPU to its
Ethernet interface for transmission over the network.
The timestamp is an 8-byte value representing the time elapsed since midnight, January 1,
1970. The first four bytes contain a signed integer representing seconds and the next four
bytes contain a signed integer representing nanoseconds. This value can be examined to
determine whether a packet received from the network has a new data sample or if it is
the same data received previously.
In its default operating mode for SNTP synchronization, the PLC CPU obtains the
timestamp data from the time clock in the Ethernet interface, which can be synchronized
to either the clock in the CPU or an external SNTP server on the network. For details
refer to the section, SNTP Operation in this chapter.
Alternatively, the timestamp data can be obtained from the CPU TOD clock when the
CPU TOD clock is synchronized with an SNTP server. Synchronizing the CPU TOD
clock to an SNTP server allows you to set a consistent PLC time across multiple systems.
This operating mode must be configured by an Advanced User Parameter and enabled
from the application logic. For additional information, refer to the section, Obtaining
Timestamps from the CPU TOD Clock in this chapter.
The time clock in the Ethernet Interface is synchronized to either the clock in the CPU or
an external SNTP server on the network. Selection of the timestamp source for Ethernet
Global Data is part of the basic configuration of the Ethernet Interface, as explained in
Chapter 4.
SNTP Server's Time Clock: If this source is selected, the Ethernet Interface’s built-in
clock is periodically synchronized to the clock on an SNTP server on the network. All
Ethernet Interfaces configured to use SNTP will have updated, synchronized timestamps.
Therefore, accurate timing comparisons between exchanged data can be made. If SNTP is
used to perform network time synchronization, the timestamp information typically has
±10 millisecond accuracy between PLCs on the same network.
CPU Ethernet
interface
CPU
SNTP Time
time SNTP Time Server on
clock
Network
time
timestamp clock
EGD with
timestamp
Note With the AUP parameter ncpu_sync =1, the Ethernet modules get their time from
the SNTP network server regardless of the Network Time Sync setting in the Ethernet
module’s hardware configuration.
CPU Ethernet
interface
CPU
SNTP Time
time SNTP Time Server on
clock
timestamp Network
SNTP Time
time
clock
EGD with
timestamp
User Logic:
- Choose ENET to use
for CPU time sync
Process COMMREQ 5002
- Enable CPU Time
Update interrupt
via COMMREQ 5002 Update ENET TOD
Update time in shared memory
Note In a PLC with only one Ethernet interface, the logic program may skip step 2.
There is no need to select between multiple Ethernet interfaces.
-
(Command Block address) IN FT - Function Faulted (logic)
TASK: For the PACSystems Ethernet module, Task must be set to 98 (62H).
For the PACSystems CPU embedded Ethernet interface, Task must be set to the value
65634 (10062H) to address the CPU’s Ethernet daughterboard.
Caution
Word 3 For a list of memory type codes, refer to Memory type of the COMMREQ status word.
Chapter 6, the section, COMMREQ Status for
the EGD Commands.
Word 4 0-based Offset of COMMREQ status word. For CRS
word values, refer to the section COMMREQ
Status Word Values.
Word 5 0 Always 0
Word 6 0 Always 0
The Ethernet clock status and stratum values from the locked time server (if any) are
returned as two consecutive words.
Clock Status and Stratum Format
An Ethernet Interface can maintain timing information from up to four SNTP servers at a
time. Each server assigns a stratum number that determines its priority.
When locked to a network timeserver, the Ethernet clock stratum value indicates the
accuracy of the time value provided by the server. A stratum value of 1 indicates the
highest accuracy time; a value of 15 indicates the lowest accuracy. A stratum value of 255
indicates that the Ethernet clock is not locked to any timeserver. Before using this stratum
value, always check that the corresponding clock status indicates that the Ethernet clock
is locked to a network timeserver.
The Status word indicates whether the Ethernet clock is locked to a network timeserver.
Value Description
0 Ethernet interface is not configured for SNTP operation
Note Bit 5 in the LAN Interface Status (LIS) block indicates whether the Ethernet
module is currently locked to an SNTP timeserver on the network. The logic application
can periodically examine this bit to determine when an Ethernet module has lost its lock
with a network timeserver. For details of the LIS block, refer to Chapter 12, the section,
Monitoring the Ethernet Interface Status Bits.
Word 3 For a list of memory type codes, refer to Memory type of the COMMREQ status word.
Chapter 6, the section, COMMREQ Status for
the EGD Commands.
Word 4 0-based Offset of COMMREQ status word. For CRS
word values, refer to the section COMMREQ
Status Word Values.
Word 5 0 Always 0
Word 6 0 Always 0
04 01 Successful completion. The Ethernet interface is not locked to an SNTP server at this time,
so the CPU clock was not updated.
04 01 Successful completion. The CPU clock was already synchronized to the SNTP server via
this Ethernet interface, so the CPU clock was not updated again.
11 0C Internal error reading clock status or stratum value from this Ethernet interface. The clock
status/stratum values were not returned.
12 0C Internal error enabling CPU time synchronization. The CPU clock will not be synchronized
to an SNTP server at this Ethernet interface.
13 0C Internal error disabling CPU time synchronization.
10 0D CPU and/or ENET firmware version does not support SNTP Time Transfer feature.
12 0D Attempted to enable CPU time sync on this Ethernet interface while already enabled on
another Ethernet interface. The logic application must first disable CPU time sync on the
original Ethernet interface before enabling on another Ethernet interface.
13 0D Attempted to disable CPU time sync that was not previously enabled at this Ethernet
interface.
14 0D Invalid COMMREQ command data.
15 0D COMMREQ not allowed because SNTP Time Transfer feature was not configured.
Note The SNTP error condition is considered the least important of all possible error
codes. Therefore, if another error condition exists, its status code will appear in the Status
word instead of the SNTP error code.
Upon loss or absence of synchronization, the Ethernet Interface’s built-in clock will
operate as follows:
• If the Ethernet Interface, after its last power-up/restart cycle, has never received an
SNTP server's timing message, it will continue to use the PLC CPU's local clock
value that it received at power-up/restart for its time base.
• If the Ethernet Interface has been synchronized to an SNTP server but lost its signal,
it will use the most recently received SNTP time message as its time base.
The Ethernet Interface will continue supplying time values to the PLC CPU for
time-stamping, while it "listens" for SNTP timing messages from the network. If SNTP
messages are received later, the Ethernet Interface will then synchronize to them.
• The normal PLC mode for EGD operation is RUN with Outputs enabled. In this PLC
mode, Ethernet Global Data remains configured and exchanges are both produced
and consumed.
• If the PLC mode is set to STOP with I/O disabled, the Producer ID remains
configured, but production and consumption stop. Note that while consumed data is
not transferred to the PLC memory in this mode, data from the network is still
transferred to the shared memory so that the latest data is available immediately
when the PLC transitions out of STOP with I/O disabled mode.
• If configuration is lost, the Ethernet Global Data configuration must be stored again.
PLC Mode
RUN-Outputs Enabled YES YES YES YES
STOP-Clear Config NO NO NO NO
8, 10 8, 10
PLC Power Cycle YES YES
8, 10 8, 10
Ethernet Interface Restart YES YES
7 RUN-SUSPEND I/O refers to the SUSIO logic function. (The DOIO logic function does not affect EGD production or
consumption.)
8 Production and consumption is controlled by the PLC Mode as described above.
10 Producer ID and exchange states depend on the PLC mode and configuration prior to the action.
Parameter Behavior
Local Producer ID This setting cannot be changed in a run mode
store.
Use Signatures (only available This setting cannot be changed in a run mode
when Configuration Server is used) store.
Parameter Behavior
Producer ID Redefines the exchange. Causes a major
signature change in the producer. Exchange will
be incompatible.
Parameter Behavior
Exchange ID Redefines the exchange. Causes a major
signature change in the producer.
6 C Refresh timeout without data. The exchange’s timeout period is configured to a non-zero
value and the data has not been refreshed within the timeout
period.
10 P/C IP Layer not currently This status can be set during exchange configuration† if the
initialized. Ethernet Interface detects that it cannot currently access a
network. This temporary status can change if successful
network access becomes possible.
12 P/C Lack of resource error. Local resources are not available to establish the exchange
during exchange configuration†. The PLC Fault Table may
provide more detail on the specific error.
14 C Data size mismatch error The data size of a consumed exchange does not match the
exchange definition. The exchange is ignored.
18 P/C Loss of Ethernet Interface This error can occur if the CPU no longer recognizes the
error Ethernet Interface within the PLC rack. A loss of module PLC
Fault Table entry will also be present. The error can also
occur if the module in the given slot of the PLC rack does not
match the module specified in the configuration
(configuration mismatch).
30 C Major signature mismatch Producer and consumer signatures are different, indicating a
mismatched configuration. The exchange is ignored.
†Exchange configuration occurs when either; 1) Hardware Configuration containing EGD is stored to the PLC, 2) a PLC
containing EGD configuration powers up, or 3) an Ethernet Interface configured for EGD is restarted.
Note PACSystems does not support EGD exchange status values 16, 22, 26 and 28.
These exchange status values were used in Series 90 products only.
-
(Command Block address) IN FT - Function Faulted (logic)
Word 4 of the COMMREQ Command Block specifies the offset within the memory type
selected. The status word address offset is a zero-based number. For example,
if %R1 should be the location of the status word, you must specify a zero for the offset.
The offset for %R100 would be 99 decimal. (When using %W memory, the maximum
offset value that can be entered is 65535, signifying %W65536.)
Word 3 (Refer to the section COMMREQ Memory type of COMMREQ Status Word
Status for the EGD Commands)
Word 8 Retry time, in milliseconds The time between retries of command transfers.
Default is 1000ms.
Word 9 Local read buffer memory type Memory type for the data to be placed in the local
PLC.
Word 10 Local read buffer reference table 1-based offset in the local PLC
starting address (least significant word)
Word 12 Remote read location memory type Memory type from which data will be read in the
remote PLC
Word 13 Remote reference table read location 1-based offset in the remote PLC
starting address (least significant word)
Word 15 Remote reference table length (in Number of remote memory units to be read.
remote memory units)
Word 18– IP Address of the remote PLC Four integers, specified as one integer per word
Word 21 of the dotted-decimal IP address of the remote
PLC. May not be a group IP address.
Word 3 (Refer to the section COMMREQ Memory type of COMMREQ Status Word
Status for the EGD Commands)
Word 8 Retry time, in milliseconds The time between retries of command transfers.
Default is 1000ms.
Word 9 Local write buffer memory type Memory type for the data that will be written, in
the local PLC.
Word 10 Local write buffer reference table 1-based offset in the local PLC.
starting address (least significant word)
Word 12 Remote write location memory type Memory type into which data will be written in the
remote PLC(s)
Word 13 Remote reference table write location 1-based offset in the remote PLC
starting address (least significant word)
Word 18– IP Address of the remote PLC Four integers, specified as one integer per word
Word 21 of the dotted-decimal IP address of the remote
PLC. May not be a group IP address.
(Word 7) EGD Command Number: Word 7 a write PLC memory operation. If the
command is processed successfully, it will result in PLC reference memory data being
sent from the server to the client.
Word 3 (Refer to the section COMMREQ Memory type of COMMREQ Status Word
Status for the EGD Commands)
Word 8 Retry time, in milliseconds The time between retries of command transfers.
Default is 1000ms.
Word 9 Local read buffer memory type Memory type for the data, in the local PLC.
Word 17 Remote Exchange Offset Byte offset (0-based) in the exchange that should
be read.
Word 21– IP Address of the remote PLC Four integers, specified as one integer per word
Word 24 of the dotted-decimal IP address of the remote
PLC.
May not be a group IP address.
(Word 7) EGD Command Number: Word 7 requests that a read EGD exchange
operation occur. If the command is processed successfully, it will result in data from a
specified EGD exchange being read from the client to the server.
(Word 8) Command Retry Time: Word 8 specifies the time (in milliseconds) the
Ethernet Interface will wait between retries when transferring the command. A total of
four tries will be made to send the command. If no response is received after the four tries
(that is, after four times the retry time value), an error status will be returned in the
COMMREQ status word. If the command retry is specified as zero, the default value of
one second is used.
(Word 9) Local PLC – Memory Type: Words 9-11 specify the location in the local
PLC where the Ethernet Interface will get the data to be read from the remote EGD
device. Valid values for Word 9 are listed in the description of Read PLC Memory
Command. The amount of data to be transferred is specified by the Exchange Data
Length (Word 18).
(Words 10 – 11) Local PLC – Memory Starting Address: Words 10 and 11
determine the starting address in the local PLC where data is to be read from the remote
EGD exchange. The value entered is the 32-bit offset (1-based) from the beginning of
PLC memory for the memory type and mode specified in Word 9. Word 10 contains the
least significant 16 bits of the offset; word 11 contains the most significant 16 bits of the
offset. This offset will be either in bits, bytes, or words depending on the mode specified.
(For example, if Word 9=16 and Words 10,11 = 2, 0 then the starting address will be %
I9.) Valid ranges of values depend on the PLC’s memory ranges. The user is responsible
for assuring that this area is large enough to contain the requested data without
overwriting other application data.
(Word 12) Remote EGD exchange – Exchange Signature: Word 12 contains the
16-bit exchange signature value to be compared at the remote EGD device. For remote
PLCs, the exchange signature should be set to zero if signatures are not being used.
However, when signatures are enabled, the signature field can be set to a non-zero value
so that commands will be executed only if signatures match. In this case, mismatched
signatures will cause the command to return a failure status.
An EGD signature has the format maj.min, where maj is the major value and min is the
minor value. The least significant byte of this word indicates the minor value and the
most significant byte indicates the major value. For example, a value of 0xAABB refers
to a maj.min value of 0xAA.0xBB.
Word 3 (Refer to the section COMMREQ Memory type of COMMREQ Status Word
Status for the EGD Commands)
Word 8 Retry time, in milliseconds The time between retries of command transfers.
Default is 1000ms.
Word 9 Local write buffer memory type Memory type for the data, in the local PLC.
Word 17 Remote Exchange Offset Byte offset (0-based) in the exchange that should
be read.
Word 21– IP Address of the remote PLC Four integers, specified as one integer per word
Word 24 of the dotted-decimal IP address of the remote
PLC. May not be a group IP address.
(Word 7) EGD Command Number: Word 7 requests that a write EGD exchange
operation occur. If the command is processed successfully, it will result in data for a
specified EGD exchange being written from the client to the server.
(Word 8) Command Retry Time: Word 8 specifies the time (in milliseconds) the
Ethernet Interface will wait between retries when transferring the command. A total of
four tries will be made to send the command. If no response is received after the four tries
(that is, after four times the retry time value), an error status will be returned in the
COMMREQ status word. If the command retry is specified as zero, the default value of
one second is used.
(Word 9) Local PLC - Memory Type: Words 9-11 specify the location in the local
PLC where the Ethernet Interface will get the data to write to the remote EGD device.
Valid values for Word 9 are listed in the description of Read PLC Memory Command.
The amount of data to be transferred is specified by the Exchange Data Length (Word
18).
(Words 10 - 11) Local PLC - Memory Starting Address: Words 10 and 11
determine the starting address in the local PLC from which data is to be written to the
remote EGD exchange. The value entered is the 32-bit offset (1-based) from the
beginning of PLC memory for the memory type and mode specified in Word 9. Word 10
contains the least significant 16 bits of the offset; word 11 contains the most significant
16 bits of the offset. This offset will be either in bits, bytes, or words depending on the
mode specified. (For example, if Word 9=16 and Words 10,11 = 2, 0 then the starting
address will be %I9.) Valid ranges of values depend on the PLC’s memory ranges.
(Word 12) Remote EGD exchange – Exchange Signature: Words 12 contains the
16-bit exchange signature value to be compared at the remote EGD device. For remote
PLCs, the exchange signature should be set to zero if signatures are not being used.
However, when signatures are enabled, the signature field can be set to a non-zero value
so that commands will only be executed if signatures match. In this case, mismatched
signatures will cause the command to return a failure status.
An EGD signature has the format maj.min, where maj is the major value and min is the
minor value. The least significant byte of this word indicates the minor value and the
most significant byte indicates the major value. For example, a value of 0xAABB refers
to a maj.min value of 0xAA.0xBB.
(Words 13 - 14) Remote EGD exchange – Producer ID: Words 13 and 14 contains
the 32-bit Producer ID of the desired exchange at the remote EGD device. Word 13
contains the least significant 16 bits of the Producer ID; word 14 contains the most
significant 16 bits.
(Words 15 - 16) Remote EGD exchange – Exchange ID: Words 15 and 16
contains the 32-bit Exchange ID of the desired exchange at the remote EGD device. Word
15 contains the least significant 16 bits of the Exchange ID; word 16 contains the most
significant 16 bits. For the Write EGD Command, the exchange at the remote device must
be a Produced exchange.
(Word 17) Remote EGD exchange – Exchange Data Offset: Word 17 contains
the 0-based byte offset of the data to be overwritten in the data portion of the exchange at
the remote EGD device.
(Word 18) Remote EGD exchange – Exchange Data Length: Word 18 contains
the length (in bytes) of the exchange data to be written to the remote EGD device. The
exchange data length may not exceed 1400 bytes or the amount of memory available in
the PLC for the selected memory type, whichever is less.
(Word 19) Remote Server - Network Address Type: Word 19 specifies the format
of the remote PLC address. Word 19 must contain the value 1. This indicates a
dotted-decimal IP address expressed using a separate register for each decimal digit.
(Word 20) Remote Server - Network Address Length: Word 20 specifies the
length in words of the remote PLC IP address in this COMMREQ Command Block.
Word 20 must contain 4.
(Words 21 – 24) Remote Server - IP Address: Words 21–24 specify the four
integers, one integer per word, of the dotted-decimal IP address of the remote PLC to be
accessed.
Word 3 (Refer to the section COMMREQ Memory type of COMMREQ Status Word
Status for the EGD Commands)
Word 10 Write 0 or 1 to selected bit. Value to set the bit selected by the bit mask in
Word 9.
Word 11 Remote signature EGD Exchange signature. This should be 0 for
PLCs when not using signatures. If run-mode
store of EGD will be used, the use of signatures
is highly recommended.
Word 16 Remote Exchange Offset Byte offset (0-based) in the exchange that should
be read.
Word 17 Network address type Must be 1. Indicates an IP address will be used.
Word 19– IP Address of the remote PLC Four integers, specified as one integer per word
Word 22 of the dotted-decimal IP address of the remote
PLC. May not be a group IP address.
(Word 7) EGD Command Number: Word 7 requests that a masked write EGD
exchange operation occur. If the command is processed successfully, it will result in a
data bit for a specified EGD exchange being written from the client to the server.
(Word 8) Command Retry Time: Word 8 specifies the time (in milliseconds) the
Ethernet Interface will wait between retries when transferring the command. A total of
four tries will be made to send the command. If no response is received after the four tries
(that is, after four times the retry time value), an error status will be returned in the
COMMREQ status word. If the command retry is specified as zero, the default value of
one second is used.
(Word 9) Bit Mask: Words 9 – 10 specify the individual data to be written to the remote
EGD exchange. The usage of the Bit Mask and Data are described in Masked Write to
EGD Exchange Bit Mask and Data Bits, below. Word 9 contains a bit mask that identifies
a bit or bits within a data byte. The mask bit corresponding to each data bit to be written
is set to 1; all other bits are set to 0.
(Word 10) Data: Word 10 contains the data byte that contains the bit or bits to be
written to the remote EGD exchange. The individual data bits to be written are in the
same position as the "1" bits in the Bit Mask (Word 9).
(Word 11) Remote EGD exchange – Exchange Signature: Words 11 contains the
16-bit exchange signature value to be compared at the remote EGD device. For remote
PLC’s, the exchange signature should be set to zero if signatures are not being used.
However, when signatures are enabled, the signature field can be set to a non-zero value
so that commands will only be executed if signatures match. In this case, mismatched
signatures will cause the command to return a failure status.
An EGD signature has the format maj.min, where maj is the major value and min is the
minor value. The least significant byte of this word indicates the minor value and the
most significant byte indicates the major value. For example, a value of 0xAABB refers
to a maj.min value of 0xAA.0xBB.
(Words 12 - 13) Remote EGD exchange – Producer ID: Words 12 and 13 contains
the 32-bit Producer ID of the desired exchange at the remote EGD device. Word 12
contains the least significant 16 bits of the Producer ID; word 13 contains the most
significant 16 bits.
6.9.1.1 Masked Write to EGD Exchange Bit Mask and Data Bits
Word 9 of the Masked Write command contains the bit mask. The most significant byte of
Word 9 is ignored. In the least significant byte, any bits set to 1 will be written to the
remote producer.
The equivalent bit of Word 10 of the Masked Write command contains the bit state to be
written, 1 or 0. The most significant byte of Word 10 is also ignored.
For example:
Example: Masked Write to EGD Exchange Bit Mask and Data Bits
Client
Client PLC Ethernet Server PLC Server
PLC CPU Backplane Interface LAN Ethernet Interface Backplane CPU
1. The command starts when there is power flow to a COMMREQ function in the client
PLC. At this time, the Command Block data is sent from the PLC CPU to the
Ethernet Interface.
2. For the Establish Read Channel command, the COMMREQ status word is returned
immediately if the Command Block is invalid. If the syntax is correct, the
COMMREQ status word is returned after the first significant event: upon failure to
establish a channel correctly and in a timely manner or upon the first successful
transfer of data.
3. After the channel is successfully set up to the server PLC, the Ethernet Interface
performs the periodic reads as specified in the Command Block.
-
(Command Block address) IN FT - Function Faulted (logic)
TASK: For the PACSystems Ethernet module, Task must be set to zero. For the
PACSystems CPU embedded Ethernet interface, Task must be set to the value 65536
(10000H) to address the CPU’s Ethernet daughterboard.
Caution
FT Output: The FT output is set if the PLC CPU (rather than the Ethernet Interface)
detects that the COMMREQ fails. In this case, the other status indicators are not updated
for this COMMREQ.
(Word 1) Data Block Length: This is the length in words of the Data Block portion of
the Command Block. The Data Block portion starts at Word 7 of the Command Block.
The length is measured from the beginning of the Data Block at Word 7, not from the
beginning of the Command Block. The correct value for each command, and the
associated length of each command, is specified in the next section.
(Word 2) WAIT/NOWAIT Flag: Must be set to zero for TCP/IP Ethernet
Communications.
COMMREQ Status Word: The Ethernet Interface updates the COMMREQ status word
to show success or failure of the command. Command words 3 and 4 specify the PLC
memory location of the COMMREQ status word. (COMMREQ Status Word values are
described in Chapter 12.)
(Word 3) COMMREQ Status Word Memory Type: This word specifies the memory
type for the COMMREQ status word. The memory types are listed in the table below:
(Word 4) COMMREQ Status Word Address Offset: This word contains the offset
within the memory type selected. The status word address offset is a zero-based number.
For example, if you want %R1 as the location of the COMMREQ status word, you must
specify a zero for the offset. The offset for %R100 would be 99 decimal. Note, however,
that this is the only zero-based field in the Channel commands. (When using %W
memory, the maximum offset value that can be entered is 65535, signifying %W65536.)
(Word 5): Reserved. Set to zero.
(Word 6): Reserved. Set to zero.
(Words 7 and up) Data Block: The Data Block defines the Channel command to be
performed.
Dec (Hex)
Word 1 00017 (0011) Length of Channel command Data Block (17–25 words)
Word 11 00007 (0007) Number of time units for read period (every 7 seconds)
Word 13 00008 (0008) Local PLC†† - Memory type at which to store data (%R)
Word 14 00100 (0064) Local PLC†† - Starting address at which to store data (%R100)
Word 15 00008 (0008) Remote PLC††† - Memory type from which to read data (%R)
Word 16 00050 (0032) Remote PLC††† - Starting address from which to read data (%R50)
Word 18 00001 (0001) Remote PLC††† - Network Address type (IP Address)
Word 19 00004 (0004) Remote PLC††† - Network Address length in words (4)
Word 24–27 Remote PLC††† - Program Name (needed for access to remote %P or %L)
(zero-terminated and padded)
Word 28–31 Remote PLC††† - Program Block (needed for access to remote %L)
(zero-terminated and padded)
† Word 4 (COMMREQ status word address) is the only zero-based address in the Command Block. This value alone requires
that 1 be subtracted from the intended address.
†† The term local PLC is used here to identify the client PLC—the PLC that initiates the communications request.
††† The term remote PLC is used here to identify the server PLC—the PLC that responds to the communications request.
(Word 7) Channel Command Number: Word 7 requests that a read channel be set
up. If the command is processed successfully, it will result in attempting the specified
number of transfers from the server to the client.
(Word 8) Channel Number: Word 8 specifies the channel to be used for the read. This
value must be in the range of 1–32. If the channel number is out of range, a command
error indication will be placed in the COMMREQ Status word. If the channel number is
the same as a channel already in use, the channel will be re-tasked to perform this new
command.
(Word 9) Number of Read Repetitions: Word 9 specifies the number of reads to be
performed before automatically completing the communications request and closing the
channel. If this value is set to 1, only a single read will be issued. If this value is set to 0,
reads will be issued continuously on the requested period until the channel is aborted.
Value Meaning
1 hundredths of seconds (10ms)
3 seconds
4 minutes
5 hours
Note If Time Unit Value is 5 (hours), then the maximum usable value of Number of
Time Units is 5965.
(Word 11) Number of Time Units for Read Period: Word 11 specifies the number
of time units for the read period. The read period is in effect even when the Channel
command is setup to issue a single read.
Example Read Period Calculation:
If Word 10 contains a value of 3 specifying seconds as the time unit and Word 11 contains
a value of 20, then the read period is 20 seconds.
A Channel command set up to issue a single read can have only one pending read
transfer. A read will normally be issued at the start of each read period. If the pending
read transfer has not completed during the read period, the Channel Error bit and Detailed
Channel Status words will be set to indicate a non-fatal period error. If the period error
occurs on the first transfer, the COMMREQ Status will also indicate a non-fatal period
error. Note: The COMMREQ Status is issued only once for each COMMREQ; for more
information, refer to the section Using COMMREQs for Channel Commands. The
pending transfer can still complete after the period error occurs. You can determine when
the pending transfer completes by monitoring the Channel Error and Data Transfer bits.
For Channel commands set up to issue multiple reads, the next read transfer will be issued
only after the pending read transfer completes.
If the Number of Time Units is zero, a subsequent transfer will be issued as soon as the
previous transfer completes. In this case, no period errors can occur.
(Word 12) Timeout for Each Read: Word 12 specifies the time (in hundredths of a
second) the Ethernet Interface will wait for a read transfer to complete before setting the
Channel Error bit and Detailed Channel Status words to indicate a non-fatal timeout error.
If the timeout error occurs on the first transfer, the COMMREQ Status will also indicate a
non-fatal timeout error. Note: The COMMREQ Status is issued only once for each
COMMREQ; for more information, refer to the section, Using COMMREQs for Channel
Commands. The transfer can still complete even after a timeout occurs. You can
determine when the pending transfer completes by monitoring the Channel Error and
Data Transfer bits. As a result, an application can choose what to do if one occurs. If the
timeout value is specified as zero, no timeout errors will be reported.
For most applications a timeout is not needed because the read period acts as a timeout.
(Word 12 should be zero for no timeout). However, there are two circumstances in which
specifying a timeout is recommended:
Note The Program Name (Words 24–27) and Program Block Name (Words 28–31) must
have each pair of ASCII characters reversed within the PLC memory. For example, the
name MARY (M = 4DH, A = 41H, R = 52H, Y = 59H) would have 414DH in the first
word and 5952H in the second word.
Dec (Hex)
Word 1 00017 (0011) Length of Channel command Data Block (17–25 words)
Word 11 00007 (0007) Number of time units for write period (every 7 seconds)
Word 13 00008 (0008) Local PLC†† - Memory type at which to write data (%R)
Word 14 00050 (0032) Local PLC†† - Starting address at which to write data (%R100)
Word 15 00008 (0008) Remote PLC††† - Memory type from which to store data (%R)
Word 16 00100 (0064) Remote PLC††† - Starting address from which to store data (%R50)
Word 18 00001 (0001) Remote PLC††† - Network Address type (IP Address)
Word 19 00004 (0004) Remote PLC††† - Network Address length in words (4)
Word 24–27 Remote PLC††† - Program Name (needed for access to remote %P or %L)
(zero-terminated and padded)
††† The term remote PLC is used here to identify the server PLC—the PLC that responds to the communications request.
(Word 7) Channel Command Number: Word 7 requests that a write channel be set
up. If the command is processed successfully, it will result in attempting the specified
number of transfers from the client to the server.
(Word 8) Channel Number: Word 8 specifies the channel to be used for the write. This
value must be in the range of 1–32. If the channel number is out of range, a command
error indication will be placed in the COMMREQ Status word. If the channel number is
the same as a channel already in use, the channel will be re-tasked to perform this new
command.
(Word 9) Number of Write Repetitions: Word 9 specifies the number of writes to be
performed before automatically completing the communications request and closing the
channel. If this value is set to 1, only a single write will be issued. If this value is set to 0,
writes will be issued on the requested period until the channel is aborted.
(Word 10) Time Units for Write Period: Words 10–11 together define how often the
write is to be performed (write period). Word 10 specifies the time unit such as seconds or
minutes for the write period. Word 11 specifies the number of those units. The choices for
the time units are:
Value Meaning
1 hundredths of seconds (10ms)
3 seconds
4 minutes
5 hours
(Word 11) Number of Time Units for Write Period: Word 11 specifies the number
of time units for the write period. The write period is in effect even when the Channel
command is setup to issue a single write.
Example Write Period Calculation:
If Word 10 contains a value of 3 specifying seconds as the time unit and Word 11 contains
a value of 20, then the write period is 20 seconds.
A Channel command set up to issue a single write can have only one pending write
transfer. A write will normally be issued at the start of each write period. If the pending
write transfer has not completed during the write period, the Channel Error bit and
Detailed Channel Status words will be set to indicate a non-fatal period error. If the period
error occurs on the first transfer, the COMMREQ Status will also indicate a non-fatal
period error. Note: The COMMREQ Status is issued only once for each COMMREQ; for
more information, refer to the section, Using COMMREQs for Channel Commands. The
pending transfer can still complete after the period error occurs. You can determine when
the pending transfer completes by monitoring the Channel Error and Data Transfer bits.
For Channel commands set up to issue multiple writes, the next write transfer will be
issued only after the pending write transfer completes.
• When the number of time units (Word 11) is zero, so that a subsequent transfer will
be issued as soon as the previous transfer completes and no period errors are
reported. In this case a timeout value can be specified so that the Channel Error bit
will report timeout errors.
• When the write period is very long (minutes or hours). In this case a shorter timeout
value can be specified so the application doesn’t have to wait for the write period to
expire before taking action.
(Word 13) Local PLC - Memory Type: Words 13–14 specify the location in the local
PLC where the Ethernet Interface will get the data to be written to the remote PLC. Valid
values for Word 13 are listed in the description of Establish Read Channel. The amount of
data to be transferred is specified by the number of memory units of the data written to
the remote PLC (Word 17).
(Word 14) Local PLC - Memory Starting Address: Word 14 determines the starting
address in the local PLC from which the data is to be written. The value entered is the
offset (1-based) from the beginning of PLC memory for the memory type and mode
specified in Word 13. This offset will be in bits, bytes, or words depending on the mode
specified (for example, if Word 13=16 and Word 14=2, then the starting address will be %
I9). Valid ranges of values depend on the PLC’s memory ranges.
(Word 15) Remote PLC - Memory Type: Words 15–16 specify the memory type and
starting address in the remote PLC where the data is to be written. Valid values for Word
15 are listed under Establish Read Channel. If %P memory is used, you must specify a
Program name in Words 24–27. If %L memory is used, you must specify a Program name
in Words 24–27 and a Program Block name in Words 28–31.
(Word 16) Remote PLC - Memory Starting Address: Word 16 determines the
starting address in the remote PLC where the data is to be written. The value entered is
the offset (1-based) from the beginning of PLC memory for the memory type and mode
specified in Word 15. This offset will be either in bits, bytes, or words depending on the
mode specified (for example, if Word 15=16 and Word 16=9, then the starting address
will be %I65). Valid ranges of values depend on the remote PLC’s memory ranges.
Dec (Hex)
Word 1 00017 (0011) Length of Send Information Report Data Block (17 words)
Word 11 00007 (0007) Minimum interval between host accesses (every 7 seconds)
Word 13 00008 (0008) Local PLC†† - Memory type from which to send data (%R)
Word 14 00050 (0032) Local PLC†† - Starting address from which to send data (%R50)
††† The term remote Host is used here to identify the server PLC—the PLC that responds to the communications request.
3 seconds
4 minutes
5 hours
(Word 11) Number of Time Units for Send Period: Word 11 specifies the number
of time units for the send period. The send period is in effect even when the Channel
command is set up to issue a single send. A Channel command set up to issue a single
send can have only one pending send transfer.
Example Send Period Calculation:
If Word 10 contains a value of 3 specifying seconds as the time unit and Word 11 contains
a value of 20, the send period is 20 seconds.
A send is normally issued at the start of each send period. If the pending transfer has not
completed during the send period, the Channel Error bit and Detailed Channel Status
words are set to indicate a non-fatal period error. The pending transfer can still complete
after the period error occurs. For Channel commands set up to issue multiple sends, the
next transfer is issued only after the pending transfer completes.
If the Number of Time Units is zero, a subsequent transfer is issued as soon as the
previous transfer completes. In this case, no period errors are reported by the Channel
Error bit.
(Word 12) Timeout for Each Send: Word 12 specifies the time (in hundredths of a
second) the Ethernet Interface will wait for a send transfer to complete before setting the
Channel Error bit and Detailed Channel Status bits to indicate a non-fatal timeout error.
The transfer can still complete even after a timeout occurs. As a result, an application can
choose what to do if one occurs. If the timeout value is specified as zero, no timeout
errors will be reported.
For most applications a timeout is not needed because the send period acts as a timeout.
(Word 12 should be zero for no timeout.) However, there are two circumstances where a
timeout is recommended:
• If number of time units (Word 11) is zero, so that a subsequent transfer is issued as
soon as the previous transfer completes and no period errors are reported. In this case
a timeout value can be specified so that the Channel Error bit will report timeout
errors.
• If the send period is very long (minutes or hours). In this case a shorter timeout value
can be specified so the application doesn’t have to wait for the send period to expire
before taking action.
(Word 13) Local PLC - Memory Type: Words 13–14 specify the location in the local
PLC where the Ethernet Interface will get the data to be written to the remote SRTP
server. Valid values for Word 13 are listed for Establish Read Channel.
(Word 14) Local PLC - Memory Starting Address: Word 14 determines the starting
address in the local PLC from which the data is to be sent. The value entered is the offset
(1-based) from the beginning of PLC memory for the memory type and mode specified in
Word 13. This offset can be in bits, bytes, or words depending on the mode specified (for
example, if Word 13=16 and Word 14=2, the starting address will be %I9). Valid ranges
of values depend on the PLC’s memory ranges.
Dec (Hex)
Word 1 00002 (0002) Length of Channel command Data Block (2 words)
Word 4 00009 (0009) COMMREQ status word address minus 1 (%R10) (0-based)
Dec (Hex)
Word 1 00004 (0004) Length of Channel command Data Block (4 words)
Word 9 00008 (0008) Local PLC†† - Memory type to store Detailed Chan. Stat. (%R)
(Word 7) Channel Command Number: Requests that Detailed Channel Status words
be returned. The Detailed Channel Status words are written to the location specified in
Words 9 and 10. The COMMREQ status word indicates successful completion of the
command. If the specified channel is not currently in use, the latest status is returned.
(Word 8) Channel Number: Specifies the channel (1 – 32) whose status is to be read.
(Word 9) Local PLC - Memory Type: Words 9 and 10 specify the starting point in the
client CPU memory where the Detailed Channel Status words are to be written. The
length of the transfer is always 2 words.
Note For the Abort Channel and Retrieve Detailed Channel Status commands, no actual
data is transmitted on the network. Communication occurs between the client CPU and
the local Ethernet Interface only. For these commands, known as “local” commands, the
function is performed locally within the Ethernet Interface and then the COMMREQ
Status word is sent immediately to the CPU.
Rung # 1: Input LANIFOK (bit 16 of the LAN Interface Status bits) monitors the health
of the Ethernet Interface. If it is OK to send a COMMREQ, the LAN_OK coil is ON.
LAN_OK is used as an interlock for Rungs 3–6.
Rung # 2: Input BEGREAD triggers READREQ, which enables execution of the
MOVE and COMMREQ functions. READREQ is a one-shot (Positive Transition) coil,
activating once when BEGREAD transitions from OFF to ON.
Rung # 3: The MOVE WORD function moves a zero to the COMMREQ status word
referenced in the Command Block (see rung #4). This clears the COMMREQ status word.
This rung also resets the FT output coil of the COMMREQ Function Block in rung #6.
It is vital that the COMMREQ status word be cleared and the COMMREQ fault output
coil be cleared each time before initiating a COMMREQ function.
Rungs # 4–5: The BLKMV INT functions set up the COMMREQ Command Block
contents. When these rungs are activated, the constant operands are moved into the
memory beginning at the address indicated in the instruction. The constant operands in
this example are defined in the Establish Read Channel Example in this chapter.
Rung # 6: The COMMREQ Function Block.
Caution
• While the TCP connection is open, it is unavailable to the rest of your application,
and
• The active TCP connection uses up network bandwidth because the active TCP
connection generates a small amount of ongoing periodic network traffic.
• Modbus/TCP Server
• Reference Mapping
• Modbus Function Codes
Note Not all of these commands are valid for embedded ports. Refer to the PACSystems
TCP/IP Ethernet Communications Station Manager User Manual (GFK-2225) for
additional information.
• Read Coils
• Write Coils
• Write Single Coil
When Modbus Address Space Mapping is set to Disabled on the Settings tab, the
Modbus/TCP Address Map tab does not display.
If the CPU module does not receive an address map from Machine Edition, Ethernet
interfaces within the PLC will respond to Modbus/TCP clients with Exception Code 4,
Slave Device Failure. This same exception code will also be returned when the PLC’s
hardware configuration is cleared.
1 Read Coils
5 Write Single Coil 0xxxx 1 32768 %Q00001 32768
15 Write Multiple Coils
CONTROL COMMREQ
LOGIC FUNCTION BLOCK
INITIATES
COMMREQ
FUNCTION INPUTS
BLOCK AND COMMREQ
OUTPUTS COMMAND BLOCK
FOR COMMREQ COMMREQ
FUNCTION STATUS WORD
COMMREQ
STATUS
WORD STATUS
COMMAND CODES
BLOCK ADDRESS
ADDRESS
STATUS BITS
DETAILS
OF THE
CHANNEL LAN INTERFACE STATUS
COMMAND AND CHANNEL STATUS
BITS
Client Client
PACSystems PLC Ethernet Server Server Server
RX3i CPU Backplan Interface LAN Ethernet Interface Interface CPU
e
Send connection
Return COMMREQ
acknowlegement
Status (CRS) Word
COMMREQ to CPU
Status Word
Set Channel Open Bit
Channel Open Bit is
set to 1
Each of the inputs and outputs are discussed in detail below. It is important to understand
that the Command Block address points to the location in memory you have setup as the
Command Block.
Enable: Control logic for activating the COMMREQ Function Block. See Section 5 for
tips on developing your program.
IN: The location of the Command Block. It can be any valid address within a
word-oriented area of memory (%R, %AI, %AQ, %P, %L or %W for the Ethernet
interface).
SYSID: A hexadecimal word value that gives the rack (high byte) and slot (low byte)
location of the Ethernet interface. For the PACSystems embedded Ethernet interface,
enter the rack/slot location of the module.
Examples:
0 4 16#0004
3 4 16#0304
2 10 16#020A
4 2 16#0402
TASK: For the RX3i and Rx7i ETM001 Ethernet interfaces TASK must always be set to
zero. For PACSystems CPU embedded Ethernet interface, TASK must be set to 65536
(0x10000) to address the CPU’s Ethernet daughterboard.
Caution
When entering information for the Command Block, refer to these definitions:
(Word 1) Data Block Length: This is the length in words of the Data Block portion of
the Command Block. The Data Block portion starts at Word 7 of the Command Block.
The length is measured from the beginning of the Data Block at Word 7, not from the
beginning of the Command Block. The correct value for each command, and the
associated length of each command, is specified in the next section.
(Word 2) WAIT/NOWAIT Flag: This flag must be set to zero for TCP/IP Ethernet
Communications.
COMMREQ Status Word: The Ethernet interface updates the CRS word to show
success or failure of the command. Command words 3 and 4 specify the PLC memory
location of the CRSW word.
(Word 4) COMMREQ Status Word Address Offset: This word contains the offset within
the memory type selected. The status word address offset is a zero-based number. For
example, if you want %R1 as the location of the CRS word, you must specify a zero for
the offset. The offset for %R100 would be 99 decimal. Note that this is the only
zero-based field in the Channel commands.
(Word 5): Reserved. Set to zero.
(Word 6): Reserved. Set to zero.
(Words 7 and up) Data Block: The Data Block defines the Channel command to be
performed. For information on how to fill in the Channel command information, see the
next section.
Dec (Hex)
Word 1 00008 (0008) Length of Channel command Data Block
(Word 7) Channel Command Number: Word 7 requests the Close channel service.
(Word 8) Channel Command Number: Word 8 identifies a channel previously
opened with an Open Modbus/TCP Client Connection request. If a Close Modbus/TCP
Client Connection is sent to a channel that is already closed, a success CRS value of 1
will be returned.
Function Description Modbus Server Data Unit Size Maximum Data Units
Code Memory Region
Accessed
1 Read Coils Internal Bits or Physical Bit 2000
coils
2 Read Input Discretes Physical Discrete Inputs Bit 2000
The table above describes the general Modbus server memory areas. The actual memory
accessed is dependent on how the server maps the Modbus memory regions to the
server’s local memory.
Dec (Hex)
Word 1 00008 (0008) Length of Channel command Data Block
Dec (Hex)
Word 1 00008 (0008) Length of Channel command Data Block (8–14 words)
Word 13 00009 (0009) Number of Input Discretes to Read from the Remote Device
Dec (Hex)
Word 1 00008 (0008) Length of Channel command Data Block
Dec (Hex)
Word 1 00008 (0008) Length of Channel command Data Block
An Address Offset and Length specify the location in the Modbus/TCP device and the
number of data units to transfer. The Address Offset is the offset from the Base Address
for that memory region in the server. The Length is the number of Registers or Coils to
transfer.
Dec (Hex)
Word 1 00008 (0008) Length of Channel command Data Block
Dec (Hex)
Word 1 00008 (0008) Length of Channel command Data Block
Dec (Hex)
Word 1 00008 (0008) Length of Channel command Data Block
Dec (Hex)
Word 1 00014 (000E) Length of Channel command Data Block
Word 10 00008 (0008) Local PLC Memory Type of memory to write with data read from Remote
Device
Word 11 00300 (012C) Local PLC Starting Address (LSW) of memory to write with data read from
Remote Device
Word 12 00000 (0000) Local PLC Starting Address (MSW) of memory to write with data read
from Remote Device (normally 0 unless %W is used)
Word 14 00020 (0014) Number of Memory Units to Read from Remote Device (1 to 125)
Word 15 00008 (0008) Local PLC Memory Type of memory to use for writing to the Remote
Device
Word 16 00100 (0064) Local PLC Starting Address (LSW) of memory to use for writing to the
Remote Device
Word 17 00000 (0000) Local PLC Starting Address (MSW) of memory to use for writing to the
Remote Device (normally 0 unless %W is used)
Word 19 00010 (000A) Number of Memory Units to Write to the Remote Device (1 to 121)
CRS Word in
Hex Format
High Low
00 00
The Ethernet Interface reports the status of the COMMREQ back to the status location.
Refer to Chapter 12, Diagnostics for COMMREQ major and minor error codes that may
be reported in the CRS words for Modbus/TCP commands.
Note When using a Write Data or Read/Write COMMREQ, data is not read from the
local PLC synchronously with execution of the COMMREQ. A number of CPU sweeps
may occur before the data is read. It is recommended that the data not be changed until
after the COMMREQ Status Word indicates completion of the command.
The example ladder program segment starting on the next page illustrates how to
incorporate these important points in your program.
Rung # 1: Input LANIFOK (bit 16 of the LAN Interface Status bits) monitors the health
of the Ethernet interface. Input LAN_OK (bit 13 of the LAN Interface Status bits)
monitors the online/offline status of the Ethernet interface. If both bits are set it is OK to
send a COMMREQ and the ETH_READY coil is ON. ETH_READY is used as an
interlock for Rungs 2-16.
Rung # 2: When ETH_READY is set, Input DO_OPEN triggers OPEN_REQ, which
enables execution of the MOVE and COMMREQ functions for the Open Modbus/TCP
Connection COMMREQ. OPEN_REQ is a one-shot (Positive Transition) coil, activating
once when both ETH_READY and DO_OPEN have transitioned from OFF to ON.
Rung # 3: The MOVE WORD function moves a zero to the CRS word referenced in the
Command Block (see rung #4). This clears the CRS word. This rung also resets the
OPEN_FLT output coil of the COMMREQ Function Block in rung #5.
It is vital that the CRS Status Word is cleared and the COMMREQ fault output coil be
cleared each time before initiating a COMMREQ function.
Rung # 4: The BLKMV INT functions set up the COMMREQ Command Block
contents. When this rung is activated, the constant operands are moved into the memory
beginning at the address indicated in the instruction. The constant operands in this
example are defined in the Open Modbus/TCP Connection Example in this chapter.
Rung # 5: The COMMREQ Function Block has three input parameters and one output
parameter.
• The IN field points to the starting location of the Command Block parameters (%
R00301 in this example).
• The SYSID field of the COMMREQ Function Block defines the target rack and slot
of the Ethernet interface to receive the command data. This is a hexadecimal word
value that gives the rack (high byte) and slot (low byte) location of the Ethernet
interface module. In the example, the first three number places (from left to right) are
zeroes and are not displayed; only the last number, 4, appears. This indicates rack 0,
slot 4.
• The TASK field of the COMMREQ Function Block indicates which mailbox task ID
to use for the specified rack and slot. For the RX3i and Rx7i ETM001 Ethernet
interfaces TASK must always be set to zero. For PACSystems CPU embedded
Ethernet interface, TASK must be set to 65536 (0x10000) to address the CPU’s
Ethernet daughterboard.
• The FT output (energizes the OPEN_FLT coil in this example) is turned ON (set to 1)
if there were problems preventing the delivery of the Command Block to the Ethernet
interface. In this case, the other status indicators are not updated for this
COMMREQ.
Rung # 6: When ETH_READY is set the CRS word for the Open Modbus/TCP
Connection COMMREQ is monitored for a status of 1, indicating that the Open
COMMREQ completed successfully. The CRS word change to 1 sets coil OPEN_
SUCCESS.
• The IN field points to the starting location of the Command Block parameters (%
R00301 in this example).
• The SYSID field of the COMMREQ Function Block defines the target rack and slot
of the Ethernet interface to receive the command data. This is a hexadecimal word
value that gives the rack (high byte) and slot (low byte) location of the Ethernet
interface module.
• The TASK field of the COMMREQ Function Block indicates which mailbox task ID
to use for the specified rack and slot. For the RX3i and Rx7i ETM001 Ethernet
interfaces TASK must always be set to zero. For PACSystems CPU embedded
Ethernet interface, TASK must be set to 65536 (0x10000) to address the CPU’s
Ethernet daughterboard.
• The FT output (energizes the READ_FLT coil in this example) is turned ON (set to 1)
if there were problems preventing the delivery of the Command Block to the Ethernet
interface. In this case, the other status indicators are not updated for this
COMMREQ.
Rung # 11: When ETH_READY is set the CRS word for the Modbus/TCP Read
COMMREQ is monitored for a status of 1, indicating that the Read COMMREQ
completed successfully. The CRS word change to 1 sets coil READ_SUCCESS.
• The IN field points to the starting location of the Command Block parameters (%
R00301 in this example).
• The SYSID field of the COMMREQ Function Block defines the target rack and slot
of the Ethernet interface to receive the command data. This hexadecimal word value
gives the rack (high byte) and slot (low byte) location of the Ethernet interface
module.
• The TASK field of the COMMREQ Function Block indicates which mailbox task ID
to use for the specified rack and slot. For the RX3i and Rx7i ETM001 Ethernet
interfaces TASK must always be set to zero. For PACSystems CPU embedded
Ethernet interface, TASK must be set to 65536 (0x10000) to address the CPU’s
Ethernet daughterboard.
• The FT output (energizes the CLOSE_FLT coil in this example) is turned ON (set to
1) if there were problems preventing the delivery of the Command Block to the
Ethernet interface. In this case, the other status indicators are not updated for this
COMMREQ.
Rung # 16: When ETH_READY is set the CRS word for the Close Modbus/TCP
Connection COMMREQ is monitored for a status of 1, indicating that the Close
COMMREQ completed successfully. The CRS word change to 1 sets coil CLOSE_
SUCCESS.
9.5.3.1 FT Output is ON
If after executing a COMMREQ Function, the FT Output is ON, then there is a
programming error in one or more of the following areas.
Server Bit %M16-%M1 = 0x4321 → Client Word %R1 = 0x2143 End-to-end bytes
swapped
Client Word %R1 = 0x4321 → Server Bit %M16-%M1 = 0x4321 End-to-end bytes
un-swapped
Server Word %R1 = 0x4321 → Client Bit %M16-%M1 = 0x2143 End-to-end bytes
swapped
Server Bit %M16-%M1 = 0x4321 → Client Word %R1 = 0x4321 End-to-end bytes
swapped
Client Word %R1 = 0x4321 → Server Bit %M16-%M1 = 0x4321 End-to-end bytes
un-swapped
Server Word %R1 = 0x4321 → Client Bit %M16-%M1 = 0x4321 End-to-end bytes
swapped
Sub-function Code
OPC UA SERVER 16#0001
Note All other protocol codes are reserved, and if used, the SVC_REQ function will not
pass power.
Sub-function Code
START 16#0000
STOP 16#0001
CLEAR 16#0002
SERVER_STATUS 16#0003
CONFIG_STATUS 16#0004
RESTART 16#0005
Note All other sub-functions are reserved; if used, the SVC_REQ function does not pass
power.
Note This request can only be successfully performed when the OPC UA server is
stopped.
If the SVC_REQ does not pass power, the operation did not complete. The time zone
offset adjusts the OPC UA server time zone. The Controller’s Time of Day clock must be
synchronized to local time and the time zone offset is your location’s offset relative to
Universal Time Coordinated (UTC, formerly known as Greenwich Mean Time or GMT).
Example:
Note In this example, a Time Zone Offset of -240 was used, meaning local time is UTC
time minus 240 minutes (4 hours).
Note This request can only be successfully performed when the OPC UA server is
started.
Example:
Note This request can only be successfully performed when the server is stopped.
If the SVC_REQ does not pass power, the operation did not complete.
Note This request can only be successfully performed when the OPC UA server is
started.
If the SVC_REQ does not pass power, the operation did not complete. The time zone
offset adjusts the OPC UA server time zone. The Controller’s Time of Day clock must be
synchronized to ‘local’ time and the time zone offset is your location’s offset relative to
UTC time.
Note In this example a Time Zone Offset of -300 was used, meaning local time is UTC
minus 300 minutes (5 hours).
16#0003 SERVER_STATUS IN
request
If the SVC_REQ does not pass power, the operation did not complete.
16#0004 CONFIG_STATUS IN
request
If the SVC_REQ does not pass power, the operation did not complete.
The CONFIG_STATUS word bit definitions are displayed below.
10.1.2.1 Inputs
StopSvr Rising edge stops the OPC UA server. Only allowed is the Bool
server is running.
ClearSvr Rising edge clears the OPC UA configuration files and Bool
certificates. Only allowed when server is stopped (see
section 10.1.14 for additional information concerning
certificates).
RestartSvr Rising edge stops and restarts the OPC UA Server. Only Bool
allowed if the server is running
As an example, a connection string for the OPC UA server is constructed. To begin, the
controller TCP/IP address of the embedded Ethernet port is needed. One method to find
this information is to use the Machine Edition programmer. Open the controller’s project
and select the project top level in the Project tab of the Navigator window. From the
Inspector window, scroll down to the IP Address Entry (refer to the following
screenshot). From the figure, we can see the current IP address is 10.10.1.102. For this
example, the client’s connection string for the controller is the following:
opc.tcp://10.10.1.102:4840
Note In the figure above, Force Compact PVT is set to true. This is the required setting
for the OPC UA Server.
From the client side, we can establish a connection by placing the above information into
the connection string (refer to the following screenshot using an OPC UA Client).
The Controller Target Name is set within Machine Edition and is displayed in the
screenshot above. A sample client connection can be seen in the following figure.
Note The RXi’s OPC UA server supports 5 clients. If 5 clients are connected, additional
connection requests will be rejected by the OPC UA server.
• Anonymous
• Username/Password
• Certificate-based
The OPC UA server password is the same as the controller password. Controller
passwords are set using the Machine Edition commands Select Target → Online
Commands → Show Status, which opens the controller status dialog box. Select the
Protection tab and click the Passwords button to set the passwords for the different
access levels (refer to the following screenshot).
The OPC Server assigns usernames to the different access levels. The usernames that
correspond to the different levels are as follows:
External Publish variable to OPC UA address space and allow the OPC UA
Read/Write client Read and Write Access
External Read Publish variable to OPC UA address space and allow the OPC UA
Only client Read Access only
Note The Controller’s OPC UA address space supports 12,500 addressable elements. If
more than 12,500 addressable elements are published, only the first 12,500 (listed
alphabetically) will be made available in the OPC UA address space. Each index of a
variable array counts as a unique addressable element.
The OPC UA server regenerates the address space only at startup. Thus, adding a new
variable or modifying an existing variable publish attribute requires the server to perform
the startup sequence. In most cases, the controller performs this function for you. Refer to
the section, OPC UA Server – Service Request – RESTART for additional details on server
restart functionality.
The published application variable is accessible by the client. One method is to browse
the address space, opening the Application node displayed in the following screenshot.
Note If the server address space has been updated and the client is currently connected to
the server, you may need to refresh the client view. Depending on the client
implementation, this may require the client to re-browse the address space.
The Server node can then be used to access server-specific information. For example, the
node Server → ServerStatus → Buildinfo (refer to the following figure) contains
information specific to the OPC UA server.
BuildInfo Subscription
The tree structure allows you to drill down into both the Controller and Energy Pack
nodes to get information on these devices. The variables under these nodes are defined as
follows:
Note If the controller does not have an Energy Pack installed, the values for these
variables are NA.
• PLC reference tables. This data is a snapshot of the PLC Reference Tables when
the data is displayed in the Browser and is not updated until you request another
display. All reference tables are supported.
• PLC and I/O Fault Tables.
The web server cannot be used to modify PLC data (acknowledge alarms, set/force values
in tables).
The maximum number of web server connections that can be configured for the Ethernet
Interface is 16. If the system includes FTP server connections, fewer web server
connections are available, as explained in Chapter 4, Configuration.
RX7i PLC Monitoring Via the Web GFK-2224P User Manual 231
For public disclosure
11.3 Web Server Operation in a Redundant System
In a redundant system, only the active unit processes Web Server requests at the
Redundant IP address and responds to web page requests. The backup unit does not
respond to the Redundant IP address. When the active Ethernet interface changes to
backup, it takes down all Web Server connections and their underlying TCP connections.
The Web Server maintains its underlying TCP connection only long enough to process
each web page request; a new TCP connection is opened, used, and closed for each
subsequent web page display or update. Unless a web page change or update is requested
during a redundancy switch, the operation of the Redundant IP address is transparent to
the Web browser. Any web page request in process over the Redundant IP when a role
switch occurs is ended.
Although both the active and backup units respond to Web server requests received at the
direct IP address, having a remote (host) browser issue Web Server requests to the direct
IP address is not recommended. Remote web browsers should use the Redundant IP
address when communicating to a Redundant System.
RX7i PLC Monitoring Via the Web GFK-2224P User Manual 233
For public disclosure
Select Reference Table Data Row-by-Row: The right column of each row contains the
configuration options for that row. For each row, select the reference table, starting
address, and data format. You can select the %R, %AI, %AQ, %I, %Q, %M, %T, %G, %
S, %SA, %SB, %SC, %P, %L, or %W reference table. For %P and %L memory types,
specify the logic program name, and for %L memory, the subroutine block name. The
logic program and subroutine block names must be reentered when defining other rows.
To select the data format, click on a reference table address cell above the reference value
and select the display format type. For example:
The fault extra data can be displayed in byte, word or ASCII format depending on which
button is selected at the top of the screen. These selections affect the display of all fault
extra data. If an error code does not have a string associated with it, the Fault Description
field is blank.
To view the fault extra data for all faults, select the Show All checkbox as shown in the
following figure:
RX7i PLC Monitoring Via the Web GFK-2224P User Manual 235
For public disclosure
Fault Extra Data Display
For Netscape, first check the Show All checkbox and press the Refresh PLC Fault Table
button. This will show the fault extra data for all faults. Netscape cannot show fault extra
data for selected faults. To hide the fault extra data, uncheck the Show All checkbox and
again press the Refresh PLC Fault Table button.
RX7i PLC Monitoring Via the Web GFK-2224P User Manual 237
For public disclosure
11.5 Downloading PLC Web Pages
To add new or revised web page files or support files, you will need to transfer the
appropriate files to the Ethernet Interface using FTP. Once the new web files have been
obtained, they are copied into the local computer from which the FTP utility will be run.
A general procedure for transferring web files using Windows FTP is described below.
(You may also use a commercial FTP program.)
Note You may not be able to open an FTP connection when the CPU is in Run mode and
the level of Ethernet traffic is medium to heavy. If the network traffic is high, it is
recommended that you reduce the network traffic before trying to create an FTP
connection.
Note Not all FTP tools will be guaranteed to work since the server only supports a
limited set of FTP commands
From the Windows DOS box command line interface, enter ftp followed by the URL or
IP address of the PLC as follows:
ftp<URL or IP address of the Ethernet Interface>
You will then be prompted for a login name and password as follows. The default FTP
password is system.
login: user
password: system
The FTP server in the PLC Ethernet interface does not support multiple levels of login
(there are no distinct anon or user logins). Once successfully logged on, your can execute
any of the FTP commands described below; this login is required in order to store web
page files to the Ethernet Interface.
Note The CHPARM command is not available if the PLC has received a valid
configuration from the Programmer.
• get command - allows the user to transfer files from the PLC web server to their local
PC (for example get filename1.htm).
• delete command – allows user to delete web pages from the server (for example
delete filename1.htm).
RX7i PLC Monitoring Via the Web GFK-2224P User Manual 239
For public disclosure
11.6 Viewing the RX7i PLC Web Pages
Each web browser (HTTP) instance (i.e., each browse window) requires at least two TCP
connections and each FTP session requires two TCP connections to the PLC. The
maximum number of web browser connections and FTP connections at the Ethernet
interface at any one time are separately configurable from 0 to 16 (a value of 0 means that
the web server or FTP capability is disabled). The total number of configured web
browser connections plus FTP connections is limited to 16 connections; once the number
of browser/FTP connections reaches the configurable limit, any new browser or FTP
connection requests will fail.
The number of Web Server and FTP connections is configurable via the Programmer. The
Programmer configuration details are described in the Programmer Help utility.
When the PLC is unconfigured, the user can change the number of web server (HTTP)
connections and FTP connections with the following Station Manager commands,
respectively:
CHSOSW web_max_conn <number from 0-16>
CHSOSW ftp_max_conn <number from 0-16>
As noted in the Ethernet Configuration section, the sum of web server connections plus
FTP connections must not exceed 16 connections.
For example:
= CHSOSW web_max_conn 6
= CHSOSW ftp_max_conn 4
Note The CHSOSW commands are not available if the PLC has received a valid
configuration from the Programmer.
1
Powering up the PLC
Initializing Storing a new configuration to the PLC with changes for the Ethernet Interface
(approx. 2-6 Pressing the Restart pushbutton
seconds) Issuing a Station Manager RESTART command
Internal System Error occurring when Interface is operational
A
No
Diagnostics Hardware Failure
Pass?
Yes 2 Software Load caused by
Pressing the Restart pushbutton
Detection of corrupt software
Load 2 B
Request or
Yes
Software Software Load 3 Waiting for IP Address caused by
Corrupted? Not configuring Interface using configuration software
Configuring Interface with IP Address = 0.0.0.0
No
New CPU with no configuration
CPU failure to communication with Interface
C 4
Waiting for
Continue to Operational State caused by
IP Address received over network
Configuration from
PLC CPU
(max. 5 min.,10 sec.) Symbols
= 0.0.0.0 / ∗/ Waiting for The symbols used for the LEDs in the chart are:
OFF
IP Address
ON
No IP Address
Received
4
Slow Blink; multiple slow blinking LEDS blink in
unison
Fast Blink
EOK Blinking error code Unrecoverable Refer to the list of blink codes on
LAN Off hardware or runtime the next page.
STAT Off failure
On the RX7i interfaces, the Ethernet LEDs are labeled EOK, LAN, and STAT.
On the RX3i rack-based Ethernet interfaces, the Ethernet LEDs are labeled ETHERNET
OK, LAN OK, and LOG EMPTY, respectively.
0x13 Timer failure during power up 0x51 Unexpected watchdog timer exception
diagnostics.
0x21 RAM failure during power up 0x61 Boot: Critical interrupt exception
diagnostics.
0x22 Stack error during power up 0x62 Boot: Machine check exception
diagnostics.
0x23 Shared Memory Interface error during 0x63 Boot: Data store exception
power up diagnostics.
0x24 Firmware CRC (cyclic redundancy 0x64 Boot: Instruction store exception
check) error during power up or
Factory Test†
0x28 Serial EEPROM reset exception 0x68 Boot: System call exception
0x34 Alignment exception 0x73 Boot: Data cache TLB miss exception
0x37 Unexpected IRQ exception 0x76 Boot: Flash memory CRC error
0x38 Data cache TLB miss exception 0x77 Boot: Unexpected ACFAIL interrupt
0x39 Instruction cache TLB miss exception 0x78 Boot: Unexpected Restart pushbutton
interrupt
• an Event 16
• Entry 2=6
• Entry 3=3
• Entry 4=5
This information can be used to refer directly to detailed fault descriptions included in the
Exception Log Event tables in GFK-2225, TCP/IP Ethernet Communications for
PACSystems Station Manager Manual. (In that document, refer to Appendix B, Exception
Log Events.)
Mailbox queue full – COMMREQ Check to make sure that the logic application is not sending COMMREQs faster
aborted than the Ethernet Interface can process them. Reduce the rate at which the
application is sending COMMREQs to the Ethernet interface. If problem persists,
contact Technical Support.
Bad remote application request; Try to validate the operation of the remote node. If problem persists, contact
discarded request Technical Support.
Can’t locate remote node; discarded Error reported when message received where IP/MAC address cannot be
request resolved. Error may indicate that remote host is not operational on the network.
Check that remote host is operational on network and its addresses are correct.
Comm_req - Bad task ID programmed Message from PLC for unknown Ethernet Interface task. Check COMMREQ
function block.
Configured gateway address bad; can’t Error in configuration. Verify that IP address, Subnetwork Mask, and default
talk off local net Gateway IP address are correct.
Connection to remote node failed; Underlying communications software detects error transferring data; resuming. If
resuming without it persistent error, check connection to LAN and operation of remote node.
LAN controller fault; restart LAN I/F HW fault, perform a power cycle. If problem persists, contact Technical Support.
LAN controller Tx underflow; attempt Internal system error. If problem persists, contact Technical Support.
recovery
LAN controller under run/overrun; Internal system error. If problem persists, contact Technical Support.
resuming
LAN data memory exhausted - check The Ethernet Interface does not have free memory to process communications. If
parameters; resuming problem persists, contact Technical Support.
LAN duplicate MAC Address; resuming A frame was received in which the source MAC Address was the same as this
station’s MAC Address. All stations on a network must have a unique MAC
address. Immediately isolate the offending station; it may be necessary to turn it off
or disconnect it from the network. This station remains Online unless you intervene
to take it Offline.
LAN I/F can’t init - check parameters; Internal system error. If problem persists, contact Technical Support.
running soft Sw utl
LAN I/F capacity exceeded; discarded Verify that connection limits are not being exceeded.
request
LAN severe network problem; External condition prevented transmission of frame in specified time. Could be
attempting recovery busy network or network problem. Check transceiver to make sure it is securely
attached to the network.
LAN system-software fault; aborted Internal system error. If problem persists, contact Technical Support.
connection resuming
LAN system-software fault; restarted Internal system error. If problem persists, contact Technical Support.
LAN I/F
LAN system-software fault; resuming Internal system error. If problem persists, contact Technical Support.
LAN transceiver fault; OFF network Transceiver or transceiver cable failed or became disconnected. Reattach the
until fixed cable or replace the transceiver cable. Check SQE test switch if present on
transceiver.
Local request to send was rejected; Internal error. Check that the Ethernet Interface is online. If problem persists,
discarded request contact Technical Support.
Memory backup fault; may lose Internal error accessing non-volatile device. If problem persists, contact Technical
configuration/log on restart Support. Replace the Ethernet Interface.
Module software corrupted; requesting Catastrophic internal system error. Contact Technical Support.
reload
Mailbox Queue full – Comm_req The CPU is attempting to send COMMREQs faster than the Ethernet Interface can
aborted receive them. The PLC logic program should retry the COMMREQ after a short
delay. If the condition persists, the logic application should be revised to reduce the
rate at which it sends COMMREQs to the Ethernet Interface.
Non-critical CPU software event The CPU is attempting to send mail messages faster than they can be retrieved by
the Ethernet Interface; the messages are discarded. This can result in subsequent
Backplane communications with controller fault; lost request faults.
Note For CPE330:LAN1 is the LAN (NIC) that contains the unswitched port in the
CPE330. This is the port similar to the CPE310. This port negotiates up to 1 Gbps.LAN2
is the LAN (NIC) that contains the switched ports in the CPE330. There are 2 ports in this
LAN. These ports negotiate up to 1 Gbps.
Status Description †
Bits
Rack-based and RX7i Embedded RX3i Embedded RX3i CPE330 ††
1 Port 1A full-duplex Port full-duplex LAN 1 Port full duplex
LAN 1 stays here for compatibility
with other CPEs.
2 Port 1A 100Mbps Port operating at highest supported LAN 1 Port operating at highest
speed supported speed
LAN 1 stays here for compatibility
with other CPEs.
3 Port 1B full-duplex Reserved LAN 2 Port 1 (Top Port) full duplex
9 Any Channel Error (error on any Any Channel Error (error on any Any Channel Error (error on any
channel) channel) channel)
LAN1 is the LAN (NIC) that contains the unswitched port in the CPE330. This is the port similar to the CPE310. This port
negotiates up to 1 Gbps.
LAN2 is the LAN (NIC) that contains the switched ports in the CPE330. There are 2 ports in this LAN. These ports negotiate
up to 1 Gbps.
• A Channel Error bit is set to 1 when an error is detected on the channel. It is set to 0
when the channel is initially established and if the channel resumes normal operation
after a transient error condition subsides. The Channel Error bit is also set to 0 when
the channel is aborted by an Abort Channel command or when the CPU transitions
from RUN to STOP. In the case of an Establish Channel command, the COMM_REQ
status word is always updated before the Channel Error bit is set to 1.
• If this bit indicates an error, initiate the Abort command and then reinitiate the Read
or Write command. If the error persists, initiate the Retrieve Detailed Channel Status
command to find out if the channel is idle, and possibly why it is idle. The status
code may change between the time the Channel Error bit indicates an error and the
time the Retrieve Detailed Channel Status command retrieves the code.
-
(Command Block address) IN FT - Function Faulted (logic)
Status Word in
Hex Format
High Low
00 00
Note The COMMREQ Status words for SNTP Time Transfer commands are listed in
Chapter 5, Ethernet Global Data, following the COMMREQ command descriptions.
02H Insufficient Privilege at server PLC. For a PACSystems or Series 90-70 server PLC, the minor error code
contains the privilege level required for the service request.
04H Protocol Sequence Error. The server CPU has received a message that is out of order. Contact
Technical Support for assistance.
05H Service Request Error at server PLC. The minor error code contains the specific error code. See the
following table of Minor Error codes.
06H Illegal Mailbox Type at server PLC. Service request mailbox type is either undefined or unexpected.
Contact Technical Support for assistance.
07H The server PLC CPU’s Service Request Queue is full, usually due to heavy CPU loading. The client
should retry later. It is recommended that the client wait a minimum of 10 milliseconds before sending
another service request.
0BH Illegal Service Request. The requested service is either not defined or not supported at the server PLC.
(This value is returned in lieu of the actual service request error (01H), to avoid confusion with the
normal successful COMMREQ completion.) Contact Technical Support for assistance.
11H SRTP Error Code at server. An error was detected at the SRTP server. See the following table of Minor
Error codes.
82H Insufficient Privilege at client PLC. The minor error code contains the privilege level required for the
service request.
84H Protocol Sequence Error. The CPU has received a message that is out of order. Contact Technical
Support for assistance.
85H Service Request Error at the client PLC. The minor error code contains the specific error code. See the
following table of Minor Error codes.
86H Illegal Mailbox Type. Service request mailbox type is either undefined or unexpected. Contact Technical
Support for assistance.
87H The client PLC CPU’s Service Request Queue is full. The client should retry later. It is recommended
that the client wait a minimum of 10 milliseconds before sending another service request.
8BH Illegal Service Request. The requested service is either not defined or not supported. (This value is
returned in lieu of the actual service request error (01H), to avoid confusion with the normal successful
COMMREQ completion.). Contact Technical Support for assistance.
90H Client (Channels) error. See the following table of Minor Error codes. (Some EGD command errors also
use major code 90 when indicating the same error condition as channels.)
91H Modbus/TCP error code at server. An error was detected at the Modbus/TCP server. See the following
table of Minor Error codes.
A0H EGD Command error. See the following table of Minor Error codes.
9305H 9385H Text buffer length/count does not agree with request parameters.
C605H C685H Control Program (CP) tasks exist but requestor not logged into main CP.
C705H C785H Passwords are set to inactive and cannot be enabled or disabled.
C805H C885H Password(s) already enabled and cannot be forced inactive.
C905H C985H Login using non-zero buffer size required for block commands.
CB05H CB85H A comm or write verify error occurred during save or restore.
CC05H CC85H Data stored on device has been corrupted and is no longer reliable.
CD05H CD85H Attempt was made to read a device but no data has been stored on it.
CF05H CF85H Specified device is not available in the system (not present).
D105H D185H Packet size or total program size does not match input.
D905H D985H Transfer type invalid for this Memory Type selector.
E405H E485H Memory Type for this selector does not exist.
0611H Data present in SRTP message, which should not contain data.
2211H Timed out waiting for availability of mail communications with the PLC.
2311H Invalid task ID detected while attempting to send a mailbox message to the PLC.
2411H Unable to send mailbox message to PLC because the mail queue is full.
2C11H The message could not be sent to its destination because the mailbox was not open.
2D11H The maximum number of transfers to the destination is already taking place.
2E11H The maximum number of transfers of this transfer type is already taking place.
3711H The backplane task could not be registered because the message response handler was not specified.
The backplane task could not be registered because the unsolicited mailbox message handler was not
3811H
specified.
3911H The backplane task could not be registered because a required parameter was not specified.
3D11H Response length does not match length specified in the response qualifier.
3E11H Request failed because the PLC’s Service Request Processor is not initialized.
3F11H Request failed due to an error in the remote device, most likely running out of Dual-Port RAM text buffers.
4011H Unable to free dual port memory that was allocated for a connection or block transfer area.
4111H The backplane task could not be registered because the service request handler was not specified.
4211H No dual port memory was allocated for the connection or block transfer area needed to process the request.
4311H Failure to register with backplane driver because the requested task is already registered.
4411H Request failed because an invalid field was identified in the request mailbox qualifier.
E811H Unable to send request to the PLC because an internal message queue is full.
E911H Unable to send request to the PLC because the text buffer type is invalid.
EA11H Unable to send request to the PLC because the mailbox utility function is invalid.
EC11H Unable to send request to the PLC because the internal message queue is not initialized.
FE11H Request failed due to mailbox error on remote device. The remote device log will have more information.
Request failed due to an invalid parameter detected in the remote device. The remote device log will have
2F11H
more information.
3011H The specified task is not registered.
3111H Failure to register with backplane driver because the requested task is already registered.
3211H Unable to find resource necessary for backplane driver to process a service request.
3311H Bad sequence number detected in the service request because it is already in use.
3411H Invalid data detected that prevents backplane driver from completing a request.
4C11H Error detected while attempting to receive mailbox messages from the PLC.
Period expired before transfer completed; still waiting on transfer. Itcan also occur when an Ethernet gatewa
0290H is configured on the Ethernet interface and a SRTP or Modbus TCP channel command is sent to an
unreachable server. Also refer to the description for error code AA90H.
9390H COMMREQ data block too short for Program Block name (including 0 pad).
9490H COMMREQ data block too short for Program name (including 0 pad).
Internal API error. See Controller Fault Table or exception log for details. This problem may occur due to the
9590H Ethernet Interface being asked to perform beyond its capacity. Try transferring less data per message or
establishing fewer simultaneous connections.
A390H Reserved.
A490H Reserved.
A590H Reserved.
A690H Invalid bit mask.
A790H Unable to connect to remote device.
A890H Channel Resources in Use. Try the command again; a resource will become available.
A990H “Establish Read/Write/Send Info Report Channel” COMMREQ was received while an Abort was in progress.
An attempt to establish a TCP connection with a Remote Server has failed. Check the following:
AC90H A protocol error occurred while communicating with the local PLC.
AD90H A TCP Timeout occurred while communicating with the Remote PLC.
AE90H A protocol error occurred while communicating with the local PLC.
B490H The channel that the application is trying to open is already open.
B590H The channel the application is trying to access is owned by a different protocol.
(Redundancy only) COMMREQs commands are not allowed when Redundant IP address is not active at thi
C090H
Ethernet interface.
FF90H Abort in Progress on a Channel
Illegal Data Address. The data address received in the query is not an allowable address for the server. The
0291H combination of reference number and transfer length is invalid. (Modbus exception code 02 ILLEGAL DATA
ADDRESS)
Illegal Data Value. A value in the query field is not an allowable value for the server. This indicates a fault in
the remainder of the request, such as that the implied length is incorrect. It specifically does NOT mean that
0391H
data item submitted for storage in the server has an incorrect value. (Modbus exception code 03 ILLEGAL
DATA VALUE)
Slave Device Failure. An unrecoverable error occurred while the server was attempting to perform the
0491H
requested action. (Modbus exception code 04 SLAVE DEVICE FAILURE)
Acknowledge. Used for Programmer operations only. Our Modbus/TCP server does not support Modbus
0591H
programmer operations. (Modbus exception code 05 ACKNOWLEDGE)
Slave Device Busy. The server is unable to accept and process handle this Modbus request. (Modbus
0691H
exception code 06 SLAVE DEVICE BUSY)
Negative Acknowledge. An internal server error occurred while attempting to process a Modbus request.
0791H
(Modbus exception code 07 NEGATIVE ACKNOWLEDGE)
Memory Parity Error. (Function codes 20 and 21 only.) The extended file area failed to pass a consistency
0891H
check. (Modbus exception code 08 MEMORY PARITY ERROR)
Gateway Path Unavailable. Gateway was unable to allocate a PATH to process the request. Usually means
0A91H
the gateway is misconfigured or overloaded. (Modbus exception code 10 GATEWAY PATH UNAVAILABLE)
Gateway Target No Response. No response was obtained from target device. Usually means that the device
0B91H
is not present on the network. (Modbus exception code 11 GATEWAY TARGET NO RESPONSE)
09A0H Internal resource error at remote device (memory allocation failed, etc.)
14A0H Data length or contents are invalid for transfer according to the data type of that variable at remote device.
15A0H Response message would exceed max response size (1400 bytes).
50A0H The remote server detected an unsupported protocol version in the request.
51A0H The remote server did not recognize the requested command.
52A0H The remote server detected a configuration time mismatch in the request.
The remote server detected that the request was not a valid RDS message. The RDS_Header bit (required
53A0H
by RDS version 2.01 and higher) was not set.
Attempt to establish a second session to a remote server. Only one session at a time is permitted between
54A0H
this device and each remote server.
EGD signature mismatch in the midst of a run mode store. Retry your COMMREQ after updates to the targ
56A0H
device are complete.
The statistics data for each exchange has the following information:
Exchange – the name of the exchange as it is stored in the EGD configuration server.
Configuration Time – the date and time that the configuration for the exchange was
created.
Due Time – the date and time that a sample is due. For a produced exchange, this is the
time that the next sample will be produced. For a consumed exchange, this is the time at
which the exchange will time out if data is not received.
Status – information about the status of the exchange. For a produced exchange, status
will be Producing if the exchange is actively being sent to the network and Pending if the
exchange is defined but not producing. A Pending status in a PACSystems exchange may
indicate that the controller has its I/O disabled thus stopping the production of EGD. For a
consumed exchange, status will be Healthy if no timeout has occurred for the exchange
and Unhealthy if the exchange is timed out.
Length – the byte size of the data for the exchange.
Message Count – the number of samples transferred on the exchange.
Missed Count – the number of samples that were missed on the exchange. Missed
samples may indicate issues with the underlying Ethernet network or overloading of the
consuming device.
Refresh Errors – the number of timeouts that have occurred for a consumed exchange.
Note The rack-based Ethernet modules use the Backplane Communications Window.
The RX7i embedded Ethernet daughterboard uses the Controller Communications
Window.
• SRTP Channel timeout errors (COMMREQ Status 0190H or 0290H at the client)
• EGD Command timeout errors (COMMREQ Status 0190H at the client)
• EGD consumed exchange refresh errors (Exchange Status 6 or 7).
Application timeout errors can happen for several reasons, including:
• Incorrect destination device address, or destination device not on the network. The
communication service cannot be performed.
Verify that the destination device address is correct and that the destination device is
functioning properly. Ping the destination device to check that it is present on the
network.
• The network throughput cannot keep up with the traffic generated by the application.
This condition can occur when the intervening network components between the
application devices cannot handle the volume of network traffic, causing network
packets to be dropped.
For SRTP, this causes TCP retransmissions; repetitive retransmissions can slow the
SRTP responses enough that the client detects an application timeout error.
For EGD, this causes samples to be dropped. If the consumer misses enough samples,
it detects a consumer timeout error; when that exchange subsequently receives
samples, the consumer may detect a Data with Refresh error.
This condition typically arises when intermediate network routers or switches lack
the buffering or processing capacity to handle the network load. Reduce the volume
of traffic on the network, or identify and upgrade the network component(s) that are
unable to handle the traffic volume. Consult you network administrator for
assistance.
• The SRTP channel timeout and period include the time required to establish the TCP
connection. It is important to consider the connection time when configuring these
values. If more than one SRTP channel is being established and the PACSystems
server has just been restarted or updated with a new hardware configuration, the
channel timeout and period should be more than one second. This allows sufficient
time for the high level of TCP traffic required to establish new network connections.
When first establishing a channel, a channel timeout lower than one second may
If the consumer wishes to ignore certain portions of a consumed exchange, be sure that
the length of the ignored portions is correct. The ignored portion is specified as a byte
count.
• IP Addressing
• Gateways
• Subnets and Supernets
13.1 IP Addressing
Each TCP/IP node on a network must have a unique IP address. The TCP/IP Ethernet
Interface is such a node, as is a computer running TCP/IP. There may be other nodes on
the network that are not involved with communications to the PLCs, but no matter what
their function, each TCP/IP node must have its own IP address. It is the IP address that
identifies each node on the IP network (or system of connected networks). The term
“host” is often used to identify a node on a network.
01 8 16 24 31
Class A 0 netid hostid
01 8 16 24 31
Class B 1 0 netid hostid
01 2 8 16 24 31
Class C 1 1 0 netid hostid
128 - 191 B
192 - 223 C
224 - 239 D (Reserved for Multicast Use)
IP 192.168.0.5
Subnet Mask 255.255.255.0
Gateway 192.168.0.250
LAN1 and LAN2 on the CPE330 are initially configured with following problematic IP
parameters:
LAN1 LAN2
IP 10.10.0.1 192.168.0.1
Subnet Mask 255.255.255.0 255.255.255.0
Gateway 10.10.0.249 0.0.0.0
The user intends to communicate between the remote device and CPE330 LAN1 (Refer to
the figure, Expected Response Path). IP Address routing allows the CPE330 to receive the
remote IP requests through the respective gateways (192.168.0.250 for the remote node
and 10.10.0.249 for CPE330 LAN1). However, since CPE330 LAN2 shares the same IP
subnet as the remote network (192.168.0.x), responses may be routed to the local
192.168.0.x network rather than to the remote network (Refer to the figure, Actual
Response Path).
The duplicate IP subnet in the example must be eliminated. One way to do this is simply
change the IP Address assigned to CPE330 LAN2 from 192.168.0.1 to 192.168.1.1
thereby creating a non-overlapping 192.168.1.x network. In short, consider the totality of
the network when assigning IP subnets and IP Addresses.
A
172.16.0.1
Network 1
172.16.0.2
G Gateway
172.17.0.3
B C
172.17.0.1 172.17.0.2
Network 2
Gateway Connected to Two Networks
When host B with IP address 172.17.0.1 communicates with host C, it knows from C’s IP
address that C is on the same network. In an Ethernet environment, B can then resolve C’s
IP address to a MAC address (via ARP) and communicate with C directly.
When host B communicates with host A, it knows from A’s IP address that A is on
another network (the netids are different). In order to send data to A, B must have the IP
address of the gateway connecting the two networks. In this example, the gateway’s IP
address on Network 2 is 172.17.0.3. This address would be configured in the Ethernet
Interface’s module configuration for PLC B as its default gateway address.
Note that the gateway has two IP addresses (172.16.0.2 and 172.17.0.3). The first must be
used by hosts on Network 1 and the second must be used by hosts on Network 2. To be
usable, a host’s gateway must be addressed using an IP address with a netid matching its
own.
Inside a site the subnet mask is used to re-divide the IP address into a custom netid
portion and hostid portion. Consider adding another physical network to Network 2 (a
Class B network) in the previous example. The result is shown in the following figure.
Selecting the subnet mask shown below would add two additional netid bits allowing for
four physical networks addressed as 0, 64, 128, and 192. The added subnet bits are
normally taken from the hostid bits adjacent to the netid and the subnet mask identifies
these bits.
The bits in the subnet mask correspond one to one with the Internet address. The bits in
the mask that are 1 treat the corresponding bits in the IP address as part of the netid bits.
The bits in the mask that are 0 treat the corresponding bits as part of the hostid bits
In effect, two bits of the Class B hostid have been used to extend the netid, creating an
extended netid, or subnetid. Each unique combination of bits in the part of the hostid
where subnet mask bits are 1 specifies a different physical network.
Network 1 172.16.0.2
G1 Gateway
B C
172.17.64.3
172.17.64.1 172.17.64.2
(Sub)Network 2.1
172.17.64.4
D G2 Gateway
E
172.17.128.3
172.17.128.1 172.17.128.2
(Sub)Network 2.2
Network 1
10.0.116.2
G Gateway
10.0.117.3
B C
10.0.117.1 10.0.117.2
Network 2
Resulting Supernet
Note The RX3i CPE305/CPE310 embedded Ethernet interface does not support the full
set of AUPs described in this chapter. For a list of AUPs supported by the RX3i
embedded Ethernet interface, refer to the section AUPs Supported by RX3i
CPE305/CPE310 Embedded Ethernet Interface in this Appendix.
Note The RX3i CPE330 Release 8.60 adds support for the following EGD AUP
parameters via the Embedded Ethernet interface’s hardware configuration:
gp_phase – startup delay time (in msec) for successive produced exchanges.
gnostale – handling of stale consumed exchanges:
0 = send stale status to application
1 = do not send stale status to application.
gucast_ttl – TTL for unicast messages
gmcast_ttl – IP time-to-live for LAN1 host group (multicast) messages (hop count). New
parameter that replaces the gXX_ttl for each multicast group on LAN 1.
gmcast_ttl2 – IP time-to-live for LAN2 host group (multicast) messages (hop count). New
parameter.
gXX_addr – Multicast group IP address for LAN 1. New parameter.
gXX_addr2 - Multicast group IP address for LAN 2. New parameter.
Note CPE330 does not support AUP file. All of the configurable AUP parameters for the
CPE330 are part of the Embedded Ethernet interface’s hardware configuration in PME.
Note If the speed and duplex mode of a port are forced using Advanced User
Parameters, the switch will no longer perform automatic cable detection. This means that
if you have the switch port connected to a switch or hub port you must use a crossover
cable. If you have the switch port connected to the uplink port on a switch or hub or if
you have the switch port connected to another Ethernet device you must use a normal
cable.
Note This format is not used for the CPE330. AUP parameters are located in the PME
Ethernet configuration.
• The first line of the file must consist only of the text: AUP_r_s where r and s
indicate the Rack and Slot location of the Ethernet Interface (or, for an embedded
Ethernet interface, the location of the CPU module).
(For example, an Ethernet Module in rack 0, slot 11 would be indicated as AUP_0_
11.
This is intended as a convenient way to differentiate AUP files for different modules.
Any rack and slot number will do, so that the same AUP file can be imported for use
by multiple Ethernet interfaces if desired.
• All parameter names are lowercase. The equal sign (=) is required between the
parameter name and parameter value.
• Spaces are allowed, but not required, between the parameter name and the equal
symbol (=) and between the equal symbol and the parameter value.
• Character string values are case-sensitive; as with Station Manager commands,
uppercase parameter values must be enclosed within a pair of double quotes.
• Numeric parameters are entered in decimal or hexadecimal format; hexadecimal
values must be terminated with an 'h' or 'H' character.
• IP addressing parameters must be entered in standard dotted decimal format.
• Comments in the file must start with a semicolon character. All characters in the
same line following a semicolon are ignored.
• Blank lines are ignored.
• The maximum line length in the AUP file is 80 characters. Any line, including
comments, that exceeds this length will cause errors in processing.
Example:
The following example sets the station manager password to system and the IP
time-to-live for point-to-point Ethernet Global Data exchanges to four.
AUP_0_1
stpasswd = “system” ; set the password to “system”
gucast_ttl=4 ; set the EGD unicast IP TTL to 4
Note The RX3i CPE305/CPE310 embedded Ethernet interface does not support all
AUPs listed. AUPs that can be used with CPE305/CPE310 are indicated by a footnote.
Other PACSystems Ethernet interfaces support the use of all AUPs listed in the following
table.
stpasswd† Station Manager password (only visible “system” 0 – 8 characters, case sensitive, no
from MODIFY prompt) spaces
† Supported by RX3i CPE305 and CPE310 models.
gdata_port UDP port for point-to-point (unicast) 18246 (4746H) 1 – 65535 (ffffH)
EGD messages Only the gdata_port and gXX_udp
parameters may share the same UDP
port number. All other UDP port
number parameters in the AUP file
must use unique port numbers.
gXX_udp UDP port for host group XX 18246 (4746H) 1 – 65535 (ffffH)
Only the gdata_port and gXX_udp
parameters may share the same UDP
port number. All other UDP port
number parameters in the AUP file
must use unique port numbers.
gXX_ttl deprecated
CPU/CPE firmware release 8.60
removes support for this parameter.
Note If you configure different values for EGD exchanges with Unicast and Broadcast
destination types, the largest value will be used for all Unicast and Broadcast exchanges.
If you configure multiple gXX_ttl values for different Multicast exchanges, the smallest
value among the configured parameters will be used for all exchanges. This applies only
to PACS Ethernet Interface modules.
ndst_start_ day The day of the week when DST begins. None 1–7
1 = Sunday
7 = Saturday
ndst_start_ time The time, in hours and minutes, when None 0:00 – 23:59
DST begins.
ndst_end_ time The time, in hours and minutes, when None 0:00 – 23:59
DST ends.
wkal_idle† TCP keepalive timer value (in seconds) 240 (4.0 min) 1 − 65535 (ffffH)
wsnd_buf† TCP send buffer size (in bytes) 65535 (ffffH) 0 − 65535 (ffffH)
wrcv_buf† TCP receiv1e buffer size (in bytes) 4096 (1000H) 0 − 32767 (7fffH)
† Supported by RX3i CPE305 and CPE310 models.
Note When explicitly configuring speed or duplex mode for an RX3i embedded Ethernet
port using Advanced User Parameters (AUP), do not request a store to flash as a part of
the download when communicating over the CPE305/CPE310 embedded Ethernet port.
In this situation you first must store to the RX3i and then initiate a separate request to
write to flash.