ABB機器人二次開發:使用Web網頁讀取機器人系統信息的操作方法

本文已經首發在個人微信公衆號:工業機器人仿真與編程(微信號:IndRobSim),歡迎關注!

概述

對於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機器人機器視覺位姿引導虛擬仿真

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章