Virtual Training Courses
Before We Begin
• Introductions
• All attendees are automatically muted with no video connection as a default.
• Please use the Q&A to ask questions, not the chat. We will address questions as they come in.
• At the end if there is time, we will take questions verbally from
the attendees. We will advise if and when there is time for you
to “raise your hand” if you have a question.
Technical Overview of CIP
The Common Industrial Protocol
Vivek Hajarnavis
Rockwell Automation
What is CIP?
• Complete suite of services for industrial automation
– Control
– Network management – Information
– Safety – Energy
– Synchronization and motion
• Object-based approach to designing control devices
– Consistent
– Interoperable
7
6
5
4
3
2
1
OSI Model
(Open Systems Interconnection)
APPLICATION
PRESENTATION
SESSION
TRANSPORT
NETWORK
DATA LINK
PHYSICAL
CIP
APPLICATION LAYER
OBJECT LIBRARY (Communications, Applications, Time Synchronization) DATA MANAGEMENT SERVICES (Explicit and I/O Messages)
Transport Network Data Link
CONNECTION MANAGEMENT, ROUTING
The EtherNet/IP Adaptation of CIP
OBJECT LIBRARY (Communications, Applications, Time Synchronization) DATA MANAGEMENT SERVICES (Explicit and I/O Messages)
TCP
Network (Internet Protocol) Data Link (CSMA/CD)
Physical Layer
UDP CONNECTION MANAGEMENT, ROUTING
FTP SMTP HTTP DNS APPLICATION LAYER OPC SNMP CIP
CIP Features
• Object-oriented
• Standardization through device profiles
• Seamless integration of networked devices
• Network independence
• Open
• Greater efficiency / flexibility
• Vendor-independent
CIP Device Profiles
Object Model
I/O Data Format
Configuration Data Format
Device
Profile
Device Profiles
• Define:
– Type of product
– Type of data available – Structure of data, etc.
• Enables device standardization
• Mechanism for
interoperability and interchangeability
• Ensures consistent behavior
– Among different vendors
– Among different networks
CIP Device Profiles (partial list)
✓ AC Drive
✓ CIP-Modbus Translator Device
✓ CIP Motion Device
✓ Communications Adapter
✓ Contactor
✓ DC Drive
✓ DC Power Generator
✓ Fluid Flow Controller
✓ General Purpose Discrete I/O
✓ Generic Device
✓ Human Machine Interface
✓ Inductive Proximity Switch
✓ Limit Switch
✓ Mass Flow Controller
✓ Motor Overload
✓ Motor Starter
✓ Photoelectric Sensor
✓ Pneumatic Valve
✓ Position Controller
✓ Process Control Valve
✓ Residual Gas Analyzer
✓ RF Power Generator
✓ Resolver
✓ Safety Discrete I/O Device
✓ Softstart Motor Starter
✓ Turbomolecular Vacuum Pump
✓ Vacuum Pressure Gauge
✓ System Architecture
45
Profiles
Defined and Maintained by
SIGs
CIP Device Profile Extensions
• Vendor-specific attributes
• Vendor-specific objects
• Profiles for:
– Vendor-specific
– Generic
Object Model
Traditional vs. Object Modeling
Traditional Software Design Object-Based Programing
Data Structures Functions
Processes
Attribute
Services
Behaviors
CIP Uses Object-Based Programming
• Defines the product from the network perspective
• Common object library provides consistency among devices
• Device is a collection of Objects
– Each object: a subset of overall device functionality
• Logically related attributes, services, and behaviors
• Each type of object belongs to a specific Class
– Classes: identified by a Class ID
General Format of a CIP Object Class
Reset( );
Create ( );
Services Attributes
CLASS
INSTANCES
Behavior
Idle Run Fault
GetAttr(inp) SetAttr(outp) Services
Attributes Behavior
Idle Fault
#1 int ClassRevision;
#4 int NumberOfInst;
#1 int status;
#2 sint value;
Attributes
Reset( );
Create ( );
Services Attributes
CLASS
INSTANCES
Behavior
Idle Run Fault
GetAttr(inp) SetAttr(outp) Services
Attributes Behavior
Idle Run Fault
#1 int ClassRevision;
#4 int NumberOfInst;
#1 int status;
#2 sint value;
Services
Reset( );
Create ( );
Services Attributes
CLASS
INSTANCES
Behavior
Idle Run Fault
GetAttr(inp) SetAttr(outp) Services
Attributes Behavior
Idle Fault
#1 int status;
#2 sint value;
#1 int ClassRevision;
#4 int NumberOfInst;
Common CIP Services
✓ Get_Attributes_All
✓ Set_Attributes_All
✓ Get_Attribute_List
✓ Set_Attribute_List
✓ Reset
✓ Start
✓ Stop
✓ Create
✓ Delete
✓ Multiple Service Packet
✓ Apply_Attributes
✓ Get_Attribute_Single
✓ Set_Attribute_Single
✓ Find_Next_Object_Instance
✓ Restore
✓ Save
✓ No Operation (NOP)
✓ Get Member
✓ Set Member
✓ Insert Member
✓ Remove Member
The CIP See
Specification
for a complete list
of services
Behaviors
Reset( );
Create ( );
Services Attributes
CLASS
INSTANCES
Behavior
Idle Run Fault
GetAttr(inp) SetAttr(outp) Services
Attributes Behavior
Idle Fault
#1 int ClassRevision;
#4 int NumberOfInst;
#1 int status;
#2 sint value;
Instances
Reset( );
Create ( );
Services Attributes
CLASS
INSTANCES
Behavior
Idle Run Fault
GetAttr(inp) SetAttr(outp) Services
Attributes Behavior
Idle Run Fault
#1 int ClassRevision;
#4 int NumberOfInst;
#1 int status;
#2 sint value;
Example of an Object Model
Object Class: Discrete Input Point
Value:
Status:
1 0 0
1
• • • • • • • • •
I/O Device Channel 1 Channel 8
Instances
Attributes
CIP Object Library
Communication Network Application
Identity
Message Router etc.
TCP/IP Interface Ethernet Link
Port etc.
Safety Motion Energy
I/O
etc.
Inside the
Object Model
Application object Application
object Application
object