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軟體二次開發基礎