Ethernet P3 User Manual

Chapter
Chapter
Chapter
CommuniCations
6
6
6
In This Chapter...
Communications: Capabilities ................................................................................... 6-3
Communication Ports ............................................................................................... 6-3
Communications: Connectivity ............................................................................... 6-11
Communication Ports ............................................................................................. 6-11
Communications ASCII and Custom Protocol Functionality .................................. 6-17
ASCII Instructions ................................................................................................... 6-17
Custom Protocol Instructions ................................................................................. 6-18
Communications: Ethernet ...................................................................................... 6-20
TCP and UDP Port Numbers .................................................................................. 6-20
IP Addressing and Subnetting ................................................................................ 6-20
PC Setup ................................................................................................................ 6-21
CPU Setup .............................................................................................................. 6-22
TCP Connection Behavior with Modbus TCP and Network Instructions ................. 6-23
Communications Modbus Functionality ................................................................. 6-24
Master/Client Function Code and Data Type Support ............................................ 6-24
Slave/Server Function Code and Data Type Support .............................................. 6-26
Assigning Modbus Addresses to Tags ..................................................................... 6-27
Modbus Options .................................................................................................... 6-30
Modbus Instructions ............................................................................................... 6-33
Network Instructions .............................................................................................. 6-35
Automatic Poll versus Manual Polling and Interlocking ........................................... 6-36
Message Queue ...................................................................................................... 6-38
EtherNet/IP for the Productivity Series ................................................................. 6-39
Terminology Definitions ......................................................................................... 6-39
Network Layer Chart .............................................................................................. 6-40
EtherNet/IP Data .................................................................................................... 6-40
Chapter 6: Communications
Productivity
3000
Class 1 and Class 3 Connections ............................................................................ 6-41
Example Setup: Productivity3000® as EtherNet/IP Adapter ..................................... 6-41
Troubleshooting Tips: ............................................................................................. 6-47
Ethernet IP I/O Message Troubleshooting: .............................................................. 6-49
Ethernet IP Explicit Message Troubleshooting: ........................................................ 6-49
Communications: Remote I/O and GS-Drives ........................................................ 6-50
Things To Consider for the design of Remote I/O and GS-Drives ............................ 6-50
Configuration of Remote Slaves .............................................................................. 6-51
Configuration of GS-Drive Connections .................................................................. 6-54
Communications: Port Configuration ..................................................................... 6-58
Ethernet Configuration ........................................................................................... 6-58
External Ethernet Port Settings ............................................................................... 6-59
Local Ethernet Port Settings.................................................................................... 6-60
Remote Access Configuration ................................................................................. 6-60
Serial Configuration ................................................................................................ 6-61
RS-232 and RS-485 Port Settings ............................................................................ 6-61
Communications: Error Codes ................................................................................ 6-64
P3000 EtherNet/IP Error Codes ............................................................................. 6-65
ii
NOTE: The P3-RS module is discontinued as of 6/20. Please use P3-RX as a replacement.
Productivity
3000

Communications: Capabilities

Communication Ports

