[face=楷体_GB2312]作 者:周庄贺[/face]
[face=楷体_GB2312]gkong用户名:shduketech[/face]
[face=楷体_GB2312]单 位:上海度柯自动化科技有限公司[/face]
[face=楷体_GB2312]主 题:使用Haiwell PLC与Kinco ED400伺服的自由协议通讯实现转矩控制[/face]
海为PLC体验报告
《使用Haiwell PLC与Kinco ED400伺服的自由协议通讯实现转矩控制》
使用Haiwell的串行通讯指令COMM,能非常容易的实现对Kinco ED400伺服转矩控制。如下具体介绍如何使用Haiwell PLC实现此控制的方法。供大家参考。
一.Haiwell串行通讯指令COMM指令说明:
(详见Haiwell_PLC使用手册中文)
二.ED430伺服驱动器说明:
ED400驱动器默认的通讯设置为:波特率(默认值)= 9600bps;数据位 = 8;停止位 = 1;无奇偶校验。由于采用的是RS485通讯,波特率最大可以设置为38.4Kbps。这里仅使用了默认设置。
三.通讯接线
ED400 (X5) Haiwell Port=2时,表示用COM2口即RS-485口通信
7、8(RX-) ————————————- 8(B-)
2、3(RX+) ———————————— 3(A+ )
四.指令设置
Tn:欲发送数据字节数,为10;
Rn:欲接收数据字节数,为0;(当Rn=0时,本指令只发送数据而不接收数据。)
PLC欲发送数据起始地址:xx
Protocol通讯格式:b7b6b5=011,(波特率(默认值)= 9600bps);b4b3=11,(数据位 = 8);b2b1=00,(无奇偶校验);b0=0,(停止位 = 1)。
01111000=78H=120
通讯口号,Port=2时,表示用COM2口即RS-485口通信。
8位数据表示方式为:
ID=01;
CMD=2B,(发送2个自己的数据);
INDEX=6071,SUBINDEX=00;
DATA=0030H;
用WINDOWS附带的科学计算器计算前面9个数据取和取负,CHKS=D3(30),
数据寄存器由低到高依次存放数据为:01 2B 71 60 00 00 00 00 00 D3
启动:
ID=01;
CMD=2B,(发送2个自己的数据);
INDEX=6040,SUBINDEX=00;
DATA=000FH;
用WINDOWS附带的科学计算器计算前面9个数据取和取负,CHKS=25;
数据寄存器存放数据为:01 2B 40 60 00 0F 00 00 00 25
如下的可以实现设置转矩为零的通信。该通信只需要一个上升沿瞬间即可完成。 对应表格 如下指令可实现设置转矩为30的通信,只需要一个上升沿周期即可。 对应表格 另外,必须使用一个复位指令,否则即使使用M2的常开常闭触点替换也不能正确执行。 使用一个上升沿指令复位。 实验证明,程序的通信跟port 2在“PLC—>设置PLC通信协议”中的设置与否无关。比方如下的设置并不影响PLC跟ED400的自由协议通信。 其他方面:
通过软件启动/停止PLC,虽然实际上已经操作成功,但会弹出对话框提示“通讯失败!”。
在使用中,遇到过一开始选型错误,但并未注意,编写了很长时间之后才发现,这时更正的话,根据以前使用其他PLC的习惯是在左边树形目录的“PLC硬件配置”里去找,可是并不能在这里更改。后来用海为PLC的时间长了才知道是到“文件—>程序项目属性”里面更改。如果能考虑在树形目录里也能做出更改,或许比较符合工程人员的习惯。
-----------------------------------------------------------------------
原文阅读:
附件:
[本地下载]最后修改:2011/6/15 14:16:38