信捷plc485通信上位机_三菱FX3U编程口通信上位机QT实现

c23bf339c488550b1c889943dc7f9fd7.png

三菱FX3U编程口通信上位机软件

0e709d40e92ccc2c264bbe1dbe20b937.png

上位机开发流程:

查找类似工具

找到 三菱FX串口实验(FX Serial) 这款工具

8c07eec12361c3ac0c39507e87dcb226.png

这款工具挺好用的,能够验证大多数的功能,而且能够看到发送和接收的报文,是一个不错的辅助工具,给我的上位机开发提供了很大的帮助。

查找通信协议

通过上面的工具能够验证通信的畅通,并且能够看到实际效果。但是缺乏理论支持,不了解通信的帧格式,查看通信协议能够消除这个困境。

fab2f71f38ff555ddfcc5b3bb0d6f6d3.png

协议链接

从这份协议里面能够了解到通信的帧格式以及字节序。(PS:文档中对于特殊寄存器地址的说明貌似有点问题,按照文档中的做法始终无法读写特殊寄存器)

串口抓包

三菱FX串口实验(FX Serial) 这款工具 不能读写特殊寄存器,按照协议中对特殊寄存器地址的介绍也没能正确读出特殊寄存器中的值。所以只好放大招,串口抓包(发现通过三菱官方的编程软件GX Works2 能够读写特殊寄存器的值,然后想着通过串口抓包肯定能够抓到相应的读写报文)

果真还是被抓到了

934661b239b08e6cc92ab23e896cc6fb.png

写特殊数据寄存器指令:02 45 31 30 38 30 30 30 30 32 30 41 30 30 03 41 34

通过数据帧可以得到特殊数据寄存器地址的算法:(特殊数据寄存器地址-8000)*2+0x8000 得到协议中的起始地址。

上面是特殊数据寄存器(特D)的地址算法,特殊辅助继电器(特M)也可以通过抓包方式得到协议帧格式,这里不再赘述。

至此,普通寄存器读写、强制位操作、特殊寄存器读写就开发完了。

注:本demo为功能验证项目、并没有做强壮性优化,可能会出现一些小bug(如波特率不匹配导致崩溃)。使用注意事项:特D只能进行字操作,地址8000 ~ 8511,特M操作放在了位操作里面,地址也是8000 ~ 8511。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值