The AutomationDirect P3000 CPUs are provided with several Communications Ports. Each of these ports are described in the sections below.
a. USB IN: The USB IN
programming port is a USB Type B style connector located on the upper left side of the CPU. It is used exclusively for connecting to a PC running the Productivity Suite Programming Software. Installing the programming software will install the USB driver as well. See Communications: Connectivity section for connection information.
Chapter 6: Communications
NOTE: The USB IN port is NOT compatible with older 1.0/1.1 full speed USB devices.
b. Ethernet: The Ethernet port is 10/100
Base-T Ethernet with an RJ-45 style connector. It is used for:
Connection to a PC running the Productivity Suite programming software.
Modbus TCP Client connections (Modbus requests sent from the CPU).
Modbus TCP Server connections (Modbus requests received by the CPU).
Outgoing Email.
Modbus TCP Client connections: The
CPU can connect to 32 Modbus TCP server devices concurrently by means of communications instructions in the ladder program (MRX, MWX, RX, WX). It is possible to connect to more than 32 Modbus TCP server devices, but not concurrently.
This is accomplished by having communications instructions for more than 32 devices in the
ladder program and controlling the enabling and disabling of the instructions so that only 32 devices are enabled at a given time. To connect to non Productivity3000 (Modbus Read) and MWX (Modbus Write) instructions. To connect to other P3000 CPU’s, use the RX (Network Read) and WX (Network Write) instructions.
Modbus TCP Client (MRX-MWX)
P3-550(E)
®
devices, use the MRX
6-3
Chapter 6: Communications
Productivity
The greatest difference between the RX and the MRX is the RX Tag Name in the target CPU
can be referenced directly and does not need a corresponding Modbus address. The way this is accomplished is by mapping local and remote tagnames together within the local CPU’s RX instruction. Once the instruction is set up to read a remote project, the “Tags of Remote Project” or “Array Tags of Remote Project” drop down lists will be accessible. Map the Tag of the Remote project to a Tag in the Local project to read this data.
Modbus TCP Server connections: The
CPU can serve data back to 32 Modbus TCP Client devices concurrently. If 32 Modbus TCP Client devices are connected to the CPU, then any new TCP connection requests will be denied until one of the existing 32 devices drops its connection. If the Client device connecting to the CPU is not a Productivity3000 a Modbus address must be assigned to the tag that is being requested. This is done in the Tag Database window. If the device connecting to the CPU is another P3000 CPU or C-more panel, no Modbus address is required. See Communications Port Configuration for port configuration, Communications: Connectivity section for connection information and Communications: Ethernet section for Ethernet set up.
c. Remote I/O: The Remote I/O port
is 10/100Base-T Ethernet with an RJ-45 style connector. It is used for connecting to a Remote I/O network consisting of P3-RS or P3-RX Remote Slaves and/or GS-EDRV100 units with GS-drives.
Remote Slaves: The P3-550(E) and
P3-550E CPUs can connect with up to 16 P3-RS/RX Remote Slaves. The P3-550(E)/E will auto detect all P3-RS/ RX units that are configured with unique station addresses (by means of two rotary switches on the front of the module). The configuration can be managed in the Hardware Configuration in the Productivity Suite Programming Software. See Communications Remote I/O and GS Drives for configuration information and Communications: Connectivity section for connection information.
®
device, then
Modbus TCP Client (RX-WX)
Remote I/O Slaves
6-4
3000
Chapter 6: Communications
Productivity
3000
Remote GS1 (GS-EDRV100)
GS Drive Devices: The P3-550(E) CPU
can connect to up to 32 GS-EDRV100 Modules. The P3-550(E) will auto detect all GS-EDRV100 modules that have a unique address (configured by the bank of dipswitches on the module). The configuration can be managed in the Hardware Configuration in the Productivity Suite programming software. See Communications: Remote I/O and GS Drives section for configuration information and Communications: Connectivity section for connection information.
d. USB OUT: The USB OUT data port
is the upper port of two USB 2.0 Type A connectors on the CPU. The USB OUT port uses a SDCZ4-2048-A10 Pen Drive (may work with other pen drives) for data logging only in the P3-530 or for data logging and project transfers in the P3-550(E).
NOTE: The USB OUT port is NOT compatible with older 1.0/1.1 full speed USB devices.
P3-550
Stride
Ethernet
Switch
USB Removable Storage Drive
Node 1
Node 2
Up to
Node 32
Project Transfer (P3-550(E) only): For
security, this feature is disabled by default when creating a new project. It can be enabled in the Hardware Configuration panel for the P3-550(E). Once enabled, projects may be transferred between a CPU and Removable Storage Device, or between a Removable Storage Device and PC. Files stored on the Removable Storage Device by a P3-550(E) or the Productivity Suite programming software are stored under a default name, so only one project may be handled at a time on a Removable Storage Device. Existing projects on the Removable Storage Device will be overwritten without a prompt.
Data Logging: The Data Logger tool allows setup of periodic or event-based data logging of tag
and System Errors to the Removable Storage Drive. Data Logger setup is accessed under the Monitor & Debug Menu. See Communications: Connectivity section for more information.
6-5
Chapter 6: Communications
Productivity
e. EXP I/O OUT: The Expansion I/O port is the lower port
of two USB 2.0 Type A connectors on the CPU. The EXP I/O Out port is only used for connections to local P3-EX modules in a Productivity3000 I/O is treated as local I/O by the CPU and is completely scan­synchronous. The I/O is automatically detected on power up.
CAUTION: This port is ONLY for Expansion I/O. The signal pins on this port are NOT standard USB. DO NOT USE A USB REPEATER TO EXTEND THE RANGE OF THIS PORT. See Communications Connectivity for more information.
®
base with I/O. Expansion
P3-EX Expansion Network
6-6
f. RS-232: The RS-232 port is an
RJ-12 connector located on the right side of the CPU. This port can be used for:
Modbus RTU Master connections.
• Modbus RTU Slave connections.
• ASCII Incoming and Outgoing communications.
• Custom Protocol Incoming and Outgoing communications.
Modbus RTU Master connections: The RS-232 port is intended to be used for point-to-point connections but it is possible to connect up to 128 devices on a network if a RS-232 to RS-485/422 converter is connected to the port (such as a FA-ISOCON). This is accomplished by using the communications instructions in the ladder project (MRX, MWX, RX, WX). If 4-wire RS-485 or RS-422 communications is needed, using this port with an FA-ISOCON is the best method. See Communications: Connectivity section for more information.
3000
RS-232 Modbus RTU Master Network Topology
Productivity
3000
Modbus RTU Slave connections: The RS-232 port is intended to be used for point-to-point connections but it is possible for the RS-232 port to be used on a Modbus RTU network by using a RS-232 to RS-485/422 converter. The port is addressable in the Hardware Configuration in the Productivity Suite programming software. It is important to note that the RS-232 port cannot be a Modbus RTU master and slave concurrently. If the port is set to Modbus RTU and there are no communications instructions (MRX, MWX, RX, WX) in the project, the CPU will automatically respond to Modbus requests from a Modbus master. See Communications: Connectivity section for more information.
Chapter 6: Communications
RS-232 Modbus RTU Slave Network Topology
ASCII Incoming and Outgoing communications: The RS-232 port can be used for sending and receiving non-sequenced String data. This feature is typically used for receiving bar code strings from a scanner or sending statistical data to a terminal or serial printer using the ASCII IN and ASCII OUT instructions. See Communications: Connectivity section for more information.
RS-232 ASCII In Communication
RS-232 ASCII In Communication
6-7
Chapter 6: Communications
Productivity
Custom Protocol Incoming and Outgoing communications: The RS-232 port can be used for sending and receiving non-sequenced byte arrays to various devices. This function is typically used for communicating with devices that don’t support the Modbus protocol but have another serial communications protocol. This is accomplished by using the Custom Protocol In and Custom Protocol Out instructions. The RS-232 port is intended to be used for point-to-point connections but it is possible for the RS-232 port to be used on a multi­node network by using a RS-232 to RS-485/422 converter. See Communications: Connectivity for more information.
g. RS-485: The RS-485 port is a 3-pin removable terminal block. The RS-485 port can be used for:
Modbus RTU Master connections.
Modbus RTU Slave connections.
ASCII Incoming and Outgoing communications.
Custom Protocol Incoming and Outgoing communications.
Modbus RTU Master connections: The RS-485 network port is used for multi-node networks. The CPU can connect to 128 Modbus RTU slave devices on a network. This is accomplished by using the communications instructions in the ladder project (MRX, MWX, RX, WX). See Communications: Connectivity section or more information.
RS-232 Custom Protocol In and Out
6-8
3000
RS-485 Modbus RTU Master Network Topology
Chapter 6: Communications
Productivity
3000
RS-485 Modbus RTU Slave Network Topology
Modbus RTU Slave connections:
The RS-485 network port is used for multi-node networks. The port is addressable in the Hardware Configuration in the Productivity Suite programming software. If the port is set to Modbus RTU and there are no communications instructions (MRX, MWX, RX, WX) in the project, the CPU will automatically respond to Modbus requests from a Modbus master. See Communications Connectivity for more information.
ASCII Incoming and Outgoing communications: The RS-485 port can be used for sending and
receiving non-sequenced String data. If long distances are required between the ASCII device and the CPU, the RS-485 port is the better selection because of its increased distance support (1,000 meters). ASCII communications are typically used for receiving bar code strings from a scanner or sending statistical data to a terminal or serial printer using the ASCII IN and ASCII OUT instructions. See Communications: Connectivity section for more information.
RS-485 ASCII In Communication
RS-485 ASCII Out Communication
6-9
Chapter 6: Communications
Productivity
Custom Protocol Incoming and Outgoing communications: The RS-485 port can be used for
sending and receiving non-sequenced byte arrays to various devices. This function is typically used for communicating with devices that don’t support the Modbus protocol but have another serial communications protocol. If long distances are required between the device and the CPU, the RS-485 port is the better selection because of its increased distance support (1,000 meters). This feature is accomplished by using the Custom Protocol In and Custom Protocol Out instructions. See Communications: Connectivity section for more information.
RS-485 Custom Protocol In and Out
6-10
3000
Productivity
3000

