三菱机械手与触摸屏的数据共享试验与研究
2015-02-19陕西汉江机床有限公司汉中723003张新宁党玉厚
■陕西汉江机床有限公司 (汉中 723003) 张新宁 党玉厚
三菱机械手与触摸屏的数据共享试验与研究
■陕西汉江机床有限公司 (汉中 723003) 张新宁 党玉厚
摘要:利用三菱机械手CRnD-700控制器的扩展功能,与触摸屏GT1275网线直连,通过机械手控制器共享数据区进行数据共享访问。通过模拟交通灯来验证共享区数据的正确性,并将该结果推广到多个子项目中,获得了专家认可。
工业机器人是面向工业领域的多关节机械手或多自由度的机器人,是自动执行工作的机器装置,是靠自身动力和控制能力来实现各种功能的一种机器。它可以接受人类指挥,也可以按照预先编排的程序运行,还可以接受示教而完成各种简单的重复动作。示教过程中,机械手可依次通过工作任务的各个位置,这些位置序列全部记录在存储器内,在任务的执行过程中,机器人的各个关节在伺服驱动下依次再现上述位置,故这种机器人的主要技术功能被称为“可编程”和“示教再现”。
在工业生产中能代替人做某些单调、频繁和重复的长时间作业,或是危险、恶劣环境下的作业,在国家重大专项“五轴联动高速、精密可转位刀片周边和双端面刃磨数控工具磨床(2010ZX04001-162)”上,机械手的主要作用就是给加工机床上、下料(小刀片),配合机床加工并将加工好的刀片进行管理,每天加工能力在600片以上。强度之大难以想象。
在使用机械手的过程中,出现了许多不容易解决的问题。通过对加工工艺流程的改进、程序控制逻辑的修正、机械手新功能的开发和使用,都有较好的效果。下面就三菱四轴水平关节机器人和触摸屏之间的数据共享进行论述。
所谓数据共享,就是在机械手控制器的存储器内单独开辟一块专用区域,机械手控制器将机械手的操作数据写入存储区,而触摸屏(简称GOT)从存储区取得相应数据,通过简单的处理,将机械手的状态以信息显示的方式在GOT屏上显示出来。反之,GOT屏上设置的数据写入共享区,机械手控制通过相应指令读取设置信息,根据设置数据情况进行程序操作,使得机械手执行相应的动作,以实现数据共享的交互操作。
1. 三菱机械手控制器CRnD-700与三菱触摸屏GT1275(以下简称GOT)之间连接
由于三菱机械手控制器和三菱触摸屏都支持网络连接,因此只需要通过一根平行网线进行网络连接即可。所说的平行网线就是通常的通用网线,不需要特别制作。连接图如图1所示。
图1 机械手控制器与GT1275的连接
2.三菱机械手控制器数据区域的构成
三菱机械手控制器数据区域包括用户数据区和扩展数据区。在用户数据区中,机械手控制器基本配置为:Input 0~95,Output 0~95;扩展I/O地址:Input 96~511,Output 96~511。
如果需要使用控制器的共享扩展存储区域,就必须设置控制器参数“IQMEM”。扩展存储区域为0.5K字(每个字为16位二进制数)。当然需要三菱机械手生产厂家增加扩展协议和扩展模块(见图2、图3)。
访问共享存储区域,共享地址是以偏移地址模式进行操作的。机械手控制器的输入地址对应于GOT的输出地址,机械手控
制器的输出地址对应于GOT的输入地址。
在触摸屏中访问地址是十六进制地址,而在机械手控制器中仅可以采用十进制地址偏移,也可以采用十六进制地址偏移(见表1)。
图2 输入数据共享存储区地址影射
图3 输出数据共享存储区地址影射
表1
在操作共享数据区时,特别要注意,机械手保留了许多专用数据区,访问时不能随便乱用,防止错误数据造成系统出现问题。当然,用户只能操作具有R/ W属性的数据区数据。
由于专项中使用的是标配的水平多关节机械手及控制器系统,不带扩展数据存储模块,因此数据共享区只能使用0~511的输入/输出地址,在试验中共享数据区使用了偏移地址为256开始的IO地址,即输入地址为256~271、272~287、288~303三个双字节地址(每个双字节占16位IO点),作为触摸屏上设置数据的共享区;输出地址为256~271的一个字节地址作为触摸屏上显示数据的共享区。
3. 三菱机械手控制器常用指令介绍
三菱机械手控制器的编程语言是MELFA BASIC Ⅴ。类似于BASIC的语言结构,其中有许多和BASIC完全相同的指令,但用法有些又完全不同,又增加了许多专用的指令。在此对一些常用的指令作功能简要说明。
M_In(16)( 机械手控制器的输入口,其中16表示输入口地址为第17个输入点。)
M_Inw(10000+16*16) ( 机械手控制器的共享输入口,表示输入口地址为第10000个输入点开始的第16个双字节地址(每个字节8位),相当于机械手的输入口M_ Inw256一个双字节的地址。)
M_Inw(10000+16*16)(指令和M_Inw256使用效果相同。)
M_Out(16) (机械手控制器的输出口,其中16表示输出口地址为第17个输出点。)
M_Outw(10000+16*16) (机械手控制器的共享输出口,表示输出口地址为第10000个输出点开始的第16个双字节地址,相当于机械手的输出口M_Outw256一个双字节的地址。)
M_Outw(10000+16*16)(指令和M_Outw256使用效果相同。)
DLY 1(表示延时1s。)
While <条件>…… Wend(程序循环指令,当条件满足时执行循环体内指令。)
Select <条件>(执行满足条件的程序块。)
Case
Case else
End select
Break(强行跳出循环体。)
If <条件> then <地址>(程序控制指令,根据条件判断进行程序跳转。)
M1=10(赋值语句。)
Hlt(机械手程序停止。)
当然,三菱机械手控制器还包含有其他的指令,例如关节插补指令Mov,直线插补MVS,码垛运算def plt,plt,以及子程序Gosub和子程序调用Callp等指令,由于在下面的事例程序中没有用到,不再一一介绍。
4. 共享数据操作和编程流程框图
本事例是模拟交通红绿灯功能控制,动作如下:启动机械手程序,三个灯灭。红灯亮,延时10s后,红灯灭;黄灯亮,延时3s后,黄灯灭;绿灯亮,延时10s后,绿灯灭;循环上述工作过程。
GOT的界面设置:在GOT上制作一个数据显示框(模拟显示红黄绿三个灯等待时间),三个数据输入框(设置红黄绿三个灯点亮时间)和三个指示灯(分别代表红、黄、绿三个交通灯),具体设置如表2所示。
机械手控制红绿灯的程序流程框图如图4所示。
表2
图4 机械手控制红绿灯的程序流程框图
5. 模拟交通红绿灯功能控制程序清单
根据图4所示,编制机械手控制器控制程序。
在机械手在线程序中新建一个程序,文件名为1.MB5。机械手控制程序清单如下:
‘=================
‘交通灯自动控制系统(Traffic lights)
‘=================
M_Out(16)=0‘red light
M_Out(17)=0 ‘yellow light
M_Out(18)=0 ‘green light
mSetTimes=5'设置程序执行次数,中间变量。文档中没有说明的 m… 均为中间变量。
M1=0
M3=0'选择点亮哪个灯0=红灯,1,3=黄灯,2=绿灯
'mRed_Delay=M_Inw(10000+16*16)'触摸屏上设置红灯点亮时间(本行在机械手上测试时要用,保留)
'mYellow_Delay=M_Inw(10000+16*17)'黄灯点亮时间
'mGreen_Delay=M_Inw(10088+16*18)'绿灯点亮时间
mRed_Delay=10
mYellow_Delay=3
mGreen_Delay=10
*NextLoop:'程序循环跳转地址
mCur_Delay=0
M3=M1 mod 4
SelectM3
Case 0
M_Out(16)=1 '红灯点亮
M_Out(17)=0 '黄灯
M_Out(18)=0 '绿灯
M2=mRed_Delay
While mCur_Delay Dly 1 M2=M2-1 M_Outw(10000+16*16)=M2 mCur_Delay=mCur_Delay+1 WEnd M_Out(16)=0 Break Case 1,3 M_Out(16)=0 ‘红灯 M_Out(17)=1 ‘黄灯点亮 M_Out(18)=0 ‘绿灯 M2=mYellow_Delay While mCur_Delay Dly 1 M2=M2-1 M_Outw(10000+16*16)=M2 mCur_Delay=mCur_Delay+1 WEnd M_Out(17)=0 Break Case 2 M_Out(16)=0 ‘红灯 M_Out(17)=0 ‘黄灯 M_Out(18)=1 ‘绿灯点亮 M2=mGreen_Delay While mCur_Delay Dly 1 M2=M2-1 M_Outw(10000+16*16)=M2 mCur_Delay=mCur_Delay+1 WEnd M_Out(18)=0 Break End Select M1=M1+1 If M1 *EndLamp: M_Out(16)=0 M_Out(17)=0 M_Out(18)=0 Hlt 打开机械手控制器的监视菜单下的信号监视,查看通用信号的状态变化;在调试模式下打开程序1.MB5,按控制面板上的执行键,可以看到如下的运行结果: 红灯亮如图5所示。 图5 黄灯亮如图6所示。 图6 绿灯亮如图7所示。 图7 更改上面的程序,使程序变为: mRed_Delay=M_Inw(10000+16*16)(红灯点亮时间,在机械手上测试时要用) mYellow_Delay=M_Inw(10000+16*17)(黄灯点亮时间) mGreen_Delay=M_Inw(10088+16*18)(绿灯点亮时间) (mRed_Delay=10) (mYellow_Delay=3) (mGreen_Delay=10) 在触摸屏上设置三个灯的点亮时间后,将机械手控制器上的钥匙开关扳到自动方式,选择执行程序1.MB5,按程序启动键运行程序,可以看到程序运行结果:三个指示灯循环变化状态。结果表明,完全模拟了交通红黄绿的控制,证明试验是完全成功的,达到了预期的效果。 通过上面的成功试验,在国家重大专项“五轴联动高速、精密可转位刀片周边和双端面刃磨数控工具磨床(2010ZX04001-162)”上有许多典型的扩展应用,例如邦纳相机照相数据、三菱触摸屏操作数据、上位机PC控制数据、发格(Fagor)数控系统8070的PLC接口数据、程序控制数据,全部通过一个由路由器组成的局域网络传输到三菱机械手的共享数据区,这些数据通过触摸屏来显示信息,控制其他可操作的动作,例如气阀、液压缸、料库升降及料盘出入库等动作,取得了良好的配合动作。这些技术的应用,在重大专项项目验收的过程中,得到了专家的好评。 * “高档数控机床与基础制造装备”国家重大科技专项基金项目(2010ZX04001-162) 收稿日期:(20150214)6. 交通灯控制程序的模拟运行结果
7. 机械手上的程序测试
8. 试验结果的推广应用