有关ModBus/tcp通信的问题?进制转换 本帖最后由 VisualEleven 于 2011-01-12 12:00:02 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 根据你的报文格式,输出你的报文。需要转换,通常Modbus字发送指令是低位在前高位在后。输入的时候同样的处理就行。 对于超过1000的数据我的程序:strSend[0]=m_Length[0]/256;//高八位 strSend[1]=m_Length[1]%256;//低八位不知道是哪错了 事实上对于Modbus报文来说,可能他的长度应该不会超过256个字的,也就是说前面那位可能一直就是0x00,后面的那个字长度才有意义。看你写的程序你这个m_Length应该是你要写入的长数据的长度吧,正确的写法是strSend[0] = m_Length / 256;//高8位strSend[1] = m_Length % 256; //低8位,或者干脆写为strSend[1] = 0x00,这个只是写西门子PLC的有用,别的不太确定,如果是10写多寄存器指令,因为后面还有个字节计数,所以此值肯定为0x00 怎么设置自己开发的ActiveX控件在设计时候的大小和样式? 如何高效地得到屏幕可见区域,占整个屏幕的百分比?来者有分 有谁知道怎么在windowsXP下安装studio.net呢???????????? 紧急!如何解决OCX附带dll注册问题! view与mainfrm的问题 这个怎么解决,谢谢。 为什么调试时看不到一些变量的值? 简单问题:使Edit显示成下陷需要把Style设置成什么? 如何动态创建一个窗口 在一个dialog上如何设置radio button为选中状态? 有关TCP通信的问题? 关于程序运行记录的问题!
strSend[1]=m_Length[1]%256;//低八位
不知道是哪错了
strSend[1] = m_Length % 256; //低8位,或者干脆写为strSend[1] = 0x00,这个只是写西门子PLC的有用,别的不太确定,如果是10写多寄存器指令,因为后面还有个字节计数,所以此值肯定为0x00