Communications: Connectivity

Communication Ports

The AutomationDirect P3000 CPUs are designed with several Communications Ports, seven communications ports on the P3-550, six on P3-550E, and five communications ports on the P3-530. The connectivity for each of these ports is described in the sections below. The Communication Ports available are:
a. USB IN Port (P3-550
only): Programming port with a USB Type B female connector.
This port requires a USB Type A-B cable (such as the P3-EX-CBL6 cable).
Chapter 6: Communications
The USB Port is the simplest method of connecting the Productivity Suite programming software to the P3-550 CPU. After the programming software has been installed, connect a USB A to B cable from the PC to the CPU. Once the software has been opened, click on CPU and select the “Choose CPU” option. The dialog shown below will appear.
Highlight the CPU listed in the dialog box and click on “Connect”. No configuration is required.
NOTE: The USB IN port is NOT compatible with older 1.0/1.1 full speed USB devices.
6-11
Chapter 6: Communications
Productivity
b. Ethernet Port: Programming and Modbus TCP Client/Server port with 10/100 Base-T
Ethernet RJ45 connector.
General Information:
Crossover cables can be used to directly connect two endpoint Ethernet devices such as a
PC network interface card and the CPU. Patch (or Straight-through) cables are used to connect an endpoint Ethernet device to an Ethernet switch.
The maximum distance for one cable or segment is 100 meters (328 feet). If the
distance required between 2 devices is greater than 100 meters, add an Ethernet switch to extend the distance. An Ethernet switch can be added every 100 meters (or less) almost indefinitely. Each Ethernet switch added will incur some latency (actual amount differs between switches and manufacturers). So if a very long distance is needed between 2 Ethernet devices, it may be better to convert to fiber optics.
The External Ethernet Port can be used as a programming port, a Modbus TCP Client
port, a Modbus TCP Server port, or to communicate to other P3000 CPUs. The External Ethernet Port can also be used to send emails using the EMAIL instruction.
Create a Connection:
To communicate with the Productivity Suite programming software, connect a crossover
Ethernet cable from the PC to the CPU External Ethernet Port or connect a patch (straight-through) Ethernet cable from the PC to an Ethernet switch and another patch cable from the Ethernet switch to the External Ethernet Port. Once the software has been opened, click on CPU and select the “Choose CPU” option. The dialog shown below will appear.
6-12
3000
Chapter 6: Communications
Productivity
3000
Highlight the CPU that you wish to connect to and press the “Connect” button. You may
see CPUs that are not on the same subnet as your PC within the CPU Connections dialog box, but this does not mean you can connect to them. To connect to the CPU, you must configure either your PC or your CPU to be in the same subnet. You can easily change the Ethernet settings of the CPU by highlighting it and selecting the “Change CPU IP/Name” button (shown below). Or if you prefer, the PC Setup section of this chapter contains information on configuring the Ethernet settings of your PC.
c. Remote I/O Ethernet Port (P3-550(E) only): P3-RS/RX Remote Slave and/or
GS-EDRV100 Drive Ethernet RJ45 connector.
Crossover cables can be used to directly connect endpoint Ethernet devices and the CPU.
For example, connecting a P3-RS or P3-RX Remote Slave Module to the P3-550(E) CPU. Patch (or Straight-through) cables are used to connect an endpoint Ethernet device to an Ethernet switch.
The maximum distance for one cable or segment is 100 meters (328 feet). If the
distance required between 2 devices is greater than 100 meters, add an Ethernet switch to extend the distance. An Ethernet switch can be added every 100 meters (or less) almost indefinitely. Each Ethernet switch added will incur some latency (actual amount differs between switches and manufacturers). So if a very long distance is needed between 2 Ethernet devices, it may be better to convert to fiber optics.
The Remote I/O Ethernet Port is used to communicate to the Remote I/O Network,
consisting of Remote Slave bases (P3-RS/RX modules) and GS Drives with a GS-EDRV100 Ethernet module. It is highly recommended that the network attached to this port be isolated from other networks and it is absolutely necessary that it be isolated from other Remote I/O networks. See Remote I/O and GS Drives topic for details.
6-13
Chapter 6: Communications
Productivity
NOTE: USB Project Transfers are NOT supported by the P3-530 CPU.
d. USB OUT Port: USB Port for Data logging or
project transfer with USB 2.0 Type A connector.
This Port serves two purposes: Data logging with
the P3-530 or data logging and project transfers
with the P3-550(E), require a SDCZ4-2048-A10
Removable Storage Device (may work with other
pen drives).
NOTE: The USB OUT port is NOT compatible with older 1.0/1.1 full speed USB devices.
Data logging is set up in the Productivity Suite Programming Software Data Logger
configuration window. See Data Logger Memory section of the previous chapter for setup
instructions.
6-14
Project Transfer to and from a USB drive can be accomplished several different ways:
Transfer project to USB Drive from PC programming software.
Transfer project from USB Drive to PC programming software.
Transfer project from USB Drive to P3-550(E) CPU.
Transfer project from P3-550(E) CPU to USB Drive.
NOTE: You must first select the “Enable project transfer to/from USB drive” checkbox in the P3-550(E) CPU Module Configuration.
NOTE: Before transferring a project to the CPU via USB pen drive, ensure that you are NOT connected with the programming software either by USB or Ethernet. If you attempt the transfer with the software connected via USB or Ethernet, a PACCON Error will appear on the LCD of the P3-550(E).
3000
Chapter 6: Communications
Productivity
3000
To transfer a project to or from a USB Drive from the PC programming
software, insert the USB Drive into a USB Port on the PC. Go to File and Transfer Project and select To USB Drive or From USB Drive.
To transfer a project to or from a USB Drive on the P3-550(E) CPU, press
Menu on the CPU display LCD and scroll down to the M8USB DRV option as seen on right.
Select “>SAVE->PEN” to load the project that is currently on the CPU down
to the connected USB Drive.
Select “>LOAD->CPU” to load the project that is currently on the USB Drive
to the CPU.
e. Expansion I/O OUT Port: Expansion I/O Port with USB 2.0 Type A connector.
CAUTION: The Expansion I/O Port is ONLY for connecting to other Productivity3000® I/O bases with a P3-EX module in the CPU slot. This port is not a standard USB A port. Note that in the diagram above, pin 1 is used for the System Reset signal and is not the typical +5VDC VBUS signal on most USB A ports. DO NOT USE EXTENDERS, CONVERTERS OR HUBS OF ANY SORT ON THIS PORT. A P3-EX-CBL6 cable ships with each P3-EX Module. It is not recommended to use any cable other than the one supplied.
After this connection is made, power cycle the system and the CPU will automatically detect the
expansion I/O units. They can be used once the Hardware Configuration has been read into the programming software. Up to 4 expansion I/O bases may be added to a CPU.
f. RS-232 Port: Serial RS-232 multipurpose communications port with RJ12 connector.
The RS-232 Port can be connected to Modbus RTU master or slave devices, as well as devices
that output non-sequenced ASCII strings or characters. The manner in which these devices are wired to the CPU depends whether the device is considered to be DTE (Data Terminal Equipment) or DCE (Data Communications Equipment).
If two DTE devices are connected together, the RX and TX signals should cross or the RX of one device should go to the TX of the other device and the TX of one device should go to the RX of the other device (as shown below).
6-15
Chapter 6: Communications
Productivity
The CPU is considered a DTE device. Most Modbus or ASCII devices being connected to the
CPU will also be considered a DTE device and will need to swap TX and RX, but you should
always consult the documentation of that device to verify. If a communication device, such as
a Modem, is placed between the CPU and another Modbus or ASCII device it will most likely
require connecting the signals straight across (TX to TX and RX to RX). Again, this can differ
from manufacturer to manufacturer so always consult the documentation before wiring the
devices together.
The RTS signal on pin 5 of the RS-232 Port will turn on when the TX signal is turned on and
the RTS signal will turn off when the TX signal turns off. The amount of time that the RTS
signal turns on before the TX signal turns on and the amount of time that the RTS signal waits
before turning off after the TX signal turns off is adjustable in the P3-550(E) or P3-530 CPU
Module Configuration for the RS-232 Port. The RTS signal is very often required for media
converters, such as a RS-232 to RS-422/485 converter (much like the FA-ISOCON).
The RTS signal is sometimes required for use with Radio modems as well (Key on and off
control).
There is also +5VDC @ 210mA on pin 2 available for powering an external device such as the
C-more Micro panel.
g. RS-485 Port: Serial RS-485 multipurpose communications port with removable 3-pin
connector.
6-16
The RS-485 Port is useful for connecting multiple Modbus and ASCII devices on one network
and/or connecting devices to the CPU at distances greater than 50 feet (RS-232 limit). The
RS-485 standard supports distances of up to 1000 meters without requiring a repeater. The
RS-485 Port on the CPU can support up to 50 devices, depending on each device’s load (this
assumes a 19K Ohm load for each device). This number can be increased by placing an RS-485
repeater on the network, if necessary.
This port only supports RS-485 2-wire connections. For 4-wire RS-485 or RS-422, a converter,
such as an FA-ISOCON, should be used with the RS-232 Port.
A 120 Ohm resistor is required at each end of the network for termination.
3000
Chapter 6: Communications
Productivity
3000

