ProSoft Technology MVI56E-LDM User Manual
Page 148

CIP API Functions
ControlLogix Platform ♦ "C" Programmable
Developer's Manual
Linux Application Development Module
Page 142 of 264
ProSoft Technology, Inc.
March 12, 2014
OCXcip_GetDeviceICPObject
Syntax
int OCXcip_GetDeviceICPObject(OCXHANDLE apihandle,
BYTE *pPathStr,
OCXCIPICPOBJ *icpoObj,
WORD timeout);
Parameters
apihandle
handle returned by previous call to OCXcip_Open
pPathStr
path to device being read
icpobject
pointer to structure receiving the ICP object data
timeout
number of milliseconds to wait for the read to complete
Description
OCXcip_GetDeviceICPObject
retrieves the ICP object from the module at the
address specified in
pPathStr
.
apihandle
must be a valid handle returned from
OCXcip_Open
.
icpobject
is a pointer to a structure of type
OCXCIPICPOBJ
. The members of this
structure will be updated with the ICP object data from the addressed module.
The ICP object contains a variety of status and diagnostic information about the
module's communications over the backplane and the chassis in which it is
located.
timeout
is used to specify the amount of time in milliseconds the application
should wait for a response from the device.
The following example defines the
OCXCIPICPOBJ
structure:
typedef struct tagOCXCIPICPOBJ
{
BYTE RxBadMulticastCrcCounter; //Number of multicast Rx
CRC Errors
BYTE MulticastCRCErrorThreshold; //Threshold for entering
fault state due to multicast
CRC errors
BYTE RxBadCrcCounter; //Number of CRC errors that
occurred on Rx
BYTE RXBusTimeoutCounter; //Number of Rx bus timeouts
BYTE TxBadCrcCounter; //Number of CRC counters
that occurred on transmit
BYTE TxBusTimeoutCounter; //Number of Tx bus timeouts
BYTE TxRetryLimit; //Number of times a Tx is
retried if an error occurs
BYTE
Status; //ControlBus status
WORD ModuleAddress; //Module's slot number
BYTE
RackMajorRev; //Chassis major revision
BYTE RackMinorRev; //Chassis minor rev
DWORD RackSerialNumber; //Chassis serial number