PC SDK并未提供ABB机器人实际运行速度***值的输出接口。
可以利用机器人系统输出TCPSpeed,关联相关模拟量输出信号。上位机利用Signal Value Changed事件订阅该信号的变化并关联到图形化控件。
创建虚拟模拟量输出信号ao_speed,如下图。并关联该信号到系统输出TCP Speed上,
为更好的显示速度变化,可以采用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机器人