Communications ASCII and Custom Protocol Functionality

Besides Modbus RTU, there are two additional functions supported on the serial ports in the Productivity3000® system.
The first function is the ability to send and receive text-based data with devices such as bar code readers and serial printers.
The second function is the ability to communicate serially with other devices that do not support the Modbus protocol and lack a Productivity3000 driver.

ASCII Instructions

The ASCII In/Out instructions use the String data type to send or receive text-based data through the serial port. The String data type is only intended for use with the “printable character set”. This can include numbers, letters or special characters.
With the ASCII In instruction,
the CPU can receive a fixed length of characters or a variable length of characters with a termination code (an ‘end of message’ character).
The ASCII Out instruction sends
text-based data out of the serial port to various devices for control, printing or display.
6-17
Chapter 6: Communications
Productivity
Full duplex Mode (P3-550(E)/530)
1. RS232 can be set to FulDuplex node. Half Duplex is selected by default. This cna be changed in the Hardware Configuration window for the CPU serial port.
2. AIN and AOUT instructions may be enabled at the same time.
3. AOUT may be enabled while AIN is already active, and vice versa.
4. The user may control treatment of buffered data before AIN is enabled using the checkbox mentioned above.
5. RTS mode must be either always on or always off. Assert during transmit is not available.
Half duplex Mode [default] (P3-550(E)/530)
The ASCII instruction limitations are that it is not advisable to use the ASCII Out instruction to send a String to a device that will respond (if the response is needed) and to use the ASCII IN (AIN) instruction to try to receive this data.
1. AIN and AOUT cannot be enabled at the same time on the same serial port.
2. When the AOUT completes, the AIN cannot be enabled until the next logic scan.
3. The user may control treatment of buffered data before AIN is enabled using the checkbox mentioned above.

