CIT has confirmed this to be a problem in
Citect for Windows versions 1.00 to 3.30, 4.00, 4.10. This problem
has been fixed in version 3.40 and 4.20.
You can work around this problem by reading the values of the
digital before you write. You only have to read the top most
digital and it should allow all digital writes to work correctly.
For example if your startup cicode function initialise many digital
tags on startup you can read the highest digital tag to resolve as
follows:
StartupFunction()
int temp;
temp = MaxDigital; /* MaxDigital should be the highest
digital address */
ReRead(1); /* force a read of the MaxDigital */
Digital = 1;
/* write to all digitals */
....
end
|