I
icehackit
Unregistered / Unconfirmed
GUEST, unregistred user!
偶写一电梯监控程序,使用MOXA的硬件转接口将电梯的485接口转成标准socket接口,以便与计算机通信,但通信时发现使用SendText("DO11153"请求命令不能接受(电梯响应会发送运行状态数据,格式为十六进制字符),而发送SendText("?S"则可以,返回的是类似的字符(可能是unicode编码,我对如何转换这个不太清楚).而使用vb:
Dim SendStr(0 To 4) As Byte
Dim i As Integer
SendStr(0) = &HD0
SendStr(1) = &H1
SendStr(2) = &H1
SendStr(3) = &H1
SendStr(4) = &H53
If socketsend.State = 7 Then
socketsend.SendData SendStr
Dim c As Integer
For c = 0 To 4
MsgBox (SendStr(c))
Next c
Else
MsgBox ("通讯链路不正常"
End If
则可以返回正常的相应数据(十六进制),不知SendText()与SendData发送的数据具体什么差异,可能是编码问题,请教高手.
我做了如下测试:
vb写的客户端与C++ Builder写的服务端通信:
vb客户端发送以上请求命令时服务端接受到的为:?S
服务段发给vb客户端的正常字符在客户端均以ASCII值形式显示,而发送?S给vb客户端则显示:DO11153
请教在才C++ BUILDER如何解决以上问题!!!!
Dim SendStr(0 To 4) As Byte
Dim i As Integer
SendStr(0) = &HD0
SendStr(1) = &H1
SendStr(2) = &H1
SendStr(3) = &H1
SendStr(4) = &H53
If socketsend.State = 7 Then
socketsend.SendData SendStr
Dim c As Integer
For c = 0 To 4
MsgBox (SendStr(c))
Next c
Else
MsgBox ("通讯链路不正常"
End If
则可以返回正常的相应数据(十六进制),不知SendText()与SendData发送的数据具体什么差异,可能是编码问题,请教高手.
我做了如下测试:
vb写的客户端与C++ Builder写的服务端通信:
vb客户端发送以上请求命令时服务端接受到的为:?S
服务段发给vb客户端的正常字符在客户端均以ASCII值形式显示,而发送?S给vb客户端则显示:DO11153
请教在才C++ BUILDER如何解决以上问题!!!!