Custom Protocol Instructions

The Custom Protocol is a HEX based protocol used to communicate with devices that do not have the standard Modbus RTU Protocol. There are two instructions used with Custom Protocol communication:
Custom Protocol Out (CPO)
Custom Protocol In (CPI)
Custom Protocol Out
The Custom Protocol Out instruction allows the user to send a ‘byte formatted’ packet of data out of the CPU serial port.
Constant values and/or Tag values can be used as the source for data transmitted. There are several formatting options including Byte Swap and Checksum.
6-18
3000
Chapter 6: Communications
Productivity
3000
The Checksum option allows the user to select where in the packet the checksum should be inserted, what type of Checksum (CRC-8 bit, CRC-16 bit, CRC-32 bit, XOR-8 bit, XOR-16 bit and XOR 32 bit), which bytes of the data source should be used in the calculation of the checksum, what the byte order should be of the checksum (if greater than 8 bit) and how to preload the checksum calculation.
If the device requires a different Checksum calculation, this can be done outside of the instruction in other ladder code and the resulting Tag values can be inserted where appropriate in the packet.
Termination characters can also be specified when needed.
The Custom Protocol Out instruction is for transmission only. If information needs to be received from field devices, the Custom Protocol In instruction will have to be used. Unlike ASCII, the Custom Protocol will buffer the received data. When the Custom Protocol In instruction is executed, it will retrieve any data held in this buffer. Therefore, the lost responses found with ASCII communication do not occur with Custom Protocol communication.
Custom Protocol In
The Custom Protocol In instruction has similar formatting options to the Custom Protocol Out instruction.
The Custom Protocol In instruction will calculate the Checksum of the data packet received based on the criteria specified in the instruction and this will determine the state of the status bits assigned to the instruction. If the Checksum calculation passes based on the criteria specified in the instruction, the “Success” status bit will become true. If the Checksum calculation fails, the “Checksum Error” status bit will become true.
With the CPI instruction, the packet termination must be specified, either in terms of a termination character(s) or a packet length. If a Checksum is expected in the reply, be sure to include this in the Fixed Length value specified.
6-19
Chapter 6: Communications
Productivity

