摘要:MOTOMAN机器人的两款新型二次开发软件MotoPlus和Pendant customization,使用户不需要了解机器人内部的原理或代码,就可以把自己编写的程序嵌入到机器人内,方便实现外部设备与机器人的数据交互,以及示教盒的客户化界面的编写。
0前言
随着全球工业化进程的不断推进,工业机器人已经在越来越多的行业发挥着举足轻重的作用。为了适应不断发展的工业需求,MOTOMAN机器人不断创新,不断完善,满足用户的多元化需求。
MOTOMAN机器人作为全球市场占有率领先的机器人,已广泛应用于社会生活各领域,尤以制造业为更多。一直以来,为广大MOTOMAN机器人用户所熟知的二次开发软件仅有Motocom32一种,虽然Motocom32功能强大,编程简单,但还是不能满足某些用户的特殊需求。尤其是大专院校、科研院所等,对机器人的应用,有更多的创新,对机器人二次开发功能要求也就更具多样性。
本文介绍了传统的Motocom32通讯软件和MOTOMAN机器人的两款新型二次开发软件,MotoPlus和Pendant customization。这两款新软件都是在机器人内部运行的,用户不需要了解机器人内部的原理或代码,就可以把自己编写的程序嵌入到机器人内,方便实现外部设备与机器人的数据交互,以及示教盒的客户化界面的编写。
传统的Motocom32介绍
Motocom32是在电脑上运行的,用于计算机与机器人
控制柜之间进行数据传输的软件。计算机与控制柜之间可以使用RS232串口通信也可以使用以太网通信。该套软件,既提供现成的应用程序供用户使用,又提供动态链接库等文件供用户二次开发。只要具备基本的VC或VB知识就可以掌握二次开发方法,每一种功能都提供现成的函数供用户直接调用。用户通过这些函数,可以建立计算机与控制柜的通讯连接,可以读取机器人的当前信息和状态,可以实现对机器人的控制,启动指定的机器人程序,控制机器人的运动等。用户可以根据自己的不同需求,把对机器人的控制集成到自己的系统软件中或单独开发机器人监控软件。
图1为Motocom32在工业生产现场的应用示例。生产现场的机器人可以通过网线连入工厂的局域网内,在不同地方的PC都能通过Motocom32软件监测机器人生产状态和报警信息。
图1 Motocom32应用示例
Motocom32开发工具:Visual Basic 或Visual C++
Motocom32特点:
(1)通讯设置简单:只需在机器人内修改相应参数,并在机器人和计算机上设定好相应的IP地址,就能实现机器人与计算机的通讯。
(2)功能齐全:包括文件传输功能,机器人控制功能,DCI功能,I/O信号读取功能等。
(3)编程方便:提供专门的通讯函数库,用户不需要掌握底层的通讯规则,只需要调用相应的函数就能实现所需功能,容易上手。而且每个函数的参数都有详细的解释。
例如:读取机器人变量的函数:
Short BscGetVarData(short nCid, short type, short varno, double *p)
参数:
ncid: 通讯ID号
type:变量类型
varno:变量号
*p:变量指针
返回值:
0:成功执行
其他:错误代码
MotoPlus介绍
MotoPlus是一个专业的集成开发环境,利用C语言在MotoPlusIDE文本编辑器中编写代码,然后编译链接成可执行程序,安装到机器人控制柜中,可作为一个任务在机器人内执行。机器人上电后,储存在CF卡上的MotoPlusApI应用程序,自动导入到机器人内存中,和系统程序同时执行。图2为MotoPlus开发环境。
图2 MotoPlus开发环境
MotoPlus应用程序是以任务的形式启动的,一个应用程序可以是单任务的,也可以是多任务的,可以同时启动,也可以在任务内单独调用。任务可以有多种状态,运行,睡眠,等待等。根据任务的不同,还可以设置不同的优先级。不同任务间可以通过信号或事件进行信息交互。
MotoPlus的API提供的功能包括:任务控制,机器人控制,JOB控制,IO控制,网络通信控制,事件,串口通信控制等。通过这些功能,可以通过视觉传感器或其他传感器的数据动态调整机器人的位置,通过网络通信实现机器人与外部PC的数据传输或者实现机器人程序的顺序控制。
MotoPlus的开发工具:MotoPlusIDE
MotoPlus的特点:
(1)执行速度快:应用程序嵌入到了机器人系统中,就像CPU上的原生代码一样,所以执行速度很快。
(2)减少硬件配置:通过MotoPlus提供的网络通讯端口和RS232串口通讯端口,用户可以直接建立机器人与外部传感器的连接,与传统的MOTOCOM32通讯方式相比,减少了一台计算机的配置。
(3)编程简单:使用C语言丰富的标准库以及MotoPlus提供的API函数集,不需要调整机器人控制柜的源代码便可开发出各种应用程序。
例如:读取机器人变量的函数:
LONG mpGetVarData(MP_VAR_INFO* sData, LONG * rData, LONG num)
参数:
sData:指向变量数据结构的指针
rData:指向变量数据的指针
num:变量数据的个数
返回值:
0:正常结束
-1:错误
Pendant customization介绍
Pendant customization是机器人示教盒的客户化界面开发工具。在嵌入式操作系统WindowsCE上开发的应用软件装入机器人控制器的示教盒内,可以构建客户化画面,满足用户对不同工况人机界面的需求。
Pendant customization应用软件的开发是在嵌入式系统上进行的,需要具备嵌入式软件开发的知识,还需要具备多线程,winsock等方面的知识。通过指定功能的API函数库,用户可以实现对机器人的系统控制,系统监视和文件传输等功能。应用软件生成的可执行程序通过专用软件下载至示教盒内,程序可以在示教盒上调试,也可以在电脑上调试。下载后的客户化界面可以在机器人上电时自动启动,也可通过按钮启动。
装入客户化界面的示教盒可以在标准界面和客户化界面间任意切换(如图3)。由于客户化应用程序要作为机器人系统的一部分启动,所以可能会对机器人系统地运行造成影响,为此制定了一些编程规则,比如应用程序的任务优先级和文件保存位置等,为了使机器人系统整体安全运行,必须严格遵守编程规则,否则标准界面将无法正常启动。
图3 客户化界面与标准界面间的切换
开发工具:Microsoft eMbedded Visual C++ 4.0 SP4开发语言:VC++
Microsoft Visual Studio 2005 开发语言:C#
特点:
(1)示教盒界面更直观、操作更简单:通过客户化界面,可以自行组织自己所需的信息,使工况设置更简单、机器人信息更直观。
(2)减少硬件配置:对于小型的简单人机界面要求,示教盒可以作为外部
触摸屏使用,而不需要再配置触摸屏或
工控机,减少了硬件配置。
比较
上面详细介绍了MOTOMAN机器人的三款机器人二次开发工具,现总结如下表:
5.总结
MOTOMAN机器人的三款机器人二次开发工具,有各自的优势和应用场合,MOTOCOM32侧重于电脑的主控功能,MotoPlus侧重于机器人与外部设备的通讯接口,Pendant customization侧重于示教盒客户化界面的编辑,用户在需要时,可根据自己的需求合理选择,用最简单的方式满足项目需求。