gk-auto 发表于 2020-7-3 22:11:46

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

http://p6-tt.byteimg.com/large/pgc-image/e614e9accc224c1890bcfed40026c53f

三菱FX3U编程口通信上位机软件http://p26-tt.byteimg.com/large/pgc-image/eb09fc3e082249029e9745a88bf4bd64

上位机开发流程:一查找类似工具找到 三菱FX串口实验(FX Serial) 这款工具http://p1-tt.byteimg.com/large/pgc-image/96f50337710c4a049dbc5c78f5901292

这款工具挺好用的,能够验证大多数的功能,而且能够看到发送和接收的报文,是一个不错的辅助工具,给我的上位机开发提供了很大的帮助。二查找通信协议通过上面的工具能够验证通信的畅通,并且能够看到实际效果。但是缺乏理论支持,不了解通信的帧格式,查看通信协议能够消除这个困境。http://p6-tt.byteimg.com/large/pgc-image/2a972c3895d4487181567c155c9543bf

协议链接从这份协议里面能够了解到通信的帧格式以及字节序。(PS:文档中对于特殊寄存器地址的说明貌似有点问题,按照文档中的做法始终无法读写特殊寄存器)三串口抓包三菱FX串口实验(FX Serial) 这款工具 不能读写特殊寄存器,按照协议中对特殊寄存器地址的介绍也没能正确读出特殊寄存器中的值。所以只好放大招,串口抓包(发现通过三菱官方的编程软件GX Works2 能够读写特殊寄存器的值,然后想着通过串口抓包肯定能够抓到相应的读写报文)果真还是被抓到了http://p9-tt.byteimg.com/large/pgc-image/113d591e57824c039d67981f1ce59a9d

写特殊数据寄存器指令: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。

广阔天地 发表于 2020-7-3 22:15:46

真是难得给力的帖子啊。

电气自动化成吉 发表于 2020-10-9 02:01:52

看完楼主的帖子,我的心情竟是久久不能平息,受教了

吕安远 发表于 2025-11-16 21:37:11

楼主太会说了,字字句句都在理

zoubuwandelu123 发表于 2025-11-17 04:53:11

赞同 + 10086,完全说出了我的想法!

151452 发表于 2025-11-23 11:22:24

路过混个脸熟,顺便为优质内容打 call~

g54321 发表于 2025-11-23 11:31:17

水个经验,楼主加油,支持你~

天下独游 发表于 2025-11-23 11:32:04

救命!这波发言太秀了,直接原地封神~
疯狂认同!楼主说出了我不敢说的话

向々往 发表于 2025-11-23 11:33:55

这波反向操作,我属实没想到!

否极泰来 发表于 2025-11-23 11:37:10

浅评一下:内容优质,值得推荐~
页: [1] 2
查看完整版本: 三菱FX3U编程口通信上位机QT实现