Communications: Ethernet

TCP and UDP Port Numbers

When doing TCP/IP and UDP/IP communications, there is a Source Port number and Destination Port number for every message. The Client device must be aware of the Destination Port Number(s) that the Server device is expecting to see and the Server device must listen for this Destination Port number. After the Server device has received the message with the Destination Port Number that it is listening on, it will formulate the return message (if the applications require this) with the Source Port Number from the message sent as its Destination Port Number.
It is important to understand a little about the Port numbering concept because many Ethernet devices, such as routers with firewalls, will block messages with Destination Port numbers that are not configured for that device. Listed below are the default Port Numbers used in the Productivity3000 going through routers in many applications.
Programming Software CPU Discovery
Programming Software Connection and Project Transfer
Modbus Client Connections (MRX, MWX, RX and WX instructions)
Modbus Server Connections
GS-Drive Discovery
GS-Drive Connection
Remote I/O Discovery
Remote I/O Connection
Email Instruction
Ethernet IP
Ethernet IP
* Adapters may choose to respond using another port number.
®
system. Some of these are configurable, allowing more flexibility when
Port
Port Number
(Decimal Format)
8888 UDP No 9999 UDP No
502 TCP Yes
502 TCP Yes
28784 UDP No
502 TCP No 8887 UDP No 8877 UDP No
25 TCP No
44818 TCP Yes
2222 UDP No*
TCP or UDP Configurable
6-20

