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