In CLX driver:
A SINT with value 127 or any negative number cannot be read in Version 3.59
On Ver. 3.58 the PLC value would always be returned as a byte instead of signed byte, but Ver 3.59 throws an exception.
I used the following workaround on 3.58:
reads:
Dim bytA As Byte
For i = 0 To N - 1
bytA = CByte(S(i))
If (bytA < 128) Then
S(i) = CStr(bytA)
Else
S(i) = CStr(bytA - 256)
End If
Next
writes:
If V < 0 Then V = V + 256 '(before writing to PLC)
On Ver 3.58 an empty string could not be written to the PLC, however if the PLC string was empty it could be read.
On Ver. 3.59 an empty string can be written to the PLC, but the last value before the string became empty in the PLC is always read back after that.
I have also noticed it is possible to read a LINT but not write a LINT.
a LINT is a bit odd and not used much, but thought I would mention this in case it can be fixed.