摘要:在工业生产过程中,特别是在自动化程度高的设备中,均有一个图形化界面,能对设备运行状态进行远程监视与控制。随着工业机器人的广泛应用,在工业机器人搭建的生产线,工业机器人的运行状态也必将在图形化界面中进行监控。在本文中,采用了ScreenMaker工具实现对工业注塑机机器人工作站的监控。为了讨论ScreenMaker界面的功能,选择工业注塑机机器人为被控对象,工作站的变量与机器人位置状态之间的关联与实现等方法在文中被重点讨论。
关键词:ScreenMaker;位置与变量;信号连接;监控
随着工业技术的发展、工业机器人在生产中的广泛应用、生产状态监控程度的提高,人们期望在控制室中能随时观看到机器人运行状态、运行位置、工件生产的数量统计、乃至整个工厂运行状态,通常通过开发一个具有远程控制、远程监视等功能的图形化界面来实现。图形化界面的开发工具现在有很多,有QtCreator、WxWidgets、VisualStudio开发环境、.NET编辑等进行。QtCreator使用在嵌入式开发系统中,VisualStudio包含一个针对C#开发的预定义设置集合和一个针对VisualBasic开发的预定义设置集合,用于生成ASP.NETWeb应用程序、XMLWebServices、桌面应用程序和移动应用程序,ScreenMark是在RobotStudio仿真软件下用来创建用户自定义图形化界面的工具。
1.图形化界面工具ScreenMark
图形用户界面(GUI)通过将机器人系统的内在工作转化为图形化的前端界面,从而简化工业机器人的操作。如在示教器的GUI应用中,图形化界面由多个屏幕组成,每个占用示教器触屏的用户窗口区域。每个屏幕又由一定数量的较小的图形组成构成,并按照设计的布局进行摆放。常用的控件有(有时又称作窗口部件或图形组件)按钮、菜单、图像和文本框。
ScreenMaker是RobotStudio仿真软件下用来创建用户自定义界面的工具。使用该工具可创建自定义的操作员界面,编译完成后可在示教器下监控工业机器人的运行位置、生产产品的数量、生产状态等,使用自定义的操作员界面在工厂实地能简化机器人系统操作,操作员界面能在正确的时间以正确的格式将正确的信息显示给用户。ScreenMaker简单易学,使用ScreenMaker工具无需学习Vi-sualStudio开发环境和.NET编辑,也可创建自定义的示教器图形界面。本论文中开发的图形化示教器界面如图1所示。
图1.示教器界面
2.RAPID程序与机器人信号之间的关联
图形化界面需要与机器人的PAPID程序、程序数据以及I/O信号进行关联。为了调试方便,一般是RobotStudio中创建一个与真实一样的工作站,在调试完成以后,再输送到真实的机器人控制器中去。本论文中程序代码、程序数据、I/O信号见表1、2、3所示。
3.注塑机注塑流程设计及程序实现
3.1注塑流程的设计
本论文中采用对注塑机加工的过程进行监控,注塑机的整个过程如图2所示。仿真生产线的流程设计如下:机器人运行至皮带,然后提取物料进入注塑机、注塑机模拟加工、机器人从注塑机提取物料放入皮带,注塑机停止运行,生产产品计数。
图2仿真过程流程图
3.2.注塑程序的编写
RobotStudio软件下,主要是为了对注塑机的运行状态进行监控。注塑机在运行至某一状态时,均需将运行状态反馈给示教器图形化界面控件。其实现通过变量来完成。由于只对运行位置等状态、产品生产数量进行监视,程序编写得相对比较简单。位置移动程序采用MoveL或者MoveJ指令。MoveL指令为直线运动指令,指定起点和终点后,则从起点到终点的运动轨迹为直线,MoveJ指令则为多关节运动,在指定起点与终点后,运动轨迹的规划则完全按照机器人内部的算法来规划。下程序中的MoveLTarget_10,v100,z100,tool0\WObj:=wobj0;中,Target_10即为目标点,也即运动的初始点(起点为机器人当前位置),v100为运动速度,z100为拐角,tool0为工具坐标,wobj0为工件坐标,部分程序代码如下。
...........................................................................................................
PERSnumnProducedParts:=624;//定义变量nProducedParts,赋初值
PERSnumnRobotPos:=2;//定义变量nRobotPos,赋初值PERSboolbServicePos:=TRUE;
..............................................................................................................
..............................................................................................................
PROCmain()
MoveLpHome10,v1500,fine,tGripper;//机器人在Home位nRobotPos:=0;//机器人在Home位时,变量nRobotPos:=0WaitTime2;
................................................................................................................
................................................................................................................
MoveJpCovery10,v1500,fine,tGripper;//机器人在搬运位nRobotPos:=1;//机器人在皮带位时,变量nRobotPos:=1WaitTime2;
..............................................................................................................
..............................................................................................................
MoveJpInMachine,v1500,fine,tGripper;//机器人在注塑机中nRobotPos:=2;//机器人在注塑机中时,变量nRobotPos:=2WaitTime2;
..............................................................................................................
..............................................................................................................
MoveJpService,v1500,fine,tGripper;nRobotPos:=3;//机器人在注塑机中WaitTime2;
..............................................................................................................
nProducedParts:=nProducedParts+1;//nProducedParts表示生产数量,每完成一次后生产数量加1
..............................................................................................................
ENDPROC
..............................................................................................................
PROCrToService()//维修时调用的rToService()
MoveJpService,v100,fine,tGripper;//移动到维修位bServicePos:=TRUE;
SetDO_ToService;//释放夹具
Stop;//机器人停止运行
ENDPROC
..............................................................................................................
3.3注塑机器人变量与机器人的位置之间的联系
在ScreenMaker界面中可以设置机器人当前位置图片,机器人当前位置图片与程序数据nRobotPos变量进行相关联,nRobotPos具体定义如下:
nRobotPos=0机器人在HOME点
nRobotPos=1机器人在输送带
nRobotPos=2机器人在注塑机中
nRobotPos=3机器人在维修位
在编程的时候,在对应的位置对nRobotPos这个程序数据进行赋值,从而使界面作出相应响应。在ScreenMake界面的控件中选择控制器在线、选择nRobotPos变量,建立过程的界面如图3所示。
图3.进入nRobotPos变量与位置设定界面
当选择nRobotPos变量后,在建立nRobotPos的变量值后,建立nRobotPos变量值与机器人当前位置图片的关联关系,建立nRobotPos变量与机器人当前位置图片之间的链接关系的界面如图4所示。
图4.nRobotPos变量与机器人当前位置图片的关联
4.图像效果展示
机器人在生产时,其生产过程将会实时显示在示教器界面中。如图5所示为机器人系统在维修时监控到的画面,图5右侧为仿真工作站机器人停留在维修位中的画面,图左侧为示教器界面下监控到的机器人在维修时的画面,在示教器画面的上面有文字提示机器人所处位置及生产零件的数量。
图5.仿真码垛搬运效果图
表1.PAPID程序
5.结论
在本文中,探究了ScreenMakerGUI界面下,工业机器人运行状态监控的实现。为了探究其工业机器人监控在ScreenMaker界面下的实现,选取了一个注塑机工业机器人作为被控对象。由于主要是探究在ScreenMaker界面下,机器人运动状态与RAPID程序中变量的关联关系,因此注塑机器人工作站的实现过程相对比较简单,注塑机器人主要包含三个位置状态:机器人在HOME点,机器人在输送带,机器人在注塑机,机器人在维修位。在不同的位置状态下,nRobotPos具有不同的值,在ScreenMaker界面下,不同的值将显示不同的文字与机器人运行状态图片。