Note: The RMC Ethernet protocols are divided into two different firmware files. When updating the RMC100 Ethernet firmware, you must choose the file that contains the protocol you need. For more details, see Downloading New Serial/Ethernet Firmware.
Networking is often viewed conceptually as layers of protocols. Each layer contains a header, used to fulfill the purpose of that layer, and data. These layers are set up such that each layer contains the header and data from the next higher layer within its data area, as shown in the following diagram:
This diagram shows the four conceptual layers of TCP/IP: application, transport, internet, and framing. A fifth layer—the hardware layer—is often added below these four layers, but is left out of this diagram because it is more of a specification of how the data is sent rather than another protocol header. When a device is sending a packet the packet is assembled from the top layer down, but when receiving a packet, it must be processed from the bottom layer up.
Here is how the RMC might look at an incoming packet with this structure:
Hardware Layer: A full packet is received and passed to the Framing Layer.
Framing Layer: The CRC (cyclic redundancy check) is verified. If this fails, the packet is discarded. Next, the destination MAC address in the framing header is compared with the RMC's MAC address. If the addresses do not match and the destination address was not a special broadcast address, the packet is discarded. Otherwise it is passed to the Internet Layer.
Internet Layer: The IP address in the IP header is compared with the RMC's user-selectable IP address. If it does not match, the packet is discarded. Otherwise, it is passed to the Transport Layer.
Transport Layer: The transport layer provides a number of services, but minimally must specify the port that the data should be sent to. A port is an abstract connection point on a device that allows for multiple connections to exist on a single device. It also helps determine which application protocol will follow. The packet may be discarded here too if the destination port is not one that the RMC supports.
Application Layer: In our example, the application protocol is Modbus/TCP, so the Modbus/TCP header contains data such as the RMC register address to begin reading or writing from, the number of registers to access, and whether the operation is a read or write. The Modbus/TCP data area holds the actual words to be written.
Here is a diagram demonstrating all protocols supported by the RMC and the layers to which they belong:
Each protocol is briefly described below:
ARP (Address Resolution Protocol)
Ethernet packets can either be broadcast (received by all devices on the network) or sent to a single MAC address. However, applications generally address computers by IP address rather than MAC address. Therefore, this protocol is used to determine the MAC address of the computer owning a given IP address.
BOOTP (BOOTstrap Protocol)
This protocol is used to allow a central database to be maintained with all IP addresses on a network. This single computer is the BOOTP server. When a BOOTP client (such as the RMC, if configured to use BOOTP) starts up, it broadcasts asking a BOOTP server to tell it what its IP address should be. The BOOTP server looks up the MAC address of the BOOTP client in a database and sends a reply with the corresponding IP address.
CAMP (Common ASCII Message Protocol)
This is an open protocol developed by Control Technology, Inc. who manufacturers the CTI 2572 which allows the Siemens Simatic TI505 controller to communicate via Ethernet. Information is available on this protocol from CTI's web-site: http://www.controltechnology.com.
CSP (Client/Server Protocol)
This is a proprietary protocol developed by Allen-Bradley, Inc. Variants of this are used on Allen-Bradley's SLC 5/05 and PLC-5 controllers. This protocol is also used by the Allen-Bradley's SoftLogix 5 and RSLinx and SoftPLC Corporation's SoftPLC. Allen-Bradley does not publish the specifications for this protocol.
DHCP (Dynamic Host Configuration Protocol)
This protocol is an enhanced version of BOOTP. However, for industrial applications, the enhancements (lease times and dynamic assignment of IP addresses) are generally not usable. The RMC supports both BOOTP and DHCP so that the user may use either type of server.
Ethernet II
This is the most common framing layer protocol used by Ethernet devices. Other alternatives include IEEE 802.3 SNAP, IEEE 802.5 (Token Ring), and IEEE 802.4 (Token Bus). The RMC only supports Ethernet II framing, and therefore will not work on networks using any of the other framing types. All PLCs currently support Ethernet II framing although the Modicon Quantum allows selecting either Ethernet II (the default) or IEEE 802.3 SNAP.
EtherNet/IP
This is an open application protocol, maintained by ODVA (http://www.odva.org). EtherNet/IP is used by Ethernet modules for several PLC's including Allen Bradley, Schneider Electric, and Omron. The RMC100 supports EtherNet/IP Messaging and EtherNet/IP cyclic I/O.
FINS
This is an open application protocol developed and used by Omron Electronics Inc. This protocol is available over a number of media, including Ethernet and serial. Additional information is available in the CS1 Communications Reference Manual, available on Omron's web site: http://www.omron.com/oei.
HEI (Host Engineering Inc)
This is a proprietary protocol controlled by Host Engineering Inc (http://www.hosteng.com). This application protocol can be run on top of UDP/IP, IPX, and Ethernet II. The RMC can respond to HEI requests over UDP/IP and Ethernet II.
ICMP (Internet Control Message Protocol)
This protocol—running on top of the Internet Protocol—is used for sending error messages between routers and also provides the ping service. Only the ping service portion of this protocol is used by the RMC. Ping is a utility provided on most operating systems that simply asks if a device can be found with a given IP address or name.
IEEE 802.3 for 10BaseT
This is a standard for sending Ethernet data at 10Mbps through twisted pair wiring rated Category 3 (CAT3) or greater. The connectors used by this standard are RJ45. Media converters are readily available from network supply companies to convert these signals to other IEEE 802.3 standards such as 10Base2 (BNC or coaxial cable), 10BaseFL (fiber optic), 10Base5 (AUI), and 100BaseT (100Mbps twisted pair using CAT5 wiring).
IP (Internet Protocol)
This is the main Internet Layer protocol and is used for sending packets between two computers in a network or across two or more networks. It also allows for fragmentation of packets. This is a situation where a packet is larger than a network's maximum packet size, so it is broken into smaller packets that are re-assembled by the recipient.
ISO-on-TCP
This application protocol was designed to allow using protocols based on the ISO 8073 Transport Protocol to work on the TCP/IP stack of protocols. This protocol is used by the Siemens S7-300 and S7-400 PLCs. IEEE maintains this protocol. The RMC supports a protocol on top on the ISO-on-TCP protocol called Fetch/Write that is also supported by the S7 PLCs.
Modbus/TCP
This is an open protocol developed and used by Modicon of Schneider Electric. Its standard is published on Modicon's web-site: http://www.modicon.com/openmbus.
TCP (Transmission Control Protocol)
This is the main Transport Layer protocol in the TCP/IP stack. It provides for maintaining a reliable connection between two devices.
UDP (User Datagram Protocol)
This Transport Layer protocol is used by some application protocols instead of TCP. UDP is lighter weight than TCP and works well in situations where acknowledgements are built into the application protocol or are not required.
Copyright (c) 1997-2015 by Delta Computer Systems, Inc.