beautypg.com

ProSoft Technology MVI56E-LDM User Manual

Page 141

background image

ControlLogix Platform ♦ "C" Programmable

CIP API Functions

Linux Application Development Module

Developer's Manual

ProSoft Technology, Inc.

Page 135 of 264

March 12, 2014

OCXcip_AccessTagDataDb

Syntax

int OCXcip_AccessTagDataDb (OCXHANDLE apihandle,
OCXTAGDBHANDLE tdbHandle,
OCXCIPTAGDBACCESS ** pTagAccArr,
WORD numTagAcc,
WORD * pAbortCode);

Parameters

apiHandle

handle returned by previous call to OCXcip_Open

tdbHandle

handle created by previous call to
OCXcip_CreateTagDbHandle

pTagAccArr

Pointer to array of pointers to tag access definitions:
tagName

= Pointer to tag name string

(symName[x,y,z].mbr[x].etc. All array indices must be specified
except the last set of brackets - if the last set is omitted, the
indices are assumed to be zero.
daType

= Data type code (OCX_CIP_DINT, etc).

eleSize

= Size of a single data element (DINT = 4, BOOL = 1,

etc).
opType

= OCX_CIP_TAG_READ_OP or

OCX_CIP_TAG_WRITE_OP

.

numEle

= Number of elements to read or write - must be 1 if not

array.
data

= Pointer to read/write data buffer. The size of the data is

assumed to be numEle * eleSize.
wrMask

= Write data mask. Set to NULL to execute a non-

masked write. If a masked write is specified, numEle must be 1
and the total amount of write data must be 8 bytes or less. Only
signed and unsigned integer types may be written with a masked
write. Only data bits with corresponding set wrMask bits will be
written. If a wrMask is supplied, it is assumed to be the same
size as the write data (eleSize * numEle).
result

= Read/Write operation result (output). Set to

OCX_SUCCESS

if operation successful, else if failure. This value

is not set if the function return value is other than OCX_SUCCESS
or opType is OCX_CIP_TAG_NO_OP.

numTagAcc

Number of tag access definitions to process.

pAbortCode

Pointer to abort code. This allows the application to pass a large
number of tags and gracefully abort between accesses. May be
NULL. *pAbort may be OCX_ABORT_TAG_ACCESS_MINOR to
abort between tag accesses or
OCX_ABORT_TAG_ACCESS_MAJOR

to abort between CIP

packets.