IP Addressing and Subnetting

IP Addresses (used in conjunction with the Subnet Mask and Default Gateway address) are used for network routing. This allows for easy and logical separation of networks.
It is outside of the scope of this help file to explain how IP Addresses and Subnet masks are configured for actual usage. There are many books, documents and tools (Subnet calculators) on the internet that provide this information. Each facility and network will incorporate their own rules and guidelines for how their networks are to be configured.
3000
Chapter 6: Communications
Productivity
3000

PC Setup

For testing and verification purpose, it is recommended that the PC and the CPU be on an isolated Ethernet switch. Configure the PC’s network interface card setting as described below.
1. Go to Start, then Run, type ncpa.cpl in the Open field and click on OK to bring up the Network Connections dialog.
NOTE: Many system settings on your computer require Administrative privileges. Consult with your IT department for necessary privileges and approvals.
NOTE: You should record initial settings prior to making any network configuration changes.
2. Network Connections
a. Right click on the
Network interface shown in the Network Connections dialog and select Properties. If there is more than one Network Interface on the PC, be sure to choose the one connected to the Ethernet Switch with the CPU on it.
b. From the Local Area
Connection Properties window, highlight the Internet Protocol(TCP/ IP) selection and click on Properties.
6-21
Chapter 6: Communications
Productivity
3. Internet Protocol (TCP/IP) Properties.
a. In the Properties window, select Use the following IP address.
b. Enter an IP Address of 192.168.1.1 and Subnet Mask 255.255.255.0 and select OK.
Select OK again on the Local Area Connection Properties window.
CPU Setup
Now configure the CPU’s network IP setting as shown below.
1. Select CPU from the Productivity3000® software Main Menu and then select Choose CPU from the drop down menu.
2. The CPU Connections window will open as shown below.
6-22
3000
Chapter 6: Communications
Productivity
3000
a. Click to highlight the CPU connected to the Ethernet switch.
b. Select the “Change CPU IP/Name” button.
3. The Change IP Address/CPU Name window will open as shown below.
a. Enter an IP Address of 192.168.1.2 and Subnet Mask 255.255.0.0 for the CPU’s network
IP setting and select OK.
The CPU is now configured with the correct IP Address for connectivity with the PC. The IP Address and Subnet Mask settings will very likely differ from what will be used in the actual application. Consult the Network Administrator of the facility where the CPU will be installed to get the appropriate settings for that network.

