基于Profibus_DP的工业机器人在自动生产线中的循环操作控制
2013-06-06魏志丽
魏志丽
(广东松山职业技术学院,广东韶关 512126)
0 引言
在发达国家中,工业机器人自动化生产线成套设备已成为自动化装备的主流及未来的发展方向。国外汽车、电子电器、工程机械等行业已经大量使用工业机器人自动化生产线,以保证产品质量,提高生产效率,同时避免了大量的工伤事故。全球诸多国家近半个世纪的工业机器人的使用实践表明,工业机器人的普及是实现自动化生产,提高社会生产效率,推动企业和社会生产力发展的有效手段。
1 系统的组成与功能
自动生产线主要由井式送料装置、传送带、水平推杆、翻转机械手、龙门机械手、装配机器人以及配套的气动、电气控制系统组成,如图1所示。
图1 自动生产线组成
随机摆放的工件1 由井式送料装置送出,经传送带向下传送。传送过程中,经翻转机械手将工件的开口调整为同一方向,同时将工件1(非金属)用水平推杆推除。工件1(金属)到达传送带尾部后,由龙门机械手将工件1(金属白色)放在3#工位,工件1(金属黑色)放在4#工位滑槽。工件1 经滑槽滑入A 工作台,机器人先将工件1(金属黑色)从A 工作台移至B 装配台,而后将工件2 与工件1(金属黑色)装配,最后按1~9 的编号顺序将装配件放入成品料架指定的位置,如图2 所示。
图2 工件装配位置
2 系统分析
2.1 系统硬件和网络组成
系统主站使用西门子S7-300PLC 控制井式送料装置、传送带、水平推杆和龙门机械手,从站西门子S7-200PLC 控制翻转机械手的执行,从站PLC 与 主 站PLC 通 过EM277 实 现Profibus-DP 通信,在DP网络中设置为3号站。ABB机器人作为从站,完成工件1 与工件2 的装配工作,与主站S7-300PLC 实现Profibus-DP 通信,在网络中设置为4 号站。网络连接如图3 所示,西门子S7-300PLC 在网络中作为主站,可以对从站进行读写操作,硬件和网络组态是在西门子组态软件STEP7 中完成的,需要添加EM277 和ABB 机器人的GSD文件。
2.2 工业机器人
图3 系统网络连接
系统使用ABBIRB120工业机器人,编写机器人程序之前要设置一些重要的程序数据,程序数据是在程序模块或系统模块中设定值和定义一些环境数据。创建的程序数据由同一个模块或其他模块中的指令进行引用[1]。
(1)工具数据TOOLDATA
工具数据TOOLDATA是用于描述安装在机器人第六轴上的工具TCP、重心和重量等参数数据。执行程序时,机器人就是将TCP 移至编程位置,程序中描述的速度与位置就是TCP 点在对应工件坐标中的速度与位置。
(2)工件坐标
工件坐标的设置主要是为了方便编程和坐标的偏移,使用三点法,分别设置工件2 料架的工件坐标为Wobj_C,成品料架工件坐标为Wobj_D。
(3)LOADDATA
对于搬运用的机器人除应设定夹具的重量和重心外,还应设置搬运对象的重量和重心数据。
(4)机器人目标点(Robottarget)
作为机器人运动的目标,可以用示教器示教,但工件2 料架和成品料架工位较多时,不能一一示教,只需示教其中一个点,其他点可通过该点的偏移得到。该系统中的Robottarget 可分为常量和变量,如A、B、C 和D 点的机器人目标点设置为PA、PB、PC 和PD,这些点均设置为常量,使用示教器直接示教出来。工件2 料架及成品料架上的机器人目标点均为变量,分别设置为P20和P30,这些点可通过PC和PD偏移得到。
2.3 机器人关节运动指令
系统中,ABB 工业机器人的关节运动指令主要使用MOVEJ 和MOVEL,MOVEJ 指令主要在空间位置改变时使用,而MOVEL指令则在抓放工件过程中运行直线路径时使用,避免在抓放工件过程中与工件发生碰撞,使用MOVEL指令时转弯数据使用fine,避免提前对工件进行抓放。
2.4 机器人的I/O设置
ABB 工业机器人与西门子300PLC 实现的是Profibus-DP通信,在机器人控制柜上安装Profibus适配器DSQC667,DSQC667 支持512 点数字输入和数字输出。在示教器的配置系统参数中,需要设置如下参数。
(1)Unit Type:设置通信长度是1 个字节的输入和输出。
(2)Unit:设置Profibus适配器DSQC667的站地址为4。
(3)Signal:设置1 个输入信号,此信号来源于西门子300PLC,作为检测到工件1 到滑槽,使机器人动作的信号;2 个输出信号,其中一个作为完成装配的信号传送给主站,另外一个是使相应的夹具动作的信号。在Signal 设置中主要选择分配的Unit 和地址偏移量,此处的地址偏移量要与西门子S7-300PLC 中的地址相对应,因此在西门子组态软件STEP7 中进行硬件和网络组态时,必须安装ABB 机器人GSD 文件,安装的路径为:STEP7 硬件组态画面菜单选项→安装GSD 文件→HMS_1811.GSD →安装。此GSD 文件的目录为RobotWare5.13UtilityFieldbusProfibusGSDHMS_1811.GSD。
安装GSD 文件完成后,设置通信长度各为一个字节的输入和输出通信区,在硬件组态画面硬件目录→Additional Field Bus →Anybus-CC PROFIBUS DP-V1 →Universal module,双击插槽1,在DP 属性中设置I/O 类型为输出输入,各为1 个字节。
2.5 FOR循环语句
在工业生产过程中,机器人要完成许多有规律性的重复操作,因此机器人程序中需要重复执行某些语句,这些被重复执行的语句称之为循环体。执行循环控制操作的语句有FOR、WHILE等语句。
2.5.1 FOR循环语句
FOR 循环语句结构简洁,使用方便,结构如下:
循环体
(1)i是循环控制变量;
(2)循环控制变量的初始值i=0;
(3)循环的终止条件,当i>2 时,循环终止,因此当i=0,1,2时,循环体被执行三次,每次执行完循环体,循环控制变量自动加1,直至i>2,终止循环体执行。
2.5.2 FOR循环的嵌套
循环体
此双重FOR 循环外循环的循环控制变量为i,内循环的循环控制变量为j,循环体执行的次数为i和j变化的乘积,共9次:
当i=0 时j=0、1、2,依次执行循环体,共3次;
当i=1 时j=0、1、2,依次执行循环体,共3次;
当i=2 时j=0、1、2,依次执行循环体,共3次。
2.5.3 机器人目标点与双重FOR语句循环控制变量i、j之间的关系
循环控制变量i和j变化的组合如下,其中i为行变化,j为列变化:
机器人目标点位置排列:
如上分析,工件2 料架上的每个机器人目标点均可通过对C 点的X、Y 坐标偏移得到(Z 无变化,偏移量为0),机器人目标点可设置为:P20=Offs(PC,-120i,-90j,0),其中-120i 为X 坐标变化量,-90j 为Y 坐标变化量。当i=0,j=0 时,P20即是PC,由于工件坐标设置和机器人基座标设置方向相同,所以偏移量中出现负数表示与工件坐标的X、Y正方向相反。
由于双重FOR循环i和j的排列顺序,机器人在工件2 料架上取工件的顺序是先按行0,行1,行2 的顺序取工件2,如想按列取工件2,可改变FOR 循环的内外循环的变量的位置,如:
可使抓取工件按照列0、列1和列2的顺序进行。
同样,成品料架每个机器人的目标点均可通过PD的偏移得到,由于成品料架栈条的高度不同,Z 的偏移量与行变化i有关,P30=Offs(PD,120i,90j,-20i)。
图4 系统网络连接
2.6 系统流程图
系统流程图如图4 所示,包括初始化子程序、主程序和三个取放子程序。
3 结束语
通过分析,工业机器人通过Profibus-DP总线通信方式与主站连接,使系统主从通信方式更简单、方便,FOR 循环语句编写机器人循环操作的程序,使程序结构更紧凑。工业机器人在自动生产线中的应用,使产品的质量和生产效率都得到了明显的提高。
[1]叶晖,管小清.工业机器人实操与应用技巧[M].北京:机械工业出版社,2010.