Kinco 智能伺服编程软件基础 2005.03.25
目录 1. 建立新工程文件 2. 基于地址表的编程模式 3. Kinco伺服提供的工作模式 4. 使用Eco2win控制速度、位置 5. 不同的原点方式 6. 如何建立一个主从控制系统 7. 如何建立Pulse/Dir应用 8. Sequence编程 9. Eco2win提供的内部资源 10. 通讯
1. 建立一个新工程文件 建立一个新工程文件,主要有下面几个步骤: 选择合适的通讯方式 选择合适的驱动器和电机 确定机械结构和单位
练习 利用RS232编程电缆连接PC与ED驱动器 建立一个新文件(*.ewp) 打开一个文件(*.ewp) 导入(Import)和导出(Export)文件(value.ewv) 理解工程文件和导入文件的区别 使用不同的单位对速度的计算的影响
2.基于对象词典的编程模式 ECO2WIN基于Sequence编程风格,类似于一个批程序对对象的赋值,这些对象在赋值后立即执行相应的动作。 这里说的对象(Objects)类似我们常说的内存地址,有些对象如速度和位置等可以由外部控制器修改,有些对象却只能由驱动器本身修改,如状态、错误信息。 对象可以有不同属性: 1.RW(读写):对象可以被读也可以写入 2.RO(只读):对象只能读 3.WO(只写): 只能写入 4.M(可映射):对象可映射,类似间接寻址 5.S(可存储):对象可存储在Flash-ROM区,掉电不丢失 所有的对象定义了相应的功能,定义的内容符合CANopen国际标准,即在所有 的基于CANopen的设备中具有相同的含义。
对象格式 所有的对象都由4个字节组成: 地址格式: Index Sub Bits 属性 含义 例如:6040 00 10 RW Control word for Device state 2509 00 08 R Configuration Master-slave gear 2509 02 32 W Mapping Salve velocity 2509 03 10 MW Gear factor 2509 04 10 MW Gear divider 2509 05 08 W Gear mode 2509 06 20 MW Actual position master 说明:Index(对象号),范围0x1000-0xxxxx subindex(Index对象的子地址) 范围0x00-0xff Bits ,地址内数据长度,8-1 byte,10-2 byte,20-4 byte
Direct object editor
练习 Directly object editor的使用 请说明下面几个对象的含义 60400010 ? 60600008 ? 60FF0020 ? 60410010 ? 26000220 ?
3.工作模式 速度模式 位置模式 力矩控制模式 回原点控制模式 主从控制模式 脉冲方向模式 位置 速度 力矩
4.利用Device Control控制伺服电机 Device Control是Eco2win软件内一个功能模块,可以完成伺服的在线 设置和监控。 速度模式的实现 Kinco伺服提供两种速度模式: 3 --- 带加减速的速度模式 -3 --- 立即速度模式 实现步骤: a.设置控制模式 =3 模式字常见命令值及功能 1 ----- 设置控制模式为位置模式 3 ----- 设定为带加减速曲线的速度模式 -3 ----- 设定为立即速度模式 -4 ----- 设定为主从和脉冲方向控制 6 ----- 原点模式的设定
b.设置速度、加速度、减速度 多极旋转伺服电机编码器分辨率:8000inc 高速旋转伺服电机编码器分辨率:80000inc 直线电机光栅尺分辨率建议:1us 目标速度:60FF0020; 加速度:60830020,减速度:60840020
c.控制电机动作 控制字常用命令值及功能介绍(60400010) 6 ----- 电机断电,驱动器初始化 F ----- 速度模式下电机使能 1F ----- 回原点模式时电机使能 3F ----- 位置模式下绝对定位使能 5F ----- 位置模式下相对定位使能 80 ----- 驱动器故障复位 86 ----- 驱动器故障复位并初始化 状态字各个位功能(60410010) Ready to Switch on Fault Target reached Commutation Found Reference Found
Device Control:
2. 位置模式 Kinco伺服提供两种位置操作: 绝对位置定位和相对位置定位 实现步骤: a.设置控制模式 =1 b.设定速度(Profile speed)、加速度、减速度、目标位置 Profile velocity: 60810020 加速度:60830020 减速度:60840020 目标位置:607A0020 c.设定绝对位置定位(60400010=3F)、相对位置定位(60400010=5F) 相关知识:
练习? 1. 利用Device control,实现电机正转,反转和停止 2. 利用Device control,理解绝对定位和相对定位
5.不同的原点方式 原点:Home switch ,Din8 原点是定义为零位置的一个参考点 原点由开关的关断来识别 回原点运动一运行,控制器就开始去寻找原点开关 实际的回零点通常采用常开型开关,以免开关一直通电。 Kinco伺服提供27种回原点方式,即可以用外部的开关信号,又可以用电机编器的Index信号,还可以用机械末端位置等做为原点信号 当前位置:Actual position 上限位:Positive Limit switch ,Din6 下限位:Negative limit switch , Din7 原点:Home switch ,Din8 EOT EOT
由负脉冲回零开关和INDEX指示回零 (模式5和6) DIN8接位于负向位置的原点开关信号 介绍一种原点方式: 由负脉冲回零开关和INDEX指示回零 (模式5和6) DIN8接位于负向位置的原点开关信号 往HOMING开关方向运动,在检测到HOMING开关的指示信号后停止,根据HOMING开关的电平正转或反转退开,一旦检测到HOMING电平变化,下一个的马达INDEX信号将被记录作为参考点。“reference found”的状态位被置上,马达减速停止。
设置上下限位: 上下限位生效的两个条件: DIN6,DIN7分别接上下限位信号 在Digital output如下设置 除了硬限位外,Kinco伺服还提供软限位: 在Parameters setting中提供 Min. software position limit Max. software position limit Homing mode: 60980008 Velocity during search for reference Switch: 60990120 Set point: 60990220 Acceleration during homing: 609a0020 Time limit for homing: 找原点动作时间
练习? 1. 试用一种原点方式,理解原点的概念。 2. 理解上下限位的概念 3. 尝试不同的原点方式。
6.如何建立一个主从控制系统 可通过主编码器(外部或者主伺服)的信号控制从机做跟随的模式。 可以设置不同的电子齿轮比实现同步跟随。 可以多个从机跟随同一个主编码器的运动。 跟随的方式可以采用速度或者位置的跟随。 从动组的成员轴以不同的电子齿轮比跟随虚拟主轴的运行 轴2 齿轮 虚拟轴 轴1 轴3 凸轮
具体见Electronic gear功能菜单 3.使能电机 60400010=F 建立主从控制的条件: 1.具备一个来自主轴的主编码器信号 2.设置相应的参数,如下图 设置控制字60600008=-4 设置Electronic gear参数 25090220=60FF0020 (映射速度60FF0020,即将master encoder 口的脉冲频率映射给内部速度地址) 25090310= 10000 25090410= 10000 25090508=0/1 具体见Electronic gear功能菜单 3.使能电机 60400010=F
练习? 1. 实际建立一个主从项目,齿轮比20000:10000
7.如何建立Pulse/Dir应用 可采用主编码器接口X7作为外部脉冲和方向信号的输入口。 配置驱动器的电子齿轮的映射为目标速度或目标位置。 可配置电子齿轮比。 可配置不同的齿轮模式,采用不同的输入信号,如:P/D,CW/CCW,AB相脉冲。 为保证信号的可靠接收,最好使用我们提供的PDC伺服连接器,可以有效的避 免外界信号的干扰。 设置方式基本同建立主从控制系统的参数设置,只是Gear mode=2 注意事项:驱动器外壳接地,电机接地线接Gnd,与上位机共用一个直流电源
8.Sequence编程 内部可编辑256段控制程序,程序之间可通过事件触发逻辑跳转。 程序中可控制电机的运动,也可以控制计数和定时功能。 程序中可以控制I/O 。 可以通过I/O来触发不同的程序段,共8个Input,即可以直接设定为 调用16段(8个输入的上升沿和下降沿共16种状态)程序,也可以通过 BCD码方式调用内部256段程序。
通过8个输入调用Sequence 配置Digital Input:
如设定DIN1-5为BCD输入信号,DIN6为高位的使能信号,则操作顺序为: 输入BCD信号->使能DIN6信号。 2-7个输入信号可以生成BCD格式 1个BCD输入+定义的最高位触发信号作为实际的输入信号 调用的Seq程序号=输入的BCD值+偏移值(Offset) BCD输入 使能BCD输入的触发信号(输入) 逻辑状态 BCD输入最大值 偏移值 (Offset) 实际调用的程序号(Sequence No.) 没有偏移值 有偏移值 DIN1-2 DIN3-8 4 03 04 00-03 04-07 DIN1-3 DIN4-8 8 07 08 00-07 07-0F DIN1-4 DIN5-8 16 0F 10 00-0F 0F-1F DIN1-5 DIN6-8 32 1F 20 00-1F 1F-3F DIN1-6 DIN7-8 64 3F 40 00-3F 3F-7F 范例: 如设定DIN1-5为BCD输入信号,DIN6为高位的使能信号,则操作顺序为: 输入BCD信号->使能DIN6信号。
练习? 1.编写sequence实现: 正转,速度=80000inc/s 反转,速度=160000inc/s 停止,速度=0 配置Digital input, 要求 Din1(L->H)-正转 Din1(H->L)-停止 Din2(L->H)-反转 Din2(H->L)-停止 2.编写sequence实现: Din1,回原点 Din2,第一个位置10000 Din3,第二个位置30000 利用BCD方式调用Sequence
9. Eco2win提供的内部资源 1个计算器 4个比较器 1个定时器 4个计数器 1个快速位置捕捉事件 临时变量表格 多个内部事件,如到位、找到原点、上电、使能等 所有上述资源都可以在Sequence编程中使用
练习? 1. Din1触发一次,计算器1加1 Din2触发一次,计算器1减1 Din3触发一次,计算器1清零 2 练习? 1. Din1触发一次,计算器1加1 Din2触发一次,计算器1减1 Din3触发一次,计算器1清零 2. 比较主编码器数据,大于20000时,齿轮比=2:1 3. Din4触发2秒后,将当前模式设为位置模式 4. 上电后调用一段程序,该程序将控制模式设为主从控制
10. 通讯 提供开放的串口通讯协议,PC.PLC.单片机等具有 串口的设备均可以利用该协议和ED通讯。 可通过RS232和RS485来控制驱动器的参数和运转。 可通过串口监控伺服的运转状态。 RS232,Baud9.6k,最大15个站点,最大电缆长度15m RS485,Baud38.4k,最大15个站点,最大电缆长度450m eView触摸屏直接连接ED伺服,最多可以连接 15个站点
通讯协议 1.下载数据,数据由主站发送到从站 byte0 byte1 byte2 byte3 byte4 byte5 byte6 byte7 主站发送命令格式: byte0 byte1 byte2 byte3 byte4 byte5 byte6 byte7 CMD INDEX SUB DATA INDEX CMD 指定传输数据的方向和数据长度,可能值有 23 hex 送4 byte 数据 (bytes 4...7 含32 bit 值) 2b hex 送2 byte 数据 (bytes 4...5 含16 bit 值) 2f hex 送1 byte 数据 (bytes 4 含8 bit 值) INDEX 16 bit 值,数据放在对象地址表中的索引地址 SUBINDEX 8 bit 值, 数据放在对象地址表中的索引地址的子索引 DATA 8, 16 or 32 bit 值 从站响应: RES INDEX SUB RESERVED RES 从的响应, 可能值有: 60 hex 传送成功 80 hex 传送错误, bytes 4...7 含错误原因 RESERVED 根据RES值,不使用或为错误原因
2.上传请求, 由从发送到主(由主站发送读命令,从响应后将数据发送回主) 上传不存在的对象回导致响应错误信息 主发送: byte0 byte1 byte2 byte3 byte4 byte5 byte6 byte7 CMD INDEX SUB RESERVED INDEX CMD 指定传输数据的方向 40 hex RESERVED byte 4...7 not used 从答复: RES INDEX SUB DATA RES displays slave response, possible values are: 43 hex bytes 4...7 含32 bit 数据 4B hex bytes 4,5 含16 bit 数据 4F hex byte 4 含8 bit 数据 80 hex 错误, bytes 4...7 含错误原因
举例: 写: 从HOST发送数据给slave 01 2b 18 21 00 31 00 00 00 6A 调用31H段子程序 答复:01 2B 18 21 00 31 00 00 00 6A 01 60 18 21 00 00 00 00 00 66 01 2b 18 21 00 08 00 00 00 93 调用08H段子程序 答复:01 2B 18 21 00 08 00 00 00 93 01 60 18 21 00 00 00 00 00 66 01 2b 18 21 00 0a 00 00 00 91 调用0AH段子程序 答复: 01 23 ff 60 00 00 20 4e 00 0f 设速度为600转/分(10转/秒=80000inc/s= 80000*64 inc/64s) 01 23 ff 60 00 00 d0 07 00 a6 设速度为60转/分 01 2b ff 60 00 00 00 00 00 75 设速度为0转/分 读: 从HOST发送数据给slave 01 40 ff 60 00 00 00 00 00 60读速度值(当前速度为600转/分) 从答复 01 40 FF 60 00 00 00 00 00 60 01 43 FF 60 00 00 20 4E 00 EF (当前速度为600转/分) 01 40 FF 60 00 00 00 00 00 60 01 43 FF 60 00 00 D0 07 00 86 (当前速度为60转/分)
eView触摸屏与ED通讯 eView与单台ED伺服通讯 eView与多台ED伺服通讯 触摸屏(PLC RS232)口 ED X5(RS232) RxD 3 --------------------------- 2 TX TxD 2 --------------------------- 3 RX GND 5 --------------------------- 5 GND eView与多台ED伺服通讯
ED伺服的RS485通讯 RS485,Baud38.4k,最大15个站点,最大电缆长度450m
总线通讯 支持CANopen、Profibus DP 总线。 可通过总线控制驱动器的参数和运转。 可通过现场总线实现多轴的联动或者插补。
练习? 利用“串口调试精灵”软件将控制模式设为3