三菱机械手与上位机通信的VB实现
2018-5-10 来源:陕西汉江机床有限公司 作者: 张新宁
摘要:利用三菱机械手与上位机的通信,解决了机械手控制器中程序和数据文件的备份保存问题;同时解决了国标刀片类型多、数据多和程序多的数据存放问题,简化了机床的操作。
工业机器人在机械加工、制造业、汽车以及化工等领域的应用越来越广泛。国家重大科技专项“五轴联动高速、精密可转位刀片周边和双端面刃磨数控工具磨床”(2010ZX04001—162)的产品调试过程中,上位机和机械手的通信一直是一个难题,因为机械手控制器就相当于一个黑匣子,用户并不清楚内部装载了什么程序和数据文件,只能从控制器面板上选择可执行文件并执行,而且执行程序的名称仅限于不多于4位的数字文件名,对于多于4位的程序名以及非数字字符文件名不能从面板选择和执行,只能通过机械手的专用软件来操作。
在一台专用的电脑上运行机械手专用软件,能够查看、选择并执行程序,但需要专门的技术人员才行。非专业技术人员操作机床需要利用简单的操作方法来实现,鉴于这种目的,通过对机械手性能和软件结构等进行分析,基于三菱机械手提供的Active X通信控件Melfa RXM.ocx具有一些专用的命令,可以实现上位机与机械手控制器之间的通信。本文介绍了在Visual Basic 6.0下的上位机与三菱机械手的通信方法。
1. 准备工作
( 1 ) A c t i v e X 通 信 控 件M e l f a R X M . o c x 在 V B 6 下的注册。在将机械手专用控制软件RT Toolbox 2安装到windows系统中之后,Melfa RXM.ocx控件可通过下列方法进行VB6的注册:打开VB6程序,新建一个工程(标准EXE),命名为“机械手与上位机通信试验”,菜单栏中选择【工程】、【部件】,打开【部件】对话框,在【控件】下选择“Melfa Rx M Active X module”项,如图1所示,点击“确定”按钮,注册完成。
图1
(2)在机械手软件安装路径下,找到Melfa RXM_Dev文件夹并打开,将Robo Com文件夹下的Robot Com.exe文件拷贝到刚建立的工程路径根目录下,如图2所示。R o b o t C o m.e x e文件是与机械手通信的伺服软件,在与机械手控制器通信的过程中,数据的传送和接收均依赖于这个执行文件,是机械手控制器通信的通道。
图 2
2. 三菱机械手通信控件的Melfa RXM.ocx的主要方法介绍
(1)Server Live。功能:获取通信伺服的状态。返回值:1(即true,下同)表示通信伺服已经启动,0(即false,下同)表示通信伺服未启动。
(2)Server Start。功能:启动通信伺服。返回值:1表示通信伺服启动成功,0表示通信伺服启动失败。
(3)Server Kill。功能:关闭通信伺服。返回值:1表示通信伺服关闭,0表示通信伺服关闭失败。
(4)R e q u e s t S e r v i c e、R e q u e s t S e r v i c e2N u l l。功能:发 送 一 个 通 信 请 求 。 语 法 :R e q u e s t S e r v i c e2N u l l ( l o n g M s g I D , S t r i n g D a t a , l o n g Display, long Cycle)。参数:M s g I D表示定义机械手控制器的编号ID,不同的ID有不同的通信数据格式和不同的结果。例如:I D=100,功能是读取机械后控制器中的程序;ID=106,功能是读取机械后控制器中的程序列表。D a t a表示依赖于不同的M s g I D,不同的Msg ID,Data数据不同。Display表示是否在通信中显示数据。Cycle表示机械手控制器通信中的监控次数,始终为“1”。返回值:返回通信结果,1表示接收数据成功,0表示接收数据失败,-1表示通信伺服未启动。
(5)G e t R e c v D a t a。功能 : 获 取 通 信 数 据 。 语 法 :G e t R e c v D a t a (l o n g M s g I D,String Data,long Status,longError)。参数:Msg ID表示设置请求的通信ID;Data表示通信所接受的数据;Status表示通信状态,1表示接收数据成功,2表示数据传送失败,3表示接收数据超时;Error表示发生错误号(如果发生错误时);返回值表示返回通信结果,1表示获取数据成功,0表示无效数据。
3. 在V B程序中涉及到的通信ID号的定义
三菱机械手控制器的通信控件,包含有400多种通信ID,不同的ID产生不同的通信。下面简要解释部分ID功能.
(1)ID=100。功能:从控制器中读取程序。参数:要读取的程序名。
(2)ID=106。功能:从控制器中读取程序列表。参数:无。
(3)ID=235。功能:读取机械手当前的位置坐标。参数:槽号,对于单控制器为1。机床号:对于单控制器为1。坐标类型:对于关节=0,对于直角坐标 = 1 。 返 回 值 : 第 一 轴 ( X )坐标,第二轴(Y)坐标,第三轴(Z)坐标,……,第八轴坐标。
(4)ID=304。功能:读取机械手控制器中带特殊扩展名的文件。参数:扩展名,例如“.TXT”。返回值:返回控制器中所有包含扩展名的文件列表。
(5)ID=305。功能:读取机械手控制器中指定文件的文件清单,可以是程序文件名,也可以是指定的数据文件名。参数:指定文件名。返回值:指定文件名和文件中包含的数据字符串。
4. 在与三菱机械手控制器
进行通信中的VB6试验结果
( 1 ) 利 用 I D = 1 0 0 , 读 取T E S T1的机械手控制程序清单,如图3所示。返回结果:第一行,指定的程序名;第二行,文件中包含的程序的行数;第三行及以后行,指定文件的程序清单。
(2)利用ID=106,读取机械手控制器中所有程序列表,在列表可以看到包含有TEST1.MB5的程序,如图4所示。
(3)利用ID=235,读取机械手当前的位置坐标(见图5)。在输出数据中包含了机械手的X、Y、Z轴的实际坐标值。在机械手模拟运行中对比,如图6所示。图6a为机械手的实际位置,图6b是机械手运行模拟的坐标位置显示。由比较可知,试验结果和实际坐标是吻合的。
(4)利用ID=304读取机械手控制器中所有的程序文件和数据文件列表,如图7所示。
图7
(5)利用ID=305读取指定数据文件。在显示中包含了数据文件名、文件大小以及文件的字符串数据清单,如图8所示。
图8
当 然 , 三 菱 机 械 手 控 制 器的通信控件功能是相当强大的,还包括了机械手的各种信息、控制器的各种信息、文件删除以及拷贝等功能,由于涉及范围的限制,不再一一列举。
5. 试验的应用
本次试验是非常成功的,通过试验,进一步将三菱机械手与上位电脑、笔记本的通信扩展到F a g o r8070数控系统中,典型的应用有:①在CNC中嵌入机械手坐标采样程序,将不同刀片加工时机械手的实际坐标采样并保存在C N C硬盘中,供以后加工时数据恢复和自动调用。②机械手运作程序的备份保存。③定期清理机械手控制器中不常用的数据文件,确保机械手控制器内存充足,运行流畅。
6. 结语
通过这次试验,学习了一种新的通信方法。这种独特的参数化通信模式涵盖了三菱机械手与上位机的所有通信内容,为程序的模块化设计提供了一个参考样本,也为以后的编程提供了一个新思路。
投稿箱:
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
更多相关信息