登录
首页 PLC论坛 欧姆龙OMRON
回帖 发帖
正文

主题:cp1h和D700进行 modbus通信疑问

点击:1520 回复:22

请教,各位大哥,omron cp1h和三菱D700做MODBUSRTU通信,用03功能码,可以读PR4 PR5和PR6,也可以用功能码06写PR4或者PR5或PR6
现在遇到问题,想用功能码06来写4万09寄存器,控制变频器启动或者停止,就会遇到报错,报错和设置如附件
附件 1572439089(1).jpg
最后修改:2019/10/30 20:49:04
19-10-30 20:43
你这个有几个错误.
不知道你03功能成功没有?
因为我不知道你这个数据是按16位还是8位?
看后面应该是按8位的,假设是8位.
4万9的寄存器在报文里面应该是0008.
整个报文是01060008(地址)数据crc.
19-10-30 21:39
03成功了06也成功了,但是06写4万9就报错,我的报文d32303是0008,请看截图
19-10-30 21:44

引用 pqsh 在 2019/10/30 21:39:06 发言【内容省略】

不明白版主说的8位、16位的意思
D700变频器控制启停寄存器的实际地址就是10进制的8或者16进制的8啊!
你是说楼主截图中的0004不对?
19-10-31 00:19

引用 supperlunch 在 2019/10/30 21:44:07 发言【内容省略】

D32300送16进制0001(高8位固定为00、低8位为从站站号)
D32301送16进制0006(高8位固定为00、低8位为功能码)
D32302送16进制0004(通信数据字节数,为Modbus RTU报文中除去站号、功能码其余的字节数,对于06功能码来说为4)
D32303送16进制0008(寄存器地址,对于D700变频器寄存器编号40009来说,其实际地址就为0008)
D32304送16进制0002(寄存器数据,给定0002启动、给定0001停止)
之后将A640.00置位
用串口调试助手观察一下PLC的输出数据
这之前最好用串口调试助手去测试一下变频器,保证其通信参数设置OK
19-10-31 00:24

引用 supperlunch 在 2019/10/30 21:44:07 发言【内容省略】

之所以让您来论坛,主要是论坛高手很多。所以QQ上我就没回复您!
19-10-31 00:28

引用 supperlunch 在 2019/10/30 21:44:07 发言【内容省略】

错误代码表格发给您:
附件 image.jpg
19-10-31 00:29
也可以去欧姆龙官网下载Modbus RTU Master功能块,这使用起来比Modbus RTU简易主站就方便多了
附件 image.jpg
附件 image.jpg
附件 image.jpg
19-10-31 00:33
这么说我的命令报文是没有错的,但是为什么会报错呢?因为用06功能码来写pr04的频率时是没有报错,而且之后查看变频器pr04确实时成功写入了,怎么写4万09就不行呢?我没用写程序,都是在plc寄存器监控并填写数值模拟的
三张截图分别为
03功能码读41004的频率  结果为1770Hex即60.00HZ
06功能码写41004的频率  结果写入成功1Hex
06功能码写40009寄存器  结果报错
附件 03.jpg
附件 06.jpg
附件 06err.jpg
最后修改:2019/10/31 9:07:47
19-10-31 07:22
[quote][b]以下是引用guanyumou2019/10/31 0:33:17的发言:
成功了,就是D700的参数没设好,参考你2012年的这篇文章,http://m.gkong.com/bbs/archive.aspx?Boardid=4&id=315911搞好了,非常感谢各位坛友的热心回复
附件 06suc.jpg
附件 7254aa74b6ae818716e214cb5991443.jpg
最后修改:2019/10/31 9:35:54
19-10-31 09:32

上一页下一页

工控新闻

更多新闻资讯