CIP Sync Time
I/O modules use CIP Sync for timestamps. CIP Sync is a CIP implementation of the IEEE
1588 PTP (Precision Time Protocol). CIP Sync provides accurate real-time (Real-World
Time) or Universal Coordinated Time (UTC) synchronization of controllers and devices
that are connected over CIP networks. This technology supports highly distributed
applications that require timestamping, sequence of events recording, distributed motion
control, and increased control coordination.
These modules are CIP Sync slave-only devices. There must be another module on the
network that functions as a master clock.
You can use I/O modules to capture timestamps. The advantage is that CIP Sync is
system-wide, so timestamp values are consistent across all modules in the system.
IMPORTANT:
I.CIPSyncValid
= 1 is not sufficient
for an application to confirm that the module is ready for application requiring a
system time synchronization to start operation. See Grandmaster Clock Verification for extra verification
needed.Grandmaster Clock Verification
The application must verify that the module is synchronized with the same Grandmaster
Clock as the owner-controller.
- If Status connection is selected in the PointMax EtherNet/IP adapter Device Definition, verify that all of the following are true:
- I/O module'sI.CipSyncValidis 1
- Adapter'sS.CipSyncValidis 1
- Adapter'sS.GrandmasterClockIDis the same as the controller'sGrandMasterClockID
- If Status connection is not selected in the PointMax EtherNet/IP adapter Device Definition, verify that all of the followings are true:
- I/O module'sI.CipSyncValidis 1
- I/O module'sGrandmasterClockIDin GrandMasterClockInfo attribute of TimeSync object is the same as the controller’sGrandmasterClockID
- Class: 0x43
- Instance: 0x01
- Attribute: 0x08
- Response: GrandMasterClockInfo (see structure below)GrandMasterClockInfoSTRUCT ofClockIdentityUSINT[8]ClockClassUINTTimeAccuracyUINTOffsetScaledLogVarianceUINTCurrentUtcOffsetUINTTimePropertyFlagsWORDTimeSourceUINTPriority1UINTPriority2UINT
To get controller's GrandMasterClockID, access the TIMESYNCHRONE object through the
GSV instruction. See Access the TimeSynchronize object.
Provide Feedback