Applies To:
  • CitectSCADA 5.41, 6.00 Service Pack A
  • CitectHMI 5.41, 6.00 Service Pack A

The following products can be effected by this problem:
AMPLA, CitectSCADA Reports, OPC Clients connecting to Citect's OPC Server, and any other 3rd party CTAPI Clients.

When the tag based driver you are requesting data from is the ABCLX driver, you will see an error similar to this:
READ 0007 PORT1_BOARD1 CLX5563 INT 0x03000001 32
Generic 000007 Driver 536870918 (0x20000006)

Other tag bases drivers will result in zero being returned instead of the actual value.

A simple workaround to this problem, and recommended practice is to sort the variable.dbf as per KB Q4189. I.e. Sort all variable tags by UNIT, then by TYPE. An OID reset will also be required after making this change. Ensure all CitectSCADA servers and clients have the same copy of the Variable.dbf.

An oversight in the CTAPI component has been identified. The CTAPI point blocking algorithm does not build requests in conformance with the PROTDIR options field, in particular the OPT_DISABLE_GAP_BLOCKING flag. This allows the CTAPI to generate read requests that are blocked across non-contiguous data type blocks causing tag based drivers to return a failed block.

Citect has confirmed this to be a problem in CitectHMI/SCADA versions 5.41 to 6.00 SPA. This problem has been fixed in version 6.10.

0x20000006, OID, CTAPI, blocking, blocked, non-contiguous