百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

ABB机器人二次开发:使用Web网页读取机器人系统信息的操作方法

myzbx 2024-12-19 14:59 12 浏览

概述

对于ABB机器人进行远程监控,除了使用PC SDK二次开发后生成远程监控程序以外,还可以使用ABB机器人的OPC Service软件,但是使用这两种方法都需要机器人安装PC Interface系统选项,这势必造成机器人购买成本的提高,而且还不支持手机端远程访问。

除了以上两种方法以外,对于机器人控制器版本(Robotware)在6.0以上的,还可以通过Web网页对机器人进行远程监控,使用Web网页对机器人进行监控无需安装PC Interface系统选项,只需要连接上机器人控制器自带的以太网接口即可,方便快捷、节约成本,还支持手机端访问。本期,就来为大家介绍一下使用Web网页获取机器人系统信息的方法,为对ABB机器人二次开发感兴趣的小伙伴做一个入门。

Robotstudio软件:RobotStudio 6.08

网页开发软件:Microsoft Visual Studio Professional 2019

接口测试软件:Postman v7.27.0

网页浏览器:Google Chrome

接口测试

在RobotStudio软件中创建一个ABB机器人虚拟控制器,机器人型号可以随便选择,系统选项参数也可以随便选择,或直接保持默认。

打开Postman软件,然后点击左上角的“New”。在弹出的对话框中选择“Request”,创建新的请求接口。

在弹出的SAVE REQUEST对话框中Request name后输入请求名称,Select a collection or folder to save to下点击“Created Folder”按钮,创建一个接口集合,名称可以自定义,如RWS,最后点击下方的“Save to RWS”。

此时,创建的测试接口项目是空的,点击“Authorization”,为接口添加登录信息,详细设置信息如下:

登录方式(TYPE):Basic Auth

用户名(Username):Default User

密码(Password):robotics

继续设置接口登录信息,详细设置信息如下:

登录方式(TYPE):Digest Auth

用户名(Username):Default User

密码(Password):robotics

查看ABB机器人Robot Web Services的API文档,依次展开“Robot Web Services”→“RobotWare Services”→“System service”,点击其下的System Information,可以看到获取ABB机器人系统信息的Web接口的操作地址(URL)、操作方法(Method)等接口信息。

回到Postman软件中,按照ABB机器人Robot Web Services的API文档设置接口访问参数,接口操作方法选择为“GET”,在其后输入接口操作地址:http://127.0.0.1:80/rw/system。其中,http://127.0.0.1是Robotstudio软件中机器人虚拟控制器的默认IP地址,80是默认端口号,当然这里也可以使用http://localhost代替IP地址http://127.0.0.1:80;若是连接真实的控制器,那么IP地址应设置为真实ABB机器人控制IP地址,默认情况下ABB机器人控制器Service接口IP地址为http://192.168.125.1;rw/system是获取ABB机器人系统信息的Web接口的操作地址。设置完成后,点击“Send”,可以看到请求接口返回的机器人系统信息,默认显示格式为XML,可以将其切换为HTML显示格式,如下图所示。

完整的接口返回信息代码如下所示。

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <title>system</title>
    <base href="http://127.0.0.1:80/rw/system/" />
</head>

