PC SDK不提供ABB实际机器人速度值的输出接口。
机器人系统可以输出TCPSpeed并将相关模拟量的输出信号进行关联。上位机利用信号值变化事件来订阅信号的变化,并将其与图形控制相关联。
创建一个虚拟模拟输出信号ao_speed,如下图所示。并将信号与系统输出的TCP速度相关联,
为更好的显示速度变化,可以采用HslCommunication的UserGaugeChart控件,如文首的仪表盘。可以在Visual Studio中的NuGet管理器中下载HslCommunication,或者在下图打开程序包管理器控制台,并且输入Install-Package HslCommunication进行安装。安装完毕后,在当前项目对应文件夹的Package文件夹下找到HslCommunication.dll,拖入Visual Studio的工具箱。
在窗体程序中拖动UserGaugeChart控件,并设置相应的MAX和MIN数据、报警数据、单位等(这里假设机器人的速度MAX为1000mm/s)。在上位机端,机器人登录到机器人控制器后,添加AO_speed信号订阅,代码如下。启动机器人后,可以看到机器人的实时速度。
voidsubscribe()
{
Signal sigspeed =controller.IOSystem.GetSignal("ao_speed");
sigspeed.Changed += newEventHandler
}
privatevoidsig_Changed(object sender,SignalChangedEventArgs e)
{
this.Invoke(new EventHandler(UpdateGUIsig), sender, e);
//为了避免界面线程和主线程冲突,采用委托方式
}
privatevoid UpdateGUIsig(object sender,System.EventArgs e)
{
Signal s = (Signal)sender;
userGaugeChart1.Value =Math.Round(s.Value*1000);
//TCP Speed输出为 m/s,此处转化为mm/s,即乘以1000。显示数据取整。
}
转载于:机器人在线
更多:ABB机器人