1 前言
台达高端PC-Based工业控制器(PAC)产品具备非常强大的DDA功能,虽然与该功能相关的API指令很少,但想要正確、应用存在一定的难度,主要困难点包括:(1)运动模型的建立问题,以SCARA机器人为例,必须根据SCARA的机构原理搭建合理的机器人运动模型,实现机器人的正运动学控制与逆运动学控制。(2)路径规划问题,良好的路径规划演算法可建立更加平滑的运动效果。本文针对以上两个难点,详细讲解SCARA机器人的模型推导,及运动路径规划,最终通过DDA功能实现SCARA机器人平滑运动控制。
2 DDA功能简介
DDA功能是台达运动控制卡提供的一种特殊指令,可以同时针对12个轴进行运动控制。当DDA功能开启后,运动控制卡可以每毫秒执行一笔DDA Table中的资料,其中DDA Table最大Buffer为1000笔数据,值得注意的是在Buffer执行完毕之前,不接受其他指令(如:Sd_Stop等)。
与DDA功能相关的API指令主要有四个,包括开启DDA填表功能 (enable_dda_mode)、向DDA Table中填写资料(set_dda_data)、以及取得资料(get_dda_cnt)和清除资料(clear_dda_data)的辅助指令。
2.1 开启DDA填表功能
_DMC_01_enable_dda_mode(U16 CardNo,U16 enable)
其中enable参数是unit16类型,每一个bit位代表一个从站,其中0表示DDA功能关闭,1表示DDA功能开启,如图1所示,现需开启从站1、2、3、4号四个轴DDA功能,只需让Enable=15就可以了。
2.2 向DDA Table中填写资料
_DMC_01_set_dda_data(U16 CardNo,U32* abs_pos)
开启DDA功能后,DDA Table中暂无资料,从站无动作。当向DDA Table中写入资料数据后,从站按资料信息进行动作。其中abs_pos是一个12轴的资料阵列。例如:现要对从站1、2、3、4 DDA Table发送数据,发送数据格式如图2所示。
2.3 辅助指令
_DMC_01_get_dda_cnt(U16 CardNo,U16* dda_cnt)
该指令可以取得目前DDA Table尚存的资料笔数。
_DMC_01_clear_dda_data(U16 CardNo)
该指令用来将DDA Table中尚存的资料清除,及清空DDA Table中的资料。当DDA Table中的资料执行结束前,其他的停止API是无效的,只有通过clear_dda_data指令清空DDA Table中的资料才能使伺服电机停止下来。
3 SCARA机器人
SCARA(Selective Compliance Assembly Robot Arm)中文译名是选择顺应性装配机器手臂,这是一种圆柱坐标型的特殊类型的工业机器人。SCARA系统在X、Y方向上具有顺从性,而在Z轴方向具有良好的刚度,特别适合于装配工作。同时,SCARA串接的两杆结构,类似人的手臂,可以伸进有限空间中作业然后收回,适合于搬动和取放物件。
在此采用台达SCARA机器人DRS40L、主机型PC-Based 工业控制器MH1-S30D、伺服驱动器&马达ASDA-A2,搭建测试平台,并设计MovL、MovP、MovArc、V_Move、Emg_Stop、Sd_Stop、HandType_Change等运动控制指令,Get_Position、Get_Joint_Ang、Get_Real_Speed、Get_Servo_Spd等状态监控指令。控制系统架构如图4所示。
5 结束语
依据上述程序流程设计,采用DDA功能实现SCARA机器人直线插补指令、圆弧插补指令、减速停止指令、单轴运动指令等,并整机测试通过。PAC产品具备的DDA功能可以作为一种解决特殊路径、奇异运动模型的方法,大幅提升PAC产品的功能属性,使PAC产品的应用领域更加广泛。
作者简介
李文胜 硕士研究生 研发资深工程师 研究方向:控制工程专业 就职于台达集团-中达电子(江苏)有限公司IMS应用开发部 主要负责台达IPC产品相关的系统开发、专案设计、产品推广与方案评估等工作,其中对激光控制系统与机器人运动控制系统具有深入的研究
共0条 [查看全部] 网友评论