winsock返回数据的处理,100分跪求大神解决!~

qq_17500081 2014-07-15 11:31:39
byte sendstr1[12]
sendstr1[1]=0
sendstr1[2]=0
sendstr1[3]=0
sendstr1[4]=0
sendstr1[5]=0
sendstr1[6]=6 //以下字节数
sendstr1[7]=1 //设备地址
sendstr1[8]=3 //功能码
sendstr1[9]=0 //读起始地址hi
sendstr1[10]=0 //读起始地址lo
sendstr1[11]=0 //读的数量li
sendstr1[12]=1 //读的数量lo
winsock.object.senddata (sendstr1)
用上述代码可以发送十六进制的数据:00 00 00 00 00 06 01 03 00 00 00 01给plc
plc返回的十六进制的数据为:00 00 00 00 00 05 01 03 02 00 F1
请问在dataarrival中用 winsock.object.GetData读取处理plc返回的十六进制的数据怎么处理
string( or byte or blob) strData
winsock.object.getdata(strData)
然后呢?怎么处理?怎么在文本框中分别显示最后的两个十六进制的数据(00 F1)?十进制的(0 241),二进制的(0 11110001)
懂的大神请告知,100分跪求答案,谢谢~!
...全文
164 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_17500081 2014-07-17
  • 打赏
  • 举报
回复
版主正解,就是潜水深了点,
WorldMobile 2014-07-16
  • 打赏
  • 举报
回复
Byte ly_byte[] blob lb_data winsock.object.getdata(lb_data) ly_byte[] = GetByteArray(lb_data) ly_byte里就是你想要的数据
WorldMobile 2014-07-16
  • 打赏
  • 举报
回复
引用 楼主 qq_17500081 的回复:
byte sendstr1[12] sendstr1[1]=0 sendstr1[2]=0 sendstr1[3]=0 sendstr1[4]=0 sendstr1[5]=0 sendstr1[6]=6 //以下字节数 sendstr1[7]=1 //设备地址 sendstr1[8]=3 //功能码 sendstr1[9]=0 //读起始地址hi sendstr1[10]=0 //读起始地址lo sendstr1[11]=0 //读的数量li sendstr1[12]=1 //读的数量lo winsock.object.senddata (sendstr1) 用上述代码可以发送十六进制的数据:00 00 00 00 00 06 01 03 00 00 00 01给plc plc返回的十六进制的数据为:00 00 00 00 00 05 01 03 02 00 F1 请问在dataarrival中用 winsock.object.GetData读取处理plc返回的十六进制的数据怎么处理 string( or byte or blob) strData winsock.object.getdata(strData) 然后呢?怎么处理?怎么在文本框中分别显示最后的两个十六进制的数据(00 F1)?十进制的(0 241),二进制的(0 11110001) 懂的大神请告知,100分跪求答案,谢谢~!
用blob接收,然后放到byte里
qq_17500081 2014-07-15
  • 打赏
  • 举报
回复
已解决....

740

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