TCP Connection Behavior with Modbus TCP and Network Instructions

When performing communications over TCP, a Connection must be established before the applications can transfer data. The connection is typically maintained until the application decides that the connection is no longer needed and then the connection will be severed. Frequent connects and disconnects are not efficient for the Client or the Server and can add unnecessary network traffic. But maintaining connections needlessly is also costly to the Client and Server in terms of processing and memory so this should also be avoided.
The CPU allows user control of Client connections through enabling and disabling the rungs containing Modbus and Network instructions. The MRX, MWX, RX and WX instructions have two options for sending messages: Automatic Poll and Manual Poll.
Automatic Poll sends out messages at a specified rate. Enabling the instruction performs a TCP connect with the Server device. Once the connection is established, the instruction messages are sent at the rate entered in the poll rate field. This continues until the instruction is disabled. The TCP connection will automatically be severed five seconds after the instruction is disabled.
Manual Poll sends out a message each time the instruction is enabled. Enabling the instruction performs a TCP connect with the Server device and sends the message one time. The TCP connection will automatically be severed five seconds after receiving the reply from the Server device. If the instruction gets another positive edge enable within the five seconds, the message will be sent and the disconnect of the TCP connection will be delayed by an additional five seconds.
6-23
Loading...
+ 52 hidden pages