разбор байтов в модбасовском ответе по нужным форматам
nn-номер байта с которого разбор начинается.
Код:
Select Case tFormat_SelectedIndex(x)
Case 0 'INT
Array.Reverse(inBuffer, nn, 2)
dataStr(x) = BitConverter.ToInt16(inBuffer, nn)
nn = nn + 2
Case 1 'UINT
Array.Reverse(inBuffer, nn, 2)
dataStr(x) = BitConverter.ToUInt16(inBuffer, nn)
nn = nn + 2
Case 2 'DINT
If nn >= bez_srs - 2 Then Exit For
Array.Reverse(inBuffer, nn, 4)
dataStr(x) = BitConverter.ToInt32(inBuffer, nn)
nn = nn + 4
Case 3 'UDINT
If nn >= bez_srs - 2 Then Exit For
Array.Reverse(inBuffer, nn, 4)
dataStr(x) = BitConverter.ToUInt32(inBuffer, nn)
nn = nn + 4
Case 4 'REAL
If nn >= bez_srs - 2 Then Exit For
Array.Reverse(inBuffer, nn, 2)
Array.Reverse(inBuffer, nn + 2, 2)
dataStr(x) = BitConverter.ToSingle(inBuffer, nn)
nn = nn + 4
End Select

Сообщение от
Yegor
Есть NModbus (C#)
хорошая библиотека, и на VB без проблем, и не нужно с сокетами заморачиваться.