您好!欢迎光临工博士商城

ABB机器人配件专营店

产品:37    
联系我们
您当前的位置:首页 » 新闻中心 » ABB机器人PC SDK之订阅IO信号
产品分类
新闻中心
ABB机器人PC SDK之订阅IO信号
发布时间:2019-09-02        浏览次数:712        返回列表
ABB机器人PC SDK之订阅IO信号


声明:本媒体部分图片、文章来源于网络,
版权归原作者所有,如有侵权,请与我联系删除。

1. 对于IO,ABB机器人状态等信息,总希望能够在对应状态发生变化的时候,C#端能自动获取,而非人为手动触发,例如下图的di0信号,信号值改变时,C#端能自动获取*新状态。

PCSDK之订阅IO信号

2. 对于以上需求,可以通过EventHandler来处理。即当有事件发生时,触发相关代码。

3. 代码如下

private void subscribe_value()
{
rsignal = controller.IOSystem.GetSignal("di0");
rsignal.Changed += new EventHandler<SignalChangedEventArgs>(io_StateChanged);
//添加SignalChangedEvent的状态订阅,若信号状态发生变化,触发io_StateChanged
}
private void io_StateChanged(object sender, SignalChangedEventArgs e)
{
this.Invoke(new EventHandler(UpdateGUI4), sender, e);
//为了避免界面线程和主线程冲突,采用委托方式
}

private void UpdateGUI4(object sender, System.EventArgs e)
{
this.label4.Text = rsignal.Value.ToString();
//将当前di0信号的值显示在Label4中
}
ABB机器人配件 3HAC2492-1



4. 使用pcsdk,在C#与机器人建立连接后,执行subscribe_value(),添加订阅。此时只有在信号发生变化,触发对应事件

5. 对于ABB机器人状态和RAPID变量的订阅,可以使用如下代码

controller.StateChanged += new EventHandler<StateChangedEventArgs>(controller_StateChanged);
//添加对机器人状态的订阅
rd = controller.Rapid.GetRapidData("T_ROB1", "Module1", "a100");
rd.ValueChanged += new EventHandler<DataValueChangedEventArgs>(rd_ValueChanged);
//添加对RAPID数据"a100"的订阅


了解更多机器人资讯点击:ABB配件

分享到: 


 

联系热线:18616260662   联系人:王青慧 联系地址:上海市嘉定区南翔镇众仁路399号B栋20层2007-2012

技术和报价服务:星期一至星期六8:00-22:00 ABB机器人配件专营店