1.完成配置后我们开始进行操作
2.拖拽出一个ListView控件
3.编辑列并且修改名称
选择控件并且添加列表值,用作后面的系统登录
4.创建刷新按钮添加刷新代码
创建完后加入刷新代码
private NetworkScanner scanner = new NetworkScanner();
//机器人网络扫描器NetworkScanner类实例化对象
private Controller controller = null;
//机器人控制器Controller类实例化对象controller
private ABB.Robotics.Controllers.RapidDomain.Task[] tasks = null;
private NetworkWatcher networkwatcher = null;
private void button1_Click(object sender, EventArgs e)
{
//如果上面创建失败则创建一个NetworkScanner类实例化对象
if (scanner != null) {
scanner =new NetworkScanner();
}
scanner.Scan();//对网络进行扫描
//清空当前窗口listView1的数据
this.listView1.Items.Clear();
//将网络上所有机器人信息给到controls(手册中有属性值和方法)
ControllerInfoCollection controls = scanner.Controllers;
//遍历机器人信息
foreach (ControllerInfo info in controls)
{
ListViewItem item = new ListViewItem(info.SystemName);
//逐步添加数据
item.SubItems.Add(info.IPAddress.ToString());
item.SubItems.Add(info.Version.ToString());
item.SubItems.Add(info.IsVirtual.ToString());
item.SubItems.Add(info.ControllerName.ToString());
//赋值给我们的对象列表
item.Tag = info;
this.listView1.Items.Add(item);
}
5.在ListView1的DoubleClick(双击时间)中加上一下代码做登录功能
在时间中添加一下代码
//如果列条数量大于0
if (this.listView1.Items.Count > 0)
{
ListViewItem item = this.listView1.SelectedItems[0];
//获取控件0列表的值
if (item.Tag != null)//如果点击不为空
{
ControllerInfo info = (ControllerInfo)item.Tag;//让机器人控制信息等于列表信息
if (info.Availability == Availability.Available)
{
//如果是可信任设备
if (controller != null)
{ //如果已经有设备占用先登出
controller.Logoff();
controller.Dispose();
controller = null;
}
//登录设备
controller = ControllerFactory.CreateFrom(info);
//输入控制信息
controller.Logon(UserInfo.DefaultUser);
//使用默认用户登录
MessageBox.Show("已成功登录控制器" + info.SystemName);
//提示登录成功
}
}
}