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

主题:欧姆龙CP1E+台达VFD-M MODBUS RTU通讯的问题。

点击:4880 回复:16

最近没事学习通讯。
做了实验,始终不能OK。
硬件CP1E+扩展块(D1300-1399),
D1300-D1304对应的是
变频器地址(#2),功能码()#6),字节数(#4),参数地址(#2010),参数内容(#5000)。
就是简单的写入频率。。
变频器确认频率来源为RS485,地址为02,通讯速度为 9600,数据格式为 8E1.
程序如下:
附件 1.jpg
有错误代码 88,例外相应,接收到来自从站的响应为例外响应。
附件 2W6)】XM4${DJV_JJZUBFKAW.jpg
18-01-20 23:48
变频器通信参数怎么设置的?!是否和PLC一致?!
18-01-21 00:09
发现问题了。。。写入内容不少16进制的 是10进制的。。。蛋疼。
18-01-21 00:12
你这个程序我感觉也不是特别好!1秒时钟脉冲上升沿可以直接把A641.00置位的,它会自动复位的!
18-01-21 00:13
这个是各标志位时序:
附件 untitled1.jpg
18-01-21 00:15
你可以用串口调试助手监控一下PLC发出的命令是不是:
02 06 20 01 48 00 E5 F9
18-01-21 00:20
谢谢版主,这么晚还在啊,我把频率改成很小的一个16进制,发现变频器频率显示有了,也不报错了,一换算就是10进制的,
把频率寄存器改成10进制就OK了。感谢。
明天把读的程序研究下。
家里硬件不太齐全,没有电脑转485的硬件 在公司才有。。呵呵~
18-01-21 00:21
而且查手册得知,你是打算实现给定频率,那么寄存器数据中16进制的4800换算为10进制就是18432,且频率分辨率是0.01,那么也就是说此时你打算写入的实际频率是184.32Hz!您确认要这么做吗?
===========================================
频率分辨率是0.01
假如你要写入48HZ的话,实际给寄存器写入的数据是4800,换算为16进制是12C0
那么此时PLC应该发送的命令是:
02 06 20 01 12 C0 DF 09
===========================================
您再细心看看!
18-01-21 00:24
而且即便到时候成功了,你的程序也不是特别合乎规范!A641.00是手动置位、自动复位的!你的程序有手动复位A641.00的嫌疑!
18-01-21 00:25

引用 guanyumou 在 2018/1/21 0:24:01 发言【内容省略】

嗯 感谢了,我HMI上面设置下,就可以了,PLC不做换算了。直接输入就OK了。
A641.00  OUT 也行  SET 也可以,测试了 可以自己复位,A641.01发送完成就ON了。
好像这样的 。
18-01-21 09:18

上一页下一页

工控新闻

更多新闻资讯