The ioc fails to read a tag when the tag is referenced as an element within a multidimensional array. For example:
- A ControlLogix controller tag is defined as 'testTag' DINT[56,30] (changing type to real results in same error)
- EPICS record:
record(ai, "test")
{
field(DESC, "Test Record")
field(DTYP, "EtherIP")
field(SCAN, ".1 second")
field(INP, "@PLC1 testTag[60] E")
}
- The array index can be within bounds of the first dimension and still results in an error.
- Normal (i.e., element flag not set) array reads up to the buffer limit (including beyond the bounds of the first dimension) function as you would expect with satisfactory data.
- Excerpt of the ioc output on initialization:
...
MR_Response:
USINT Service = 0xCC (Response to CIP_ReadData)
USINT Reserved = 0x00
USINT Status = 0x05 (Instance not found)
USINT ext. stat. size = 0
EIP_read_tag: Failed tag 'testTag[60]'
tag 'testTag[60]': Cannot read!
...
The ioc fails to read a tag when the tag is referenced as an element within a multidimensional array. For example: