我不抽烟
级别: 探索解密
精华主题: 0
发帖数量: 9 个
工控威望: 102 点
下载积分: 552 分
在线时间: 10(小时)
注册时间: 2016-03-29
最后登录: 2020-03-21
查看我不抽烟的 主题 / 回贴
楼主  发表于: 2018-09-04 08:25
有一个项目需要读取永宏PLC寄存器里面数据,通讯口2 波特率9600 无效验 数据位8 停止位1设定好之后就是通讯不上,用调试助手也不行,就是通讯超时,D0对应的地址是46001,我用46001和6001都试过都不行,哪位大神遇到过这个问题,读取永宏PLC里面数据还需要别的步骤吗?
jinle520
QQ:229441204
级别: 家园常客

精华主题: 0
发帖数量: 492 个
工控威望: 677 点
下载积分: 2447 分
在线时间: 444(小时)
注册时间: 2013-05-31
最后登录: 2024-10-23
查看jinle520的 主题 / 回贴
1楼  发表于: 2018-09-04 08:59
图片:
图片:
图片:
图片:
永宏通讯我比较熟悉,首先你这是MODBUS通讯的,你先联机PLC,设定PLC通讯口2为MODBUS协议,和通讯参数。



另一个方式,可以用永宏的通讯协议,那就很方便了。

根据永宏的协议格式来,开头:2    站号:01(PLC站号)  命令码:46(读取多个寄存器)  本文资料:?????    侦误值:???    结束:3

比如读取D0数据,通讯格式就是:2014601D00000623      16进制:02 30 31 34 36 30 31 44 30 30 30 30 30 36 32 03

永宏通讯参数默认值:波特率9600 偶效验 数据位7 停止位1