In a recent post, we explained the seven layers of the OSI (Open Systems Interconnection) protocol, including the top, or application, layer, which manages the interaction between programs or applications and the network. One example of a specialized application layer is the Common Industrial Protocol.
Also referred to as CIP, the Common Industrial Protocol was developed by Rockwell and is now managed by the industry group, ODVA. Developed for industrial applications, CIP provides a method for organizing and representing data, managing connections, and facilitating messaging on a network.
The Common Industrial Protocol allows users to integrate automation applications — including control, safety, synchronization, and motion — across all aspects of the business. It is an object-oriented protocol: devices are represented by an object model, and network-specific objects define how parameters are configured, while communication objects provide the means to establish communications and access data and services from devices over the network.
Every object has attributes (data), services (commands), connections, and behaviors (reactions to events), which are defined in the CIP object library. The object library supports many common automation devices and functions, such as analog and digital I/O, valves, motion systems, sensors, and actuators. So if the same object is implemented in two or more devices, it will behave the same way in each device. A grouping of objects in a device is referred to as the device’s “object model.”
The Common Industrial Protocol also defines device types, with each device type having a device profile. The device profiles specify which CIP objects must be implemented, what configuration options are possible, and the formats of I/O data. This means that devices of a given type all have a common application interface. Objects that define routing mechanisms also allow messages to be passed seamlessly between different CIP networks (EtherNet/IP and DeviceNet, for example).
Another key feature of CIP is that it defines two types of communication, or messages: explicit and implicit. Explicit messages are used for “as-needed” data (information) and are transmitted via TCP (transmission control protocol). Implicit messages are used for control data (inputs and outputs) — where high speed and low latency are important — and are transmitted via UDP (user datagram protocol). The UDP protocol allows messages to be sent in smaller packet sizes and makes it possible to use the producer-consumer model for these critical, implicit messages.
With the producer-consumer model, a message is sent by one producer, one time, to many consumers (receiving devices) — a method referred to as multicasting. This is in contrast to the traditional source-destination model, where a message must be transmitted multiple times by the producer to reach each consumer. In the producer-consumer model, a consumer decides if it should consume the data based on an identifier included in the data packet. This allows the producer-consumer model to provide more efficient use of network bandwidth and higher overall speed than the source-destination model.
There are four industrial networks, sometimes referred to as “CIP networks” that incorporate CIP at the session, presentation, and application layers. EtherNet/IP implements CIP over standard Ethernet. Similarly, CIP applied over a CAN network forms the basis for DeviceNet. ControlNet uses CIP over a CTDMA (concurrent time domain multiple access) data link layer, and CompoNet implements CIP on a TDMA (time domain multiple access) data link layer.
In addition to the family of networks above, CIP also includes extensions that enhance its functionality: CIP Safety for fail-safe communication in functional safety implementations; CIP Sync for real-time synchronization between devices; CIP Motion for multi-axis, distributed motion with deterministic, real-time control; and CIP Energy for monitoring and managing energy consumption to ensure optimization of energy usage (OEU).