DeviceNet

DeviceNet is a network protocol used in the automation industry to interconnect control devices for data exchange. It utilizes the Common Industrial Protocol over a Controller Area Network media layer and defines an application layer to cover a range of device profiles. Typical applications include information exchange, safety devices, and large I/O control networks.

History
DeviceNet was originally developed by American company Allen-Bradley (now owned by Rockwell Automation). It is an application layer protocol on top of the CAN (Controller Area Network) technology, developed by Bosch. DeviceNet adapts the technology from the Common Industrial Protocol and takes advantage of CAN, making it low-cost and robust compared to the traditional RS-485 based protocols.

In order to promote the use of DeviceNet worldwide, Rockwell Automation has adopted the "open" concept and decided to share the technology to third-party vendors. Hence it is now managed by ODVA, an independent organization located in North America. ODVA maintains specifications of DeviceNet and oversees advances to DeviceNet. In addition, ODVA ensures compliance to DeviceNet standards by providing conformance testing and vendor conformity.

ODVA later decided to bring DeviceNet back to its predecessor's umbrella and collectively refer to the technology as the Common Industrial Protocol or CIP, which includes the following technologies:
 * EtherNet/IP
 * ControlNet
 * DeviceNet

ODVA claims high integrity between the three technologies due to the common protocol adaptation, which makes industrial controls much simpler compared to other technologies.

DeviceNet has been standardized as IEC 62026-3.

Architecture
Technical Overview Define the OSI seven-layer architecture model the physical layer, data link layer and application layer
 * 1) Network in addition to the signal, but also including power, self-powered support network function (generally used in small devices, such as photo detectors, limit switches or proximity switches, etc.) [2]
 * 2) Allows three bit rates: 125 kbit/s, 250 kbit/s and 500 kbit/s, the main trunk under different bit rates (trunk) is inversely proportional to the length and bitrate
 * 3) Flat cable network can be used
 * 4) Single network can have up to 64 nodes, node address (called MAC ID in DeviceNet) by 0–63. Usually the default address for a new out of the box device is 63
 * 5) Duplicate node address detection function
 * 6) Supports master-slave and end-to-end (peer-to-peer) communication architecture, but most of the equipment is operating in the former network architecture
 * 7) Multiple network allows a single master function
 * 8) Can be used in high-noise environments

Physical layer
Nodes are distributed along a DeviceNet network by the means of a trunkline-dropline topology. This topology allows for ease in wiring and access to the network from multiple taps. In addition, nodes can be easily removed and added to reduce production downtime, increase network flexibility, and decrease troubleshooting time. Since the physical layer is optically isolated from the device, communication power and device power can share the same bus (further reducing the complexity of the network and components within). (Introduction )

DeviceNet supports 125 kbit/s, 250 kbit/s and 500 kbit/s data rates. Depending on the chosen cable type, DeviceNet can support communication up to 500 meters (using round, large diameter cable). Typical round cable supports up to 100 meters, while flat-style cable supports up to 380 meters at 125 kbit/s and 75 meters at 500 kbit/s. (Physical Layer )

Data link layer
DeviceNet uses a differential serial bus (Controller Area Network) as its Data Link Layer. Using CAN as a backbone, DeviceNet requires minimal bandwidth to transmit and package messages. In addition, a smaller processor may be selected in the design of the device thanks to the data frame format and the ease at which the processor can parse the data. See below for full format. (The Data Link Layer )

CAN Data Frame Format

1 bit     => Start of frame 11 bits   => Identifier 1 bit     => RTR bit 6 bits    => Control field 0–8 bytes => Data field 15 bits   => CRC sequence 1 bit     => CRC delimiter 1 bit     => Acknowledge 1 bit     => Ack delimiter 7 bits    => End of frame >2 bits   => Interframe space

Reference: Table: Data Frame Format.

Upon transmitting the first packet of data, the Start of Frame bit is sent to synchronize all receivers on the network. The CAN identifier (denoted from 0–63) and RTR bit combine to set priority, at which the data can be accessed or changed. Lower identifiers have priority over higher identifiers. In addition to transmitting this data to other devices, the device also monitors the data sent. This redundancy validates the data transmitted and eliminates simultaneous transmissions. If a node is transmitting at the same time as another node, the node with the lower 11 bit identifier will continue to transmit while the device with the higher 11 bit identifier will stop. (Introduction & Physical Layer. )

The next six bits contain information for specifying the Control Field. The initial two bits are fixed, while the last four are used to specify length field of the Data Field. The Data Field contains from zero to eight bytes of usable data. (Physical Layer. )

The following data frame is the CRC field. The frame consists of 15 bits to detect frame errors and maintains numerous format delimiters. Due to ease of implementation and immunity to most noisy networks, CAN provides a high level of error checking and fault confinement. (Physical Layer. )

Network
DeviceNet incorporates a connection-based network. A connection must initially be established by either an UCMM (Unconnected Message Manager) or a Group 2 Unconnected Port. From there, Explicit and Implicit messages can be sent and received. Explicit messages are packets of data that generally require a response from another device. Typical messages are configurations or non-time sensitive data collection. Implicit messages are packets of data that are time-critical and generally communicate real-time data over the network. An Explicit Message Connection has to be used to established first before an Implicit Message Connection is made. Once the connection is made, the CAN identifier routes data to the corresponding node. (The Network and Transport Layers. )