# ControlNet

ControlNet is an open industrial network protocol for industrial automation applications, also known as a fieldbus. ControlNet was earlier supported by ControlNet International, but in 2008 support and management of ControlNet was transferred to ODVA, which now manages all protocols in the Common Industrial Protocol family.
Features which set ControlNet apart from other fieldbuses include the built-in support for fully redundant cables and the fact that communication on ControlNet can be strictly scheduled and highly deterministic. Due to the unique physical layer, common network sniffers such as Wireshark cannot be used to sniff ControlNet packets. Rockwell Automation provides ControlNet Traffic Analyzer software to sniff and analyze ControlNet packets.

## Version 1, 1.25 and 1.5

Versions 1 and 1.25 were released in quick succession when ControlNet first launched in 1997. Version 1.5 was released in 1998 and hardware produced for each version variant was typically not compatible. Most installations of ControlNet are version 1.5.

## Architecture
### Physical layer

ControlNet cables consist of RG-6 coaxial cable with BNC connectors, though optical fiber is sometimes used for long distances. The network topology is a bus structure with short taps. ControlNet also supports a star topology if used with the appropriate hardware. ControlNet can operate with a single RG-6 coaxial cable bus, or a dual RG-6 coaxial cable bus for cable redundancy. In all cases, the RG-6 should be of quad-shield variety. Maximum cable length without repeaters is 1000m and maximum number of nodes on the bus is 99. However, there is a tradeoff between number of devices on the bus and total cable length. Repeaters can be used to further extend the cable length. The network can support up to 5 repeaters (10 when used for redundant networks). The repeaters do not utilize network node numbers and are available in copper or fiber optic choices.
The physical layer signaling uses Manchester code at 5 Mbit/s.

### Link layer

ControlNet is a scheduled communication network designed for cyclic data exchange. The protocol operates in cycles, known as NUIs, where NUI stands for Network Update Interval. Each NUI has three phases, the first phase is dedicated to scheduled traffic, where all nodes with scheduled data are guaranteed a transmission opportunity. The second phase is dedicated to unscheduled traffic. There is no guarantee that every node will get an opportunity to transmit in every unscheduled phase. The third phase is network maintenance or "guardband". It includes synchronization and a means of determining starting node on the next unscheduled data transfer. Both the scheduled and unscheduled phase use an implicit token ring media access method. The amount of time each NUI consists of is known as the NUT, where NUT stands for Network Update Time. It is configurable from 2 to 100 ms. The default NUT on an unscheduled network is 5 ms.
The maximum size of a scheduled or unscheduled ControlNet data frame is 510 Bytes.

### Application layer

The ControlNet application layer protocol is based on the Common Industrial Protocol (CIP) layer which is also used in DeviceNet and EtherNet/IP.