Bad Data Quality with 32-Bit Integers In System Platform 2014 R2 SP1
Whenever a tag with a datatype of DWORD within OPC DI Object in System Platform 2014R2 SP1 returns a value greater than 2,147,483,648 from the TOP Server, the tag quality in System Platform turns bad and the item value freezes. What is causes this behavior and how is it resolved?
This is due to a known defect in the Wonderware OPC DI Object - that has been acknowledged by Wonderware and is being addressed. The issue occurs when a 32 bit integer is being read from an OPC Server using an OPC DA DI Object - when the most significant bit of the integer goes high there is an internal conversion error that results in the bad data quality.
There are currently three possible work-arounds:
Option 1: Use SuiteLink
This issue does not affect SuiteLink DI Objects, and has been how we generally work around this issue - switch communications to use SuiteLink instead of OPC DANot all tags need to use the SuiteLink DI Object, only tags set up as Integers in System Platform, that are reading 32 bit data types from the OPC Server.
Option 2: Typecasting
This will only work if the value can be modified on the System Platform side back to a DWORD and will require so some post processing. This approach has been reported to not work for all users, so option 1 or 3 might need to be used if having problems with this one.
Option 3: Request as 2 WORDs
This issue is extremely rare, so please do reach out to us and your Wonderware distributor to let us know you are seeing an issue.