Applies To:
  • CitectSCADA 6.xx
  • CitectHMI 6.xx

You have several mixed variables in a S7 Datablock, the Higher addresses display incorrectly

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.

S7-300, PSDIRECT, S7NT, LONG, REAL, Alignment, Invalid values