gzcjx555
QQ  296686949
级别: 工控侠客
精华主题: 0
发帖数量: 475 个
工控威望: 4161 点
下载积分: 86 分
在线时间: 329(小时)
注册时间: 2014-02-15
最后登录: 2024-11-14
查看gzcjx555的 主题 / 回贴
楼主  发表于: 2024-07-11 07:55
FX3U编程口协议默认是9600,但是编程软件或者触摸屏都可以使用到115200,我们自己上位机写编程口协议,能不能也切换到115200
联系电话15071699246,QQ296686949
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 373 个
工控威望: 521 点
下载积分: 1466 分
在线时间: 324(小时)
注册时间: 2017-06-12
最后登录: 2024-11-13
查看zmrs163的 主题 / 回贴
1楼  发表于: 2024-07-11 08:18
可以
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 373 个
工控威望: 521 点
下载积分: 1466 分
在线时间: 324(小时)
注册时间: 2017-06-12
最后登录: 2024-11-13
查看zmrs163的 主题 / 回贴
2楼  发表于: 2024-07-11 09:24
自适应的,你的代码指定波特率就行
引用
引用第3楼gzcjx555于2024-07-11 08:48发表的  :

有没有详细资料可以分享一下的?
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 373 个
工控威望: 521 点
下载积分: 1466 分
在线时间: 324(小时)
注册时间: 2017-06-12
最后登录: 2024-11-13
查看zmrs163的 主题 / 回贴
3楼  发表于: 2024-07-12 09:20
引用
引用第5楼gzcjx555于2024-07-11 09:49发表的  :

我建议你使用串口调试助手测试一下,我都已经验证过的,你可以参考下面这个网站的说明
https://blog.csdn.net/azhaoxin/article/details/87993225
http://www.ymmfa.com/read-gktid-74577.html
经过查找资料,3U上电默认为9600,通讯时PLC先会发05,如果返回06说明波特率匹配,如果不匹配则读取D8116,再写入D8118,然后再发送波特率切换命令,具体算法没找到,也就是根据D8116计算D8118的方法,应该需要逆向工具等方式得到或者花钱找已经破解的人要,超过能力范围了
[ 此帖被zmrs163在2024-07-12 10:05重新编辑 ]
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 373 个
工控威望: 521 点
下载积分: 1466 分
在线时间: 324(小时)
注册时间: 2017-06-12
最后登录: 2024-11-13
查看zmrs163的 主题 / 回贴
4楼  发表于: 2024-07-12 13:43
引用
引用第7楼gxtmdb82164于2024-07-12 09:35发表的  :
PLC那头波特率不也是通过设置寄存器配置的么,正常的项目PLC和上位机一起做的情况下,PLC程序进去第一行就是设置这种基础参数(上电第一个扫描周期驱动)

所以这个事情就有两个解法:
1、改PLC,往对应寄存器里面写设置值就行了,具体写什么要么查手册要么网上一搜,都有
2、以9600波特率发命令去改寄存器,改的内容和1一样的。这里面不用算什么的,甚至不存在什么匹配不匹配的,串口通信是纯数字量通信鲁棒性拉满,要么通要么不通。

编程口没有设置地址的
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 373 个
工控威望: 521 点
下载积分: 1466 分
在线时间: 324(小时)
注册时间: 2017-06-12
最后登录: 2024-11-13
查看zmrs163的 主题 / 回贴
5楼  发表于: 2024-07-16 15:08
引用
引用第9楼gzcjx555于2024-07-16 09:37发表的  :

你的这个D8116与8118寄存器地址是哪里的资料?这个网上好像是找不到的呀?

通过抓包可以看到报文中读取和写入的值和这两个寄存器值相同,读写这两个寄存器的报文结构和读写其他寄存器的好像有点不一样,但是地址的对应是一样的。不过知道了这两个地址也没太大的意义,因为你通过程序赋值的方式操作这两个寄存器并不能破解