NET环境下ABB机械手与上位机之间的通讯研究

2018-10-21 18:29王汉其
科技信息·下旬刊 2018年8期
关键词:通讯计算机

王汉其

摘要:本文根据项目实际需求,以.NET为平台,以计算机为载体进行项目开发,实现ABB六自由度机械手自动完成对天然气加气车辆的加气过程,提高天然气加气站的自动化水平。其中,ABB机器臂控制器和计算机的通信是整个自动控制的关键之一,是实现上位机(PC)对ABB机械手运动控制和实时监控的基础,本文以此为出发点,对通信进行研究分析,得出能稳定地实现通信的方法。

关键词:C#;计算机;ABB机械手;通讯

引言

随着人类的活动领域不断扩大,机器人应用也从制造领域向非制造领域发展。像宇宙探测、采掘、建筑、服务、娱乐等行业都提出了自动化和机器人化的要求。这些行业的主要特点是工作环境的非结构化和不确定性,因而需要機器人对外感知能力以及局部的自主规划能力等[1]。而要让机器人远程完成指定的任务,最为关键的技术就是能够远程实现与机器人实时通讯。传统的机器人通讯技术,如远程遥操作机器人技术硬件系统非常复杂,并且需要专用的数据通道,因此一直没有得到有效的推广应用。同时随着互联网的发展和普及,互联网为实现这一思想提供了一种低成本策略[2]。将机器人控制系统与如互联网连接,可以在很远的地方监视和指导机器人作业,从而在作业过程中融人人的智慧,使机器人能够完成过去不易或不能完成的任务。

哈尔滨工业大学研究的基于互联网的遥操作机器人系统-Telerobot[3],该系统可以使得用户通过WEB浏览器对一台机器人PUMA562进行控制,完成抓取、搬运、堆放等操作。上海交通大学也开发了基于网络的机器人遥操作系统[4],被控机器人是一台Adept640-S型工业机械手。由此可见,国内也逐渐掌握这一技术,并正在蓬勃发展。

本文以智能化加气站为研究平台,ABB六自由度机械手和上位机为通信的研究载体,旨在完成上位机对ABB机械手运动控制和实时监控。

1 通信方法

本章节主要对通信的具体方法和步骤进行介绍,主要包括网线的连接、组件的安装、项目的建立、组建的引用以及环境的选择,涉及到上位机与Robot Studio、Visual Studio 2015,以及组件和控制器之间的通信等,下面对每一个方法和步骤进行介绍,图4为各个部分的联系图。

1.1 PC SDK组件的安装

PC SDK组件是ABB公司提供给第三方公司应用的一个软件开发接口,PC SDK组件的安装是跟随者Robot Studio 安装而存在的,也就是说当在上位机中完整的安装Robot Studio后,上位机上本身已经随之安装了PC SDK组件。

1.2 物理网线连接

将一个两端带有水晶头的网线,一端插在上位机的网络端口,另外一端插在机械手控制柜的网络端口处,完成上位机和控制柜之间的局域网物理连接。这个步骤的意思是使得上位机通过对机械手IP地址的读取,来识别要控制的控制柜的相关信息,包括IP地址、ID号、是否被占用、虚拟控制器是否存在、以及系统名称和软件版本等。

1.3 组件的引用

根据项目需要,这里需要的组件主要有与ABB机械手控制器通信的组件以及Open CV图像处理的组件,这里主要介绍与ABB机械手控制器通信的组件。在刚刚创建的项目中,右上的项目资源管理器—选择引用—鼠标右键—添加引用。

因为第一次进行上位机和ABB机械手控制器之间的通信,所以在常见的引用集中并不能找到项目需要的组件,这里就需要通过浏览的方式找到已经安装的Robot Studio中的相关组件,添加到程序集中。PC SDK组件的安装路径可以在Robot Studio的目录下找到,可以参考C:\ABB Industrial IT\Robotics IT\Robot Studio 6.04\PC SDK,具体的路径与上位机上的安装位置有关。通过浏览找到PC SDK组件的位置之后,选中项目所需要的组件添加到程序集中,然后在该程序集上点击,则该程序集前面会出现一个黑色对号框,这就表明已经添加该引用。该课题研究中需要引用的有:ABB.Robotics.Controllers.PC.dll、ABB.Robotics.dll。

至此,ABB机械手与上位机之间通讯所需要的软件以及硬件基础已经准备完成,而在项目中如何实现在下一章中会进行说明。

2 应用实例

2.1 命名空间的引用

所谓命名空间就是.NET 平台中,对于项目需要的一些函数库、字段、接口、变量等都已经被定义,在项目开发中可以直接使用,这样做的目的是避免不同人进行项目开发时候出现同名的现象,从而出现问题。在项目开发中,需要用的用到的命名空间直接在新建的项目中的代码开头进行引用即可,一些命名空间是都会用到的,比如在项目开发中,系统默认已经引用的命名空间。该课题研究中,除了以上命名空间的引用,而需要将刚刚添加的引用的明明空间写在程序代码中。

2.2 权限获取

这里所说的权限是指上位机读取、编辑和修改ABB机械手运动状态,执行机械手示教器例行程序的过程的权利,是进行ABB机械手臂运动控制的基础。这个步骤主要是通过代码的编写来完成的,通过如下代码完成该权限的获取。

using(Mastership master = Mastership.Request(controller.Rapid))//获取机械手权限

2.3 调用例行程序

本课题中,定义一个标识符Flag,外加一个判断语句if,当判断出标识符Flag被赋值于不同大小时候,执行对应的例行程序,每个标识符Flag对应一个例行程序。通过上位机Visual Studio 2015项目程序代码编写中进行对标识符Flag修改和赋值,这样就可以完成通过上位机对ABB机械手运动的控制。如下是其中的一段代码:

ABB_Flag = controller.Rapid.GetRapidData("T_Rob1","MainModule","Flag");//获取Flag值

Num Flag =(Num)ABB_Flag.Value;//转换其类型

Flag.FillFromString2("5");//修改其数值

关于其他的修改,比如ABB机械手末端姿态以及运动时间的控制等,都是同样的方法,这样整个控制就可以顺利的完成了。

3 结束语

本文以智能化加气站为研究平台,针对ABB六自由度机械手和上位机(PC)之间的通信进行研究分析,研究出能够稳定地完成ABB六自由度机械手和上位机(PC)之间的通信的一套方法,实现上位机对ABB机械手的运动控制和实时监控。随着智能化以及自动化的发展,机械手特别是工业机械手会呈现出巨大的发展潜力,工控也将会是其中的重要研究内容,而工控最离不开的就是通信,因此本文提出的关于ABB六自由度机械手和上位机之间的通信方法,具有重要的价值和意义。

参考文献:

[1]田建创. 基于网络的移动机器人远程控制系统研究[D].浙江大学,2005.

[2]陈启军,陈辉堂,王月娟.基于Internet的机器人控制技术及其应用[J].电气自动化,2001,23(01):7-10+2.

[3]赵明国,赵杰,崔泽,蔡鹤皋. 一种基于的遥操作机器人系统-Telerobot. 哈尔滨工业大学学报,2001,33(1):8-12.

[4]任吴星,翁海华等. 基于Web的机器人遥操作的研究与实现. 计算机工程,1999,25(5):64-65

猜你喜欢
通讯计算机
防止蚊子叮咬的新方法
中国计算机报202007、08合刊
中国计算机报2019年48、49期合刊
中国古代的“计算机”
国内首个AR通讯应用浮出水面
国内首个AR通讯应用浮出水面
西门子PLC控制系统与第三方设备之间的通讯方式
浅谈DCS控制系统与智能二次仪表通讯实践
浮瓶通讯
随“声”随意 欧凡OA-G10 2.4G无线耳机