Имеется прибор, который регистрирует различные значения (напряжение, температуру и т.д.)
Прибор подключается к ПК через rs232.
Чтобы получить регистрируемые значения, шлём на прибор определённую команду.
Проблема заключается в том, что получить ответ от прибора никак не получается.
- Код: Выделить всё
Dim sp1 As New IO.Ports.SerialPort
sp1.PortName = "COM6"
sp1.BaudRate = 38400
sp1.StopBits = 1
sp1.Parity = IO.Ports.Parity.None
sp1.ReadBufferSize = 256
sp1.WriteBufferSize = 256
sp1.Open()
Dim b() As Byte
Dim s As String
b = My.Resources.Untitled1
Dim Encoding As New System.Text.ASCIIEncoding
'Dim Encoding As New System.Text.UTF8Encoding
s = Encoding.GetString(b)
's= Chr(63) & Chr(48) & Chr(51) & Chr(32) & _
'Chr(8) & Chr(0) & Chr(0) & Chr(104) & _
'Chr(0) & Chr(201) & Chr(122) & Chr(13)
sp1.WriteLine(s)
MsgBox(sp1.ReadLine)
sp1.Close()
[Хакер] :: Не нужно использовать тег icode для многострочного кода!
(В ресурсах проекта у меня лежит 12-байтовый файл, содержащий команду прибора)
Через программу COM Port Toolkit (см. вложение) послал команду на прибор. Как видно, прибор отвечает. Что я делаю не так?
Спасибо.
P.S.: Прибор - регистратор Ф1771, среда разработки VS2008 Express.
Время ожидания на чтение/запись менять пробовал, -1 ставил.