- Edit EthernetIPforCLXCom.vb
- Go to line 856
- Change the Case condition block of code to this:
Case &HD3 '* BOOL Array
Dim i As Integer
Dim x, BitValue As UInt64
Dim CurrentBitPos As Integer = BitIndex
For j = 0 To ((returnedData.Length - startIndex) / ElementSize) - 1
Select Case ElementSize
Case 1 '* SINT
x = returnedData(Convert.ToInt32(j * ElementSize + startIndex))
Case 2 ' * INT
x = BitConverter.ToUInt16(returnedData, Convert.ToInt32(j * ElementSize + startIndex))
Case 8 ' * LINT
x = BitConverter.ToUInt64(returnedData, Convert.ToInt32(j * ElementSize + startIndex))
Case Else
x = BitConverter.ToUInt32(returnedData, Convert.ToInt32(j * ElementSize + startIndex))
End Select
While CurrentBitPos < BitsPerElement
BitValue = Convert.ToUInt64(2 ^ (CurrentBitPos))
result(i) = Convert.ToString((x And BitValue) > 0)
i += 1
CurrentBitPos += 1
End While
CurrentBitPos = 0
Next
To make sure the right amount of code was changed, be sure the next line of code after the above code is:
Case &H82, &H83 '* TODO: Timer, Counter, Control