您现在所在的是:

PLC论坛

回帖:17个,阅读:1264 [上一页] [1] [2] [下一页]
* 帖子主题:

485通讯调速问题

18178
pan_xiansheng
文章数:2380
年度积分:672
历史总积分:18178
注册时间:2011/11/18
发站内信
2018论坛解答高手
2015论坛贡献奖
发表于:2012/5/14 17:28:17
#10楼
根据台达样例说明,再查看楼主的程序,可发现仅有两处不同:
1、D106上与D107下表示的频率不同,楼主发送的是H4000(相当于50HZ),而Danfoss发送的频率是H2000(相当于25HZ)
2、楼主程序中M2中的D131的数据为H1203,而Danfoss的D101发送的数据是H1201,“03”与“01”的区别就是站号地址不同。
18178
pan_xiansheng
文章数:2380
年度积分:672
历史总积分:18178
注册时间:2011/11/18
发站内信
2018论坛解答高手
2015论坛贡献奖
发表于:2012/5/14 18:19:44
#11楼
既然楼主说,可以通讯控制变频,仅仅是单一频率,无法调频。
根据楼主以上的说法,若要实现频率可调,必须计算校验码。
当PLC发送:
02 0E 01 1200 0000 00000000 047F 2000 44
由以上数据可看出,02 0E 01 12 00 00 00 00 00 00 00 04 7F是恒定不变,仅仅是频率( 2000)在变化,由此导致校验码( 44)也同时变化。
Danfoss的校验规则是异或校验,首先将恒定数据“02 0E 01 12 00 00 00 00 00 00 00 04 7F”进行异或,异或的结果=H64,由于频率数据是变量,因此需要用指令进行计算:
首先将频率变量D350分解为两个字节(D300、D301)
DIV D350 H100 D300
WXOR H64(恒定数据校验码) D300(频率变量的高8位) D302(过渡校验码)
再次异或:
WXOR D302(过渡校验码) D301(频率变量的低8位) D303(校验码)
取D303校验码,将它高、低字节对调:
SWAPP D303
将D301与D303合并:
WAND D301 D303 D107
以上D107就是最终的数据,其中高8位是校验码,低8位是频率变量的低8位。

附件
[此贴子已经被作者于2012/5/14 18:42:00编辑过]
18178
pan_xiansheng
文章数:2380
年度积分:672
历史总积分:18178
注册时间:2011/11/18
发站内信
2018论坛解答高手
2015论坛贡献奖
发表于:2012/5/14 18:36:40
#12楼
以上程序中,对寄存器进行分解、合并比较麻烦,弄不好还容易出错。其实,也可以用8位模式进行通讯即SET M1161,由此可避免分解、合并的麻烦。
18178
pan_xiansheng
文章数:2380
年度积分:672
历史总积分:18178
注册时间:2011/11/18
发站内信
2018论坛解答高手
2015论坛贡献奖
发表于:2012/5/14 19:58:21
#13楼
突然发现楼主的程序有两种通讯格式,以下通讯格式属于求和校验,01是头码,不参加校验,最后的一个寄存器(16位)是求和校验码。究竟哪一个格式是富士变频的协议,哪一个指令(M1?M2?)是单一频率指令?
附件
[此贴子已经被作者于2012/5/14 20:00:35编辑过]
5713
lsg1971
文章数:1740
年度积分:95
历史总积分:5713
注册时间:2007/4/25
发站内信
发表于:2012/5/15 14:57:46
#14楼
老师高手:多谢了.
这个程序本来就是丹佛斯和富士混和控制的.共有四台富士二台丹佛斯.
再次谢谢你的无私帮助!
初学乍练.大家多关照
5713
lsg1971
文章数:1740
年度积分:95
历史总积分:5713
注册时间:2007/4/25
发站内信
发表于:2012/5/15 15:11:26
#15楼
以下是引用pan_xiansheng在2012/5/14 18:19:44的发言:
既然楼主说,可以通讯控制变频,仅仅是单一频率,无法调频。
根据楼主以上的说法,若要实现频率可调,必须计算校验码。
当PLC发送:
02 0E 01 1200 0000 00000000 047F 2000 44
由以上数据可看出,02 0E 01 12 00 00 00 00 00 00 00 04 7F是恒定不变,仅仅是频率( 2000)在变化,由此导致校验码( 44)也同时变化。
Danfoss的校验规则是异或校验,首先将恒定数据“02 0E 01 12 00 00 00 00 00 00 00 04 7F”进行异或,异或的结果=H64,由于频率数据是变量,因此需要用指令进行计算:
首先将频率变量D350分解为两个字节(D300、D301)
DIV D350 H100 D300
WXOR H64(恒定数据校验码) D300(频率变量的高8位) D302(过渡校验码)
再次异或:
WXOR D302(过渡校验码) D301(频率变量的低8位) D303(校验码)
取D303校验码,将它高、低字节对调:
SWAPP D303
将D301与D303合并:
WAND D301 D303 D107
以上D107就是最终的数据,其中高8位是校验码,低8位是频率变量的低8位。

附件
[此贴子已经被作者于2012/5/14 18:42:00编辑过]
明白了.谢谢老师的无私帮助
初学乍练.大家多关照
18178
pan_xiansheng
文章数:2380
年度积分:672
历史总积分:18178
注册时间:2011/11/18
发站内信
2018论坛解答高手
2015论坛贡献奖
发表于:2012/5/15 17:10:16
#16楼
以上分析是针对丹佛斯变频的,丹佛斯变频是异或校验,而富士变频的校验与此相类似,似乎比丹佛斯还要简单,富士是求和校验,方法与上述一样。看样子楼主已经解决了,本人不再重复,现提供一份富士通讯协议,供各位参考。
附件
5713
lsg1971
文章数:1740
年度积分:95
历史总积分:5713
注册时间:2007/4/25
发站内信
发表于:2012/5/15 17:44:12
#17楼
谢谢
初学乍练.大家多关照

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

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

46.8003