摘" 要:当前,工业自动化技术进步推动了对工业机器人远程监控与管理需求的增长。为此,设计并实现了一个基于客户端到服务器架构的局域网远程监控系统。利用Robot Studio构建虚拟工作站模拟工业场景,结合PC SDK与Win Form技术开发控制端。系统集成了高效的开发工具与接口,简化了构建,提供了用户友好的界面。仿真测试显示其功能完整、操作便捷、系统稳定,支持通过Visual Studio观察与操控机器人生产过程。系统为工业机器人远程监控提供了高效可靠的解决方案,满足了工业生产对自动化、智能化管理的需求。
关键词:PC SDK;ABB工业机器人;Visual Studio;Win Form;远程监控
中图分类号:TP273;TP242 文献标识码:A 文章编号:2096-4706(2025)04-0193-06
Design and Research on Industrial Robot Remote Monitoring System Based on Robot Studio
HU Chen
(College of Electrical Engineering, Northwest Minzu University, Lanzhou" 730030, China)
Abstract: At present, the progress of industrial automation technology has promoted the growth of the demand for remote monitoring and management of industrial robots. To this end, a LAN remote monitoring system based on the client-to-server architecture is designed and implemented. The system uses Robot Studio to build virtual workstations to simulate industrial scenarios, and combines PC SDK and Win Form technology to develop control terminals. It integrates efficient development tools and interfaces, simplifies the construction, and provides a user-friendly interface. The simulation test shows that it has complete functions, convenient operation and the system is stable, and supports the observation and control of the robot production process through Visual Studio. The system provides an efficient and reliable solution for the remote monitoring of industrial robots, and meets the needs of automated and intelligent management in industrial production.
Keywords: PC SDK; ABB industrial robot; Visual Studio; Win Form; remote monitoring
0" 引" 言
随着工业4.0时代的到来和智能制造的快速发展,工业机器人在制造业中的应用越来越广泛,在生产线上承担着焊接、喷涂、码垛、装配等多种任务,极大地提高了生产效率和产品质量。然而,随着工业机器人的普及,对其远程监控和管理的需求也日益增长。传统的现场监控方式不仅效率低下,而且受限于地理位置,无法实现对工业机器人的实时监控和管理。
1" 工业机器人的远程监控研究现状
在国内,随着工业4.0和智能制造战略的深入实施,工业机器人的应用越来越广泛,对其远程监控和管理的需求也日益增长。随着信息技术的不断发展和普及,物联网和人工智能技术正逐渐应用于各个领域,成为现代化生产过程中不可或缺的一部分[1],基于Robot Studio的工业机器人远程监控系统设计与研究作为提升工业机器人智能化水平的重要手段。刘永奎等在云制造环境下实现工业机器人远程监控系统[2]。傅贵武等基于SDK通信实现工业机器人远程监控系统的设计[3]。张爱民等基于Socket通信技术与多线程技术,通过TCP/IP协议实现工业机器人远程监控方案[4]。潘湘飞基于SOCKET通信机制实现与Stcubli-TX90和EPSON-G6工业机器人的同步通信,以及各种算法,在Web页面实现对工业机器人运行数据和作业环境的远程监控[5]。刘计良等运用企业Internet接入云平台实现对工业机器人的远程视频检测、坐标和运动数据采集、控制等功能,使用户能够远程实时动态监控云平台资源库中的工业机器人运行状态和报警信息[6]。张杨林子等将通信技术、工业物联网技术融入工业设备的PLC控制系统中,设计一种可视化远程监控控制系统[7]。陈子阳等提出基于数字孪生工业机器人远程监控系统的构建方法[8]。康晋基于LoRa无线通信设计了一种新的工业机器人远程监控系统[9]。于博针对工业机器人智能抓取场景,聚焦于云制造中不同角色用户的监控需求。在工业机器人远程监控技术方面取得了显著进展[10]。研究人员利用SDK通信接口,结合现代通信技术、计算机技术和工业机器人离线编程技术,设计并开发了多种工业机器人远程监控系统。这些系统能够实现工业机器人的实时监控、数据收集、故障预警和远程操作等功能,有效提高了工业机器人的运行效率和稳定性。
政府高度重视工业机器人的研发和应用,出台一系列政策措施来推动工业机器人产业的发展。例如,《“十四五”机器人产业发展规划》等文件明确提出了加快工业机器人技术创新和应用推广的目标,《中国制造2025》规划指出中国制造业需要逐步提升到工业4.0时代。工业4.0的显著特点是“互联网+制造业”,其中重要一环是推进工业机器人在工业生产中的大量应用,并通过互联网络实现机器人间的互联互通。为基于Robot Studio的工业机器人远程监控系统设计与研究提供了良好的政策环境。
2" 工业机器人的远程监控的总体设计
基于Robot Studio的工业机器人远程监控系统设计与研究是一个复杂但具有重要意义的项目,它允许操作人员从远程位置实时监控和控制工业机器人的状态和行为,方便对机器人的控制,系统总体设计如图1所示。
系统架构分为三层:硬件层、软件层和通信层,系统架构如图2所示。
硬件层包括工业机器人、网络设备和远程终端,装备IRC5控制器的ABB工业机器人,包括以太网交换机、路由器等,用于实现IRC5控制器与PC端之间的通信。操作人员使用的计算机或移动设备,需支持浏览器或特定的客户端软件。
软件层包括PC SDK、监控软件Visual Studio和数据库,提供二次开发接口的软件开发工具包,用于实现PC端与IRC5控制器之间的通信。运行在远程终端上的软件,用于显示机器人数据、发送控制指令等。数据库用于存储机器人数据,便于后续分析和优化。
通信层包括以太网技术和通信协议,实现IRC5控制器与PC端之间的高速、稳定通信,基于SDK定义的通信协议,确保数据的正确传输和解析。
3" 工业机器硬件构成
本设计选用IRB 260型号作为监测对象,该机器人装备了IRC5控制器及支持PC SDK的二次开发平台。连接以太网,将IRC5控制器与PC端建立连接,从而能够获取ABB工业机器人的各项相关数据即可实现对机器人的远程控制,为了满足设计要求,选用了以下设备和软件:
1)ABB的IRB 260工业机器人。负载30 kg,臂展1.53 m。
2)IRC5控制器。可多任务并行处理,精度高,可与PC连接得到数据,用于实践。
3)Visual Studio。在Robot Studio SDK扩展中实现与Robot Studio 6.08的连接。
4)其他。
IRB 260机器人实物图如图3所示,技术参数如表1所示。主要针对包装应用设计和优化,虽机身小巧,能集成于紧凑型包装机械中,却又能满足在到达距离和有效载荷方面的所有要求。
4" 工业机器人的软件设计
Client/Server是C/S架构中的全称,C/S架构应用包括服务器与客户机两部分组成双重架构。客户端请求服务器发送数据,服务器把数据传送到客户端进行数据计算,并把结果呈现给用户。这里客户端包括的并不只是单纯的运算,还涉及一系列的运算以及业务逻辑上的加工。
Visual Studio 2022与Robot Studio 6.08两个软件对于ABB工业机器人远程实现系统来说是非常必要的,Robot Studio 6.08这个软件对于ABB工业机器人来说是实际工作中必不可少的部分,因为其对于ABB工业机器人广泛使用提供了有力的支撑。利用C代码,Visual Studio 2022可方便地在两个软件间建立联系,实现ABB工业机器人远程监控。在Robot Studio 6.08环境下,选择IRB 2600机器人控制器,其配有PCSDK二次开发界面,能够通过以太网连接控制器及PC端,获取ABB工业机器人有关数据,实现远程监控ABB工业机器人。开发PC SDK时可采用虚拟环境与真实环境两种完全不同的开发方式。开发虚拟环境时,一般使用基于模型的驱动方法对系统物理实现过程进行设计,在建立虚拟环境时,通常都是以模型为驱动方式对系统进行物理实现方案设计。
5" 工业机器人的远程监控
首先,需要深入了解ABB提供的PC SDK,这些工具允许开发者通过编程方式与ABB机器人进行交互开发VS应用程序,在VS中创建一个新的项目,使用C#、C++等支持的语言编写代码通过调用SDK中的函数来发送控制命令给ABB机器人。确保VS应用程序与ABB机器人之间建立了稳定的通信连接。在VS中进行代码编写后,进行测试和调试,确保控制命令能够正确发送到机器人,并且机器人能够按照预期执行。
6" Robot Studio示教器编程
下面的代码是一个无限循环的程序,可以使机器人动起来。
WHILE TRUE DO
Reset DO0;
reg8:=0;
MoveJ P10,Min,z50,tool0;
reg7:=1;
MoveL P20,Min,z50,tool0;
reg7:=2;
Set DO0;
reg8:=1;
WaitTime 1.5;
“WHILE TRUE DO”是无限循环开始,表示以下操作将不断重复执行,直到被外部干预停止。重置“Reset D00”表示将数字输出0置为低电平或关闭状态。初始化寄存器“reg8:=0”将寄存器8(reg8)的值设为0,这里可能用于控制某个状态的标志位。“MoveJ P10,Min,z50,too10”表示关节运动到P10,使用关节移动方式“MoveJ”将机械臂快速移动到点P10,这里指定了使用工具坐标系“too10”,以最小速度和“z50”的安全高度进行移动。“MoveL P20,Min,z50,too10”表示直线运动到P20,使用直线移动方式“MoveL”将机械臂从P10沿直线移动到P20,同样指定了工具坐标系、速度和安全高度。“waitTime 1.5”表示等待1.5 s给予机器人一定的时间间隔。
7" VS软件编程
在VS软件中创建一个项目与Robot Studio相连接,选择语言C#,平台选择Windows,选择控制台,在引用界面添加与ABB有关的引用,运用Controllers类实现与控制器的交互。控制流程图如图4所示。
PC SDK与Win Form技术相结合,实现控制面板设计,拖动所需模块,系统会自动形成相应的代码。控制面板如图5所示。
7.1" 通信控制接口类集
与ABB工业机器人进行交互。它包含了对ABB Robotics SDK中一些命名空间的引用,这些命名空间提供了与ABB机器人控制器进行通信和控制所需的功能和类,如下所示:
using System;
using System.Collections.Generic;//.NET框架的基础命名空间,提供了基本的系统功能,如数据类型、集合
using System.Linq;
using System.Text;
using ABB.Robotics;//包含一些通用的定义、枚举或类,这些对于与ABB机器人交互是基础的。
using ABB.Robotics.Controllers;//包含了与ABB机器人控制器进行交互的类和方法,提供了连接、断开连接、查询控制器状态
using ABB.Robotics.Controllers.Discovery;//专注于发现网络上的ABB机器人控制器
using ABB.Robotics.Controllers.RapidDomain;//与RAPID程序或RAPID变量进行交互
using ABB.Robotics.Controllers.MotionDomain;//包含了与机器人运动控制相关的功能,允许设置运动参数(如速度、加速度)、执行运动指令、监控运动状态等
7.2" 连接实例
例如将ABB工业机器人的电机状态设置为开启(MotorsOn):
public bool SetMotorsOn()
{
// 使用默认用户信息登录到当前控制器
_curController.Logon(ABB.Robotics.Controllers.UserInfo.DefaultUser);
// 检查当前控制器的状态
if (_curController.State != ControllerState.MotorsOff)
{
// 如果控制器状态不是MotorsOff(即电机不是关闭状态),则返回1
// 这意味着电机已经处于开启状态或处于其他状态,不需要再次开启
return 1;
}
else
{
// 如果控制器状态是MotorsOff,则尝试将状态设置为MotorsOn
try
{
// 设置控制器状态为MotorsOn
_curController.State = ControllerState.MotorsOn;
// 如果设置成功,则返回true
return true;
}
catch
{
// 如果在设置过程中发生任何异常(例如,通信错误、权限问题等),则捕获异常并返回1
return 1;
7.3" 数据获取
例如内部通过调用GetRapidData方法来尝试获取指定位置的RapidData对象:
public bool setBool(string strName, bool value, string task = \"T_ROB1\", string module = \"MainModule\")
{" " "// 首先检查是否拥有获取主控制器的权限
if (this.HasGetMaster == 1)
{
// 如果没有权限,则返回1
return 1;
}
try
{
// 尝试从当前控制器中获取Rapid数据
RapidData rd = this._curController.Rapid.GetRapidData(task, module, posName);
// 检查获取到的数据是否不是RobTarget类型
if (!(rd.Value is ABB.Robotics.Controllers.RapidDomain.RobTarget))
return \"\";// 这里返回了一个字符串,但方法应该返回bool
}
// 如果数据是RobTarget类型(尽管这与设置布尔值无关),则尝试返回其值的字符串表示
// 但由于前面的if语句,这行代码实际上永远不会被执行
return rd.Value.ToString();
}
// 捕获所有异常,但仅返回空字符串,没有提供异常信息
catch
{
return \"\";
7.4" 运动类型
运动类型实例如下:
public enum MotionType
{
J = 0 ," " " " " " "//Move Joint关节运动,机器人通过控制各个关节的角度来移动
L = 1," " " " " " " //Move Line直线运动,机器人在两点之间沿直线移动
A = 2," " " " " " " //Approach接近运动,用于在执行某个任务前,机器人未端执行器接近目标位置但不完全接触
D = 3," " " " " " " //Depart离开运动,与接近运动相反,用于在完成某个任务后,机器人末端执行器离开目标位置
M = 4," " " " " " " //Depart amp; Approach离开并接近运动,先执行离开运动,然后执行接近运动
H = 5" " " " " " " "//Home归位运动,用于将机器人移动到预设的起始位置或安全位置
P = 0," " " " " " " //Zone 200区域200,指的是机器人
Q = 1," " " " " " " //zone 20区域20,与P类似,但这是一个更小的容忍区域,要求机器人到达的精度更高
E = 2" " " " " " " "//encoder(zone0)表示编码器,通常意味着机器人将使用其内置的编码器来精确控制位置,以达到非常高的定位精度,几乎可以认为是直接停在目标点上
8" 工业机器人的远程监控的仿真验证
通过Robot Studio对机器人进行编程和仿真,再通过Visual Studio进行连接,实现了与ABB机器人之间建立了稳定的通信连接。经过测试Visual Studio可以对机器人进行控制,测试结果如表2所示。
8.1" Robot Studio示教器调试
使用简单的编程让机器人动起来,可以现场编程或调整,模拟路径和动作,如从休息区移动到工作圆台移动路径如图6所示,操作将不断重复执行。操作直观,可以作为验证和调整监视程序的一个步骤,确保最大的兼容性和标准化。经调试机器人能够实现从休息区移动到工作圆台的指令。
8.2" Visual Studio软件编程调试
Visual Studio软件支持跨平台的项目,在不同的操作系统上面开发机器人的应用程序,更加容易地将机器人应用程序与其他系统集成,确保VS应用程序与ABB机器人之间建立了稳定的通信连接,通过调用函数来发送控制命令给ABB机器人。经调试,通过Visual Studio平台实现对机器人的实时监控,以及简单控制。机器人实时控制如图7所示。
9" 结" 论
本研究课题“基于Robot Studio的工业机器人远程监控系统设计与研究”成功开发了一个创新的系统,该系统采用客户端与服务器架构,通过局域网实现了对工业机器人的远程监控与控制。利用Robot Studio软件平台,构建了虚拟工作站并模拟了工业场景,为系统的开发提供了有力的支持。通过集成PC SDK与Win Form技术,打造了一个功能强大且易于使用的控制端,极大地提升了用户体验。仿真测试充分验证了系统的功能完整性、操作便捷性和系统稳定性,实现了对工业机器人生产过程的远程观察与精确操控。这一系统的成功开发,不仅满足了当前工业生产中对自动化、智能化管理的迫切需求,更为工业机器人的进一步应用与发展提供了可靠的技术保障,为工业4.0时代的到来奠定了坚实的基础。
参考文献:
[1] 陆茂鑫,蒋申晨,王昭夏.基于物联网的智能绝缘涂覆机器人远程控制系统 [J].自动化技术与应用,2023,42(1):126-129+137.
[2] 刘永奎,张霖,刘迎福,等.云制造环境下工业机器人远程监控系统设计与实现 [J].系统仿真学报,2023,35(2):318-329.
[3] 傅贵武,田英,王兴波.基于SDK通信接口的工业机器人远程监控系统设计 [J].机床与液压,2020,48(17):29-33.
[4] 张爱民,孔得鹏,王倩.工业机器人的远程监控与诊断系统设计 [J].机械,2010,37(10):45-47.
[5] 潘湘飞.基于Socket通信的工业机器人监控系统研究 [D].杭州:浙江工业大学,2017.
[6] 刘计良,苗鹏,陈裕鹏,等.工业机器人远程信息监控系统的设计与研究 [J].内蒙古科技与经济,2024(6):102-106.
[7] 张杨林子,王顺,叶枝森.工业设备基于物联网远程PLC控制系统设计 [J].自动化技术与应用,2023,42(3):8-10+44.
[8] 陈子阳,刘伟.基于数字孪生工业机器人建模与远程监控系统的设计 [J].制造业自动化,2023,45(6):17-22.
[9] 康晋.基于LoRa无线通信的工业机器人远程监控系统设计 [J].计算机测量与控制,2022,30(9):119-124+132.
[10] 于博.云制造环境下工业机器人远程监控系统设计与实现 [D].西安:西安电子科技大学,2021.
作者简介:胡辰(2003.06—),女,黎族,海南万宁人,本科在读,研究方向:自动化。
收稿日期:2024-10-08