签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
CPU是224XP,PLC 的Port 1和驱动器用Modbus通信读,然后用Port 0 把Modbus返回的数据缓冲区的内容通过XMT发送到电脑串口。
可是XMT 的帧格式是第一个数据是要发送的字节总数,要如何在Modbus返回的数据帧前加上发送的字节总数呢?
用M0.0来接收MODBUS_CONTROL的DONE位,是一直都不为1,但是ERROR位却等于0,这是不能用MODBUS_CONTROL的DONE位来作为下一个msg的标志位吗?
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1633907&b_id=3&s_id=0&num=6
这个方法我试过出现以下情况:
读取1个寄存器地址时,发送的是从03功能码到CRC的帧内容
读取多个寄存器时,发送的只是数据内容,地址、功能码和CRC都没有是库程序解包的原因吗?
所谓解铃还需系铃人,你在prot1是如何读取数据的?
是否考虑一个办法解读到读取的字节个数?
SMB2有用?
可以有起始符呀,用这个符作为计数开始的标志。
这是读取1个或2个寄存器时,返回的数据显示,数据会重复
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录