ControlNet is a real-time, open communications protocol used in industrial automation applications, and like DeviceNet is an implementation of CIP. The ControlNet specification was maintained and managed by ControlNet International, an association of vendors, distributors and users of ControlNet technology, until 2008. This role has now been transferred to ODVA. ControlNet uses Concurrent Time Domain Media Access (CTDMA) in its data link layer for bus access. The diagram below shows the relationship between CIP, ControlNet and the OSI reference model.
The ControlNet implementation of CIP uses CTDMA in its data link layer
The ControlNet physical layer is implemented using RG-6 coaxial cable (up to 1000 metres maximum segment length) and BNC connections, with support for redundant cabling. Fibre-optic cabling may also be used to extend the maximum segment length (up to 30 kilometres, depending on the type of fibre used). The signalling scheme used is Manchester encoding, and the data rate is 5 Mbps. The chosen method of medium access (CTDMA) means that all data traffic on a ControlNet network is strictly scheduled and highly deterministic.
ControlNet supports various topologies, including trunk-line/drop-line, tree, and ring. In its simplest form, ControlNet employs a trunk-line, to which nodes are connected via a one-metre drop-line and a tap. Repeaters are used to connect a number of network segments together. Some of the commonly-used network topologies are illustrated below.
Example ControlNet system trunk-line/drop-line topology
Example ControlNet system tree topology
Example ControlNet system hybrid topology (segments connected by fibre ring)
Concurrent Time Domain Media Access (CTDMA)
Time on the ControlNet network is allocated in fixed time intervals. Each time interval, or Network Update Time (NUT), is sub-divided into a scheduled service time, an unscheduled service time, and a network maintenance service time.
CTDMA (Concurrent Time Domain Media Access)
The diagram below illustrates the function of the scheduled service. Every node from the lowest up to the highest scheduled network address (SMAX) participating in the scheduled service has an opportunity to send a message within the scheduled service interval. If a node has no data, it will still transmit a short frame to indicate that it is still alive. If any node fails to send a frame, the node with the next highest node number may transmit after a short fixed waiting time, ensuring the failure of one node does not interrupt the NUT cycle.
The function of the scheduled service
The diagram below illustrates the function of the unscheduled service. This service is used for low-priority messages, so only one node is actually guaranteed to get access to the bus during the unscheduled service time. If there is any time left, nodes with higher node numbers will also get an opportunity to transmit. As for the scheduled service time, if any node fails to send a frame, the node with the next highest node number may transmit after a fixed waiting time. In each successive NUT, the number of the node that is allowed to transmit first within the unscheduled service time is incremented by one, guaranteeing network access to all nodes.
The function of the unscheduled service
The two services between them engender deterministic network access, while at the same time providing the flexibility to accommodate the transmission of unscheduled messages (to upload configuration data to a node, for example). Frames (called M-packets) transmitted by a particular node may contain a number of messages (called L-packets). This allows small amounts of data to be sent to different groups of consumers without too much protocol overhead. Because ControlNet is both much faster and capable of delivering a larger maximum data frame size than DeviceNet, it requires more powerful processors than DeviceNet. Since such processors are typically capable of accessing a larger address space, many of the limitations inherent in DeviceNet networks do not apply to ControlNet networks. As a consequence, ControlNet can support four different classes of device:
- Explicit message servers - these devices respond only to explicit messages.
- I/O message servers - typically referred to as adapters, these devices can use an I/O connection, once established, to send multiple I/O messages with various message triggers. These devices cannot establish an I/O connection in their own right.
- Adapters with explicit message clients - typically referred to as scanners, these devices incorporate the functionality of both an I/O client and server, and also have explicit messaging client and server capability.
ControlNet is effectively a complete implementation of the Common Industrial Protocol (CIP) and provides more efficient transfer of data between devices than other networks running at higher data rates. In addition to the standard objects defined for CIP, three additional objects are required for ControlNet:
- ControlNet Object - contains communication parameters for the ControlNet communication link.
- ControlNet Keeper Object - contains information about the structure of the ControlNet subnet.
- ControlNet Scheduling Object - contains information about scheduling services.
The network update time is configured by the user, but cannot be less than two milliseconds. High-priority data is sent during the scheduled part of the network interval, while non-critical data (such as configuration data) is sent during the unscheduled part of the network interval. The delivery of time-critical control data is thus highly deterministic. A non-critical data item is guaranteed to be delivered at some point, although the latency it experiences will be entirely dependent on the overall volume of non-critical data waiting to be transmitted, and its position in the queue. Devices may be connected to or disconnected from a ControlNet network without disrupting network operation. ControlNet is often used as a backbone, to interconnect multiple distributed DeviceNet networks, and is suited to applications requiring high speed digital I/O or remote analogue I/O such as vehicle assembly lines, food processing and baggage handling.
- Segment length (coax) - 1,000m at a data rate of 5 Mbps and with 2 attached nodes. Segment length would be reduced to 250m for 48 nodes.
- Segment length (fibre) - 3,000m at a data rate of 5 Mbps.
- Repeaters/segments - up to 5 repeaters and 6 segments connected in series, 48 segments in parallel.
- Maximum nodes - 99, with no minimum distance between nodes.