您现在所在的是:

PLC论坛

回帖:16个,阅读:4723 [上一页] [1] [2] [下一页]
20918
bnnyygy
文章数:5990
年度积分:1584
历史总积分:20918
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2018/1/20 23:48:41
#0楼
最近没事学习通讯。

做了实验,始终不能OK。

硬件CP1E+扩展块(D1300-1399),
D1300-D1304对应的是

变频器地址(#2),功能码()#6),字节数(#4),参数地址(#2010),参数内容(#5000)。

就是简单的写入频率。。

变频器确认频率来源为RS485,地址为02,通讯速度为 9600,数据格式为 8E1.


程序如下:




附件 1.jpg


有错误代码 88,例外相应,接收到来自从站的响应为例外响应。
附件 2W6)】XM4${DJV_JJZUBFKAW.jpg



27956
guanyumou 版主
文章数:10552
年度积分:1139
历史总积分:27956
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2018/1/21 0:09:35
#1楼
变频器通信参数怎么设置的?!是否和PLC一致?!
20918
bnnyygy
文章数:5990
年度积分:1584
历史总积分:20918
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2018/1/21 0:12:07
#2楼
发现问题了。。。写入内容不少16进制的 是10进制的。。。蛋疼。
27956
guanyumou 版主
文章数:10552
年度积分:1139
历史总积分:27956
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2018/1/21 0:13:07
#3楼
你这个程序我感觉也不是特别好!1秒时钟脉冲上升沿可以直接把A641.00置位的,它会自动复位的!
27956
guanyumou 版主
文章数:10552
年度积分:1139
历史总积分:27956
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2018/1/21 0:15:35
#4楼
这个是各标志位时序:
附件 untitled1.jpg
27956
guanyumou 版主
文章数:10552
年度积分:1139
历史总积分:27956
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2018/1/21 0:20:12
#5楼
你可以用串口调试助手监控一下PLC发出的命令是不是:
02 06 20 01 48 00 E5 F9
20918
bnnyygy
文章数:5990
年度积分:1584
历史总积分:20918
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2018/1/21 0:21:15
#6楼
回复 #4楼 guanyumou
谢谢版主,这么晚还在啊,我把频率改成很小的一个16进制,发现变频器频率显示有了,也不报错了,一换算就是10进制的,

把频率寄存器改成10进制就OK了。感谢。

明天把读的程序研究下。


家里硬件不太齐全,没有电脑转485的硬件 在公司才有。。呵呵~
27956
guanyumou 版主
文章数:10552
年度积分:1139
历史总积分:27956
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2018/1/21 0:24:01
#7楼
而且查手册得知,你是打算实现给定频率,那么寄存器数据中16进制的4800换算为10进制就是18432,且频率分辨率是0.01,那么也就是说此时你打算写入的实际频率是184.32Hz!您确认要这么做吗?
===========================================
频率分辨率是0.01
假如你要写入48HZ的话,实际给寄存器写入的数据是4800,换算为16进制是12C0
那么此时PLC应该发送的命令是:
02 06 20 01 12 C0 DF 09
===========================================
您再细心看看!
27956
guanyumou 版主
文章数:10552
年度积分:1139
历史总积分:27956
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2018/1/21 0:25:53
#8楼
而且即便到时候成功了,你的程序也不是特别合乎规范!A641.00是手动置位、自动复位的!你的程序有手动复位A641.00的嫌疑!
20918
bnnyygy
文章数:5990
年度积分:1584
历史总积分:20918
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2018/1/21 9:18:13
#9楼
以下是引用guanyumou2018/1/21 0:24:01的发言:
而且查手册得知,你是打算实现给定频率,那么寄存器数据中16进制的4800换算为10进制就是18432,且频率分辨率是0.01,那么也就是说此时你打算写入的实际频率是184.32Hz!您确认要这么做吗?
===========================================
频率分辨率是0.01
假如你要写入48HZ的话,实际给寄存器写入的数据是4800,换算为16进制是12C0
那么此时PLC应该发送的命令是:
02 06 20 01 12 C0 DF 09
===========================================
您再细心看看!


嗯 感谢了,我HMI上面设置下,就可以了,PLC不做换算了。直接输入就OK了。

A641.00  OUT 也行  SET 也可以,测试了 可以自己复位,A641.01发送完成就ON了。

好像这样的 。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003