开发环境
本文的开发使用的是Visual Studio 2019,基于.net Framework 4.8进行开发
SDK使用ABB PC SDK 2020.4版本
下载链接https://download.youkuaiyun.com/download/a820946475/14753888
或者官网https://robotapps.blob.core.windows.net/apps/acdb3967-fa5c-42a4-b148-443cef4e5d23PCSDK_2020.4.zip
Demo下载地址https://download.youkuaiyun.com/download/a820946475/14158054
SDK引用
我的ABB SDK安装在C盘,所以DLL引用路径为:C:\Program Files (x86)\ABB\SDK\PCSDK 2020 引用的dll文件为:ABB.Robotics.Controllers.PC.dll、RobotStudio.Services.RobApi.Desktop.dll、RobotStudio.Services.RobApi.dll 三个。
同时在Form1中对添加using
using ABB.Robotics;
using ABB.Robotics.Controllers;
using ABB.Robotics.Controllers.Discovery;
using ABB.Robotics.Controllers.EventLogDomain;
using ABB.Robotics.Controllers.FileSystemDomain;
using ABB.Robotics.Controllers.IOSystemDomain;
using ABB.Robotics.Controllers.RapidDomain;
控制器连接
在Form1界面添加btn_scan、btn_connect和ListView1控件
- btn_scan设置
项目 | Value |
---|---|
Text | 扫描 |
- btn_connect设置
项目 | Value |
---|---|
Enabled | False |
Text | 连接 |
- ListView1设置
项目 | Value |
---|---|
FullRowSelect | True |
GridLines | True |
View | Details |
Columns | 列内容 |
在Form1中定义全年局变量
NetworkScanner scanner = new NetworkScanner(); //实例化NetworkScanner类
Controller controller = null; //定义controller全局变量
ControllerInfoCollection controllers = null; //定义控制器集合
btn_scan Click事件,实现点击按钮后,扫描控制器,并显示在ListView1中
private void btn_scanner_Click(object sender, EventArgs e)
{
scanner.Scan(); //扫描控制器
controllers = scanner.Controllers; //获取扫描到的控制器集合
if(controllers.Count>0)
{
AddListview(controllers);
}
}
public void AddListview(ControllerInfoCollection icontrollers)
{
listView1.Items.Clear();
for(int i=0;i<icontrollers.Count; i++)
{
ControllerInfo controllerInfo = icontrollers[i];
listView1.Items.Add(controllerInfo.IPAddress.ToString());
listView1.Items[i].SubItems.Add(controllerInfo.Availability.ToString());
listView1.Items[i].SubItems.Add(controllerInfo.ControllerName);
listView1.Items[i].SubItems.Add(controllerInfo.IsVirtual == true ? "虚拟" : "现实");
listView1.Items[i].SubItems.Add(