登录
首页 PLC论坛 台达PLC
回帖 发帖
正文

主题:请大家帮帮忙!怎样使用台达PLC通过modbus通讯读取模块内位寄存器的状态。

点击:1385 回复:13

附件 模块说明.jpg
附件 PLC22.jpg
求大家帮帮忙!小弟新手,有一个模块说明如图,有整数寄存器和位寄存器地址,读、写整数寄存器的数据没问题,但是不会读取位寄存器的状态。比如我想读取M104的状态我用MODRW指令编程【MODRW K1 H1 K104 D0 K2】不成功,是不是我的寄存器地址不对
22-01-08 20:56

引用 ynylwwz 在 2022/1/8 20:56:29 发言【内容省略】

MODRW指令好像不支持01功能码,手册是这么写的,不过你可以测试一下!
22-01-09 14:54

引用 ynylwwz 在 2022/1/8 20:56:29 发言【内容省略】

你看看:
附件 image.jpg
22-01-09 14:54
模块说明读取位寄存器用01或05功能码,但是我都试过了01、02都不行
22-01-09 15:03

引用 ynylwwz 在 2022/1/9 15:03:11 发言【内容省略】

有MODRD,为啥不用它?
我其实不懂的,乱说。
22-01-09 16:12
问题是这个模块通讯地址分整数寄存器和位寄存器,直接用MODRD读不了位寄存器
22-01-09 16:49

引用 ynylwwz 在 2022/1/9 15:03:11 发言【内容省略】

监控一下PLC发出的命令,看看对不对。
22-01-09 16:50
其他整数寄存器的读、写功能都可以,就是位寄存器的不行,模块说明位寄存器操作需要01功能码,估计是台达PLC不支持
22-01-09 17:16
估计是台达PLC不支持01功能码!位寄存器不能操作了,只能用整数寄存器功能
谢谢你!
22-01-09 17:18

引用 ynylwwz 在 2022/1/9 17:16:53 发言【内容省略】

你可以用MODRW指令编写一个01功能码的程序,然后串口调试助手监控一下,看看PLC能不能正确发出01功能码的命令啊!
22-01-09 21:37

上一页下一页

工控新闻

更多新闻资讯