This is a standard CitectSCADA driver
issue, CitectSCADA always reads arrays of data so if your variables
are not aligned to each other on 4 byte boundaries the misaligned
tags get invalid data. For example DB12,10 - DB12,18 are 4 byte
aligned, however DB12,18-DB12,32 are not. The driver has a built-in
option to read data in blocks of 32 bits which normally solves this
issue. To apply this, simply change the IO device protocol from
PSDIRECT1 to PSDIRECT6 then recompile (remember to recompile the
clients). The only disadvantage is that you loose STRING[ ]s &
arrays which need to be on PSDIRECT1 on a separate IO device.
|