ABB机器人PCSDK包开发上位机
扫描网络上可用的控制器
if (Common.scanner == null)
{
Common.scanner = new NetworkScanner();
}
Common.scanner.Scan();
this.listView1.Items.Clear();
ControllerInfoCollection controllers = Common.scanner.Controllers;
Common.robotCount = controllers.Count;
foreach (ControllerInfo info in controllers)
{
ListViewItem listViewItem = new ListViewItem(info.SystemName);
//listViewItem.Text = info.SystemName.ToString();
listViewItem.SubItems.Add(info.IPAddress.ToString());
listViewItem.SubItems.Add(info.Version.ToString());
listViewItem.SubItems.Add(info.IsVirtual.ToString());
listViewItem.SubItems.Add(info.ControllerName.ToString());
listViewItem.Tag = info;
this.listView1.Items.Add(listViewItem);
}
if (Common.robotCount == 1)
{
ListViewItem item = this.listView1.Items[0];
if (item.Tag != null)
{
ControllerInfo info = (ControllerInfo)item.Tag;
if (info.Availability == Availability.Available)
{
if (Common.controller != null)
{
Common.controller.Logoff();
Common.controller.Dispose();
Common.controller = null;
}
Common.controller = new Controller(info);
Common.controller.Logon(UserInfo.DefaultUser);
}
}
}
我此处是扫描到一个机器人控制器的话,就直接连接该控制器
if (Common.robotCount == 1)
{
ListViewItem item = this.listView1.Items[0];
if (item.Tag != null)
{
ControllerInfo info = (ControllerInfo)item.Tag;
if (info.Availability == Availability.Available)
{
if (Common.controller != null)
{
Common.controller.Logoff();
Common.controller.Dispose();
Common.controller = null;
}
Common.controller = new Controller(info);
Common.controller.Logon(UserInfo.DefaultUser);
}
}
}
读取和修改机器人单个数据
读取和修改机器人的数据为数组
对机器人IO信号的读取和更改
对机器人MOD文件上传和下载