ABB機器人二次開發:基於PC SDK的機器人控制器掃描程序編寫

ABB機器人除了具備優異的控制系統外,還對外擴展了豐富的二次開發介面,即PC SDK。使用PC SDK介面可以在PC上開發自定義的操作界面,用來控制任何一款具有IRC5控制器的ABB機器人。同時,它還可以開發用於與控制器交互的RobotStudio模擬軟體的插件。 使用PC SDK,可以創建一個應用程序,該應用程序可以連接到一個或多個,真實或虛擬的機器人IRC5控制器。本期,為大家介紹一下連接機器人控制器的第一步,即在網路中掃描機器人控制器。

SDK版本:PC SDK.6.08

Robotstudio軟體版本:RobotStudio 6.08

開發軟體版本:Microsoft Visual Studio Professional 2019

一、項目創建

在Visual Studio中創建新項目,項目模板選擇C#下的「Windows 窗體應用(.NET Framework)」,即基於.NET開發框架的Windows窗口應用程序。

二、窗口布局

1.在項目自動生成的窗口中添加一個ListBox公共控制項與1個Button公共控制項,並為兩個公共控制項設置屬性參數。

  • ListBox公共控制項屬性設置

GridLines:True

View:Details

columnHeader1:系統名稱

columnHeader2:IP地址

columnHeader3:系統版本

columnHeader4:控制器名稱

  • Button公共控制項屬性設置

Text:掃描控制器

屬性設置完成後,將控制項調整大小後在窗口中進行合理布局,如下圖所示。

三、開發介面引用

ABB機器人二次開發包安裝完成之後,默認安裝位置為C:\Program Files (x86)\ABB Industrial IT\Robotics IT\SDK\PCSDK 6.08,因此要瀏覽到此文件目錄位置,並將其中的ABB.Robotics.Controllers.PC.dll添加到項目引用中。

四、代碼編寫

1.雙擊Botton公共控制項,打開代碼編輯窗口。首先在代碼編輯頁面的上部添加ABB機器人二次開發相關的命名空間,代碼如下所示。

//添加命名空間using ABB.Robotics.Controllers;using ABB.Robotics.Controllers.Discovery;

2.在Form1窗口類中聲明機器人控制器網路掃描器成員變數,代碼如下所示。

private NetworkScanner scanner = null;//聲明網路掃描器成員變數

3.在按鈕Botton1的點擊事件函數下編寫掃描機器人控制器代碼。

private void button1_Click(object sender, EventArgs e)        {            this.scanner = new NetworkScanner();//創建一個網路掃描器實例對象            this.scanner.Scan();//啟動掃描            ControllerInfoCollection controllers = scanner.Controllers;//將掃描到的控制器存放到控制器信息集合中            ListViewItem item = null;            //遍歷控制器信息集合中的控制器信息,並把所需的信息依次添加到列表顯示控制項中            foreach (ControllerInfo controllerInfo in controllers)            {                item = new ListViewItem(controllerInfo.SystemName);//系統名稱                item.SubItems.Add(controllerInfo.IPAddress.ToString());//IP地址                item.SubItems.Add(controllerInfo.Version.ToString());//系統版本                item.SubItems.Add(controllerInfo.ControllerName);//控制器名稱                this.listView1.Items.Add(item);            }        }

完整程序代碼如下所示:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;//添加命名空間using ABB.Robotics.Controllers;using ABB.Robotics.Controllers.Discovery;namespace WindowsFormsApp3{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        //機器人控制器掃描        private NetworkScanner scanner = null;//聲明網路掃描器成員變數        private void button1_Click(object sender, EventArgs e)        {            this.scanner = new NetworkScanner();//創建一個網路掃描器實例對象            this.scanner.Scan();//啟動掃描            ControllerInfoCollection controllers = scanner.Controllers;//將掃描到的控制器存放到控制器信息集合中            ListViewItem item = null;            //遍歷控制器信息集合中的控制器信息,並把所需的信息依次添加到列表顯示控制項中            foreach (ControllerInfo controllerInfo in controllers)            {                item = new ListViewItem(controllerInfo.SystemName);                item.SubItems.Add(controllerInfo.IPAddress.ToString());                item.SubItems.Add(controllerInfo.Version.ToString());                item.SubItems.Add(controllerInfo.ControllerName);                this.listView1.Items.Add(item);            }        }    }}

五、運行測試

ABB機器人PC SDK二次開發軟體的運行測試有兩種方式:

  • 真機運行測試

即與真實的機器人通信進行運行測試,真機測試時需要機器人控制系統中安裝了「616-1 PC Interface」選項。

  • 虛擬控制器運行測試

在沒有真實機器人的情況下,也可以使用虛擬控制器對軟體進行運行測試。要想使用虛擬控制器進行測試,需要安裝ABB機器人虛擬模擬軟體Robotstudio,這裡主要介紹連接虛擬控制器的運行測試。

1.在Robotstudio軟體中創建兩個機器人系統,系統選項參數可以直接使用默認設置。

2.運行編寫好的PC SDK軟體,在打開的Form1對話框中,點擊「掃描控制器」按鈕,可以看到,兩個虛擬機器人控制器信息被掃描添加進來。

註:在進行軟體測試時,一定要保持PC SDK版本與RobotWare版本的一致,或高於RobotWare版本。

The End

上一篇:基於C#語言的Robotstudio軟體二次開發基礎