<body>
    <div class="state"><a href="" rel="self"></a>
        <ul>
            <li class="sys-system-li" title="system"> <span class="name">IRB_120_3kg_0.58m</span>
                <span class="rwversion">6.08.0134</span>
                <span class="sysid">{C08D83E6-785C-421B-BC28-D69FF1F3E33C}</span>
                <span class="starttm">2020-06-25 T 16:13:32</span> <span class="rwversionname">6.08.00.00</span> </li>
            <li class="sys-options-li" title="options"> <a href="options" rel="self"></a>
                <ul>
                    <li class="sys-option-li" title="0"> <span class="option">RobotWare Base</span> </li>
                    <li class="sys-option-li" title="1"> <span class="option">Chinese</span> </li>
                    <li class="sys-option-li" title="2"> <span class="option">709-1 DeviceNet Master/Slave</span> </li>
                    <li class="sys-option-li" title="3"> <span class="option">616-1 PC Interface</span> </li>
                    <li class="sys-option-li" title="4"> <span class="option">608-1 World Zones</span> </li>
                    <li class="sys-option-li" title="5"> <span class="option">623-1 Multitasking</span> </li>
                    <li class="sys-option-li" title="6"> <span class="option">617-1 FlexPendant Interface</span> </li>
                    <li class="sys-option-li" title="7">
                        <span class="option">Drive System IRB 120/140/260/360/910SC/1200/1400/1520/1600/1660ID</span>
                    </li>
                    <li class="sys-option-li" title="8"> <span class="option">ADU-790A in position X3</span> </li>
                    <li class="sys-option-li" title="9"> <span class="option">ADU-790A in position Y3</span> </li>
                    <li class="sys-option-li" title="10"> <span class="option">ADU-790A in position Z3</span> </li>
                    <li class="sys-option-li" title="11"> <span class="option">Axis Calibration</span> </li>
                    <li class="sys-option-li" title="12"> <span class="option">IRB 120-3/0.6</span> </li>
                </ul>
            </li>
            <li class="sys-energy-li" title="energy"> <a href="energy" rel="self" /> </li>
            <li class="sys-license-li" title="license"> <a href="license" rel="self" /> </li>
        </ul>
    </div>
</body>

</html>

Web网页编写

获得了Web网页接口返回信息后,就可以将其转换为Web网页了。在Microsoft Visual Studio软件中创建Web网页项目,项目模板选择“ASP.NET Web应用程序(.NET Framework)”。

配置新项目中,可以设置项目名称、位置、解决方案名称、框架版本等内容。

创建新的ASP.NET Web应用程序中选择“空”,点击“创建”按钮。

项目创建完成后,在软件右侧“解决方案资源管理器”中,右击项目名称,然后依次选择“添加”→“新建项”,添加新项中选择“HTML页”。

HTML页添加完成后,参考Postman软件中测试的机器人系统信息获取接口返回的信息,将其转换为HTML网页获取机器人系统信息程序代码。

完整HTML网页获取机器人系统信息程序代码如下所示。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>测试</title>
    <base xmlns="http://www.w3.org/1999/xhtml" />
    <!--<base href="http://localhost" />-->
    <base href="http://127.0.0.1:80"/>
</head>
<body>
    <h4>读取机器人系统信息</h4>
    <form id="state" method="get" action="rw/system">
        <input type="submit" value="点击读取" />
    </form>
</body>
</html>

当然,对于精通HTML网页编程的小伙伴,也可以使用记事本编写程序,并生成HTML网页,这里不再过多介绍。

Web网页运行测试

项目编译完成后,在项目根目录下可以找到编写的HTML网页文件HtmlPage1。

右击HTML网页文件HtmlPage1,打开方式选择为“Google Chrome”。

网页打开后,点击网页中的“点击读取”按钮,若是之前没有登录过机器人系统,则需要先登录机器人系统,用户名为Default User,密码为robotics,系统成功登录后即可获得机器人系统信息,测试效果如下方动态图所示。

真实机器人Web网页运行测试

对于真实的机器人需要将编写好的HTML网页文件加载到机器人控制器中,如将其保存到Home中的docs文件夹中,然后在Google Chrome网页地址中输入http://127.0.0.1/docs/ HtmlPage1.html,就可以打开读取机器人系统信息的网页了。当然IP地址需要根据实际设置情况自行设置,并且HTML网页文件中的IP地址也要与之对应一致。

The End


上一篇:Robotstudio软件:ABB机器人机器视觉位姿引导虚拟仿真

相关推荐

Django零基础速成指南:快速打造带用户系统的博客平台

#python##服务器##API##编程##学习#不是所有教程都值得你花时间!这篇实战指南将用5分钟带你解锁Django核心技能,手把手教你从零搭建一个具备用户注册登录、文章管理功能的完整...

iOS 17.0 Bootstrap 1.2.9 半越狱来啦!更新两点

这款Bootstrap半越狱工具终于更新,离上一次更新已相隔很久,现在推出1.2.9版本,主要为内置两点功能进行更新,也是提升半越狱的稳定性。如果你正在使用这款半越狱工具的,建议你更新。注意!...

iOS 16.x Bootstrap 1.2.3 发布,支持运行清理工具

本文主要讲Bootstrap半越狱工具更新相关内容。如果你是iOS16.0至16.6.1和17.0系统的,想体验半越狱的果粉,请继续往下看。--知识点科普--Bootstrap...

SpringBoot整合工作流引擎Acticiti系统,适用于ERP、OA系统

今日推荐:SpringBoot整合工作流引擎Acticiti的源码推荐理由:1、SpringBoot整合工作流引擎Acticiti系统2、实现了三级权限结构3、持久层使用了mybatis框架4、流程包...

SpringCloud自定义Bootstrap配置指南

在SpringCloud中自定义Bootstrap配置需要以下步骤,以确保在应用启动的早期阶段加载自定义配置:1.添加依赖(针对新版本SpringCloud)从SpringCloud2020...

Python使用Dash开发网页应用(三)(python网页开发教程)

PlotlyDash开发Web应用示例一个好的网页设计通常都需要编写css甚至js来定制前端内容,例如非常流行的bootstrap框架。我们既然想使用Dash来搭建web应用,很大的一个原因是不熟悉...

Oxygen XML Editor 27.1 中的新功能

OxygenXMLEditor27.1版是面向内容作者、开发者、合作者和出版商的行业领先工具包的增量版本。在27.1版本中,AIPositronAssistant得到了增强,包括用于...

【LLM-多模态】Mini-Gemini:挖掘多模态视觉语言模型的潜力

一、结论写在前面论文提出了Mini-Gemini,一个精简而强大的多模态VLM框架。Mini-Gemini的本质在于通过战略性框架设计、丰富的数据质量和扩展的功能范围,发掘VLM的潜在能力。其核心是补...

谐云课堂 | 一文详解分布式改造理论与实战

01微服务与分布式什么是分布式?首先,我们对上图提到的部分关键词进行讲解。单体,是指一个进程完成全部的后端处理;水平拆分,是同一个后端多环境部署,他们都处理相同的内容,使用反向代理来均衡负载,这种也叫...

基于Abaqus的手动挡换挡机构可靠性仿真

手动挡,也称手动变速器,英文全称为Manualtransmission,简称MT,即用手拨动换挡操纵总成才能改变变速器内的齿轮啮合位置,改变传动比,从而达到变速的目的。家用轿车主要采用软轴连接的换挡...

【pytorch】目标检测:彻底搞懂YOLOv5详解

YOLOv5是GlennJocher等人研发,它是Ultralytics公司的开源项目。YOLOv5根据参数量分为了n、s、m、l、x五种类型,其参数量依次上升,当然了其效果也是越来越好。从2020...

超实用!50个非常实用的PS快捷键命令大全分享

今天,给大家介绍50个非常实用的快捷键命令大全,大家伙都是设计师,关于软件使用那是越快越好啊。一、常用的热键组合1、图层混合模式快捷键:正常(Shift+Option+N),正片叠底(Shif...

Pohtoshop中深藏不露的小技巧(科目一考试技巧记忆口诀看完必过)

邢帅教育ps教程为大家总结了一些Pohtoshop中深藏不露的小技巧,可以帮助到大家在设计时减少不必要的麻烦,提高工作效率哦~~~1.设置网格线保持像素完美不在1:1分辨率下也能保持像素完美,可以...

Ganglia监控安装总结(监控安装工作总结)

一、ganglia简介:Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统,如集群和网格。它是基于分层设计,它使用广泛的技术,如XML数据代表,便携数据传输,RRDtool用于数据...

谁说Adobe XD做不出好看的设计?那是你没搞懂这些功能

AdobeXD的美化栏具有将设计视图美化的功能,它能使界面设计和原型设计更漂亮、更吸引眼球。美化栏的7个功能包括竖线布局设计、横线布局设计、重复网格、图形大小和位置设置、响应式调整大小、文字美化以及...