SIEMENS湖北省武汉市(授权)西门子一级代理商——西门子华中总代理
| 更新时间 2024-11-26 07:00:00 价格 请来电询价 西门子总代理 PLC 西门子一级代 驱动 西门子代理商 伺服电机 联系电话 15903418770 联系手机 15915421161 联系人 张经理 立即询价 |
pcsdk之订阅数据
1. 对于数据,总希望能够在对应状态发生变化的时候,C#端能自动获取,而非人为手动触发,例如下图的a100数据,数据改变时,C#端能自动获取Zui新状态。
2. 对于以上需求,可以通过EventHandler来处理。即当有事件发生时,触发相关代码。
3. 代码如下
private void subscribe_value()
{
rd = controller.Rapid.GetRapidData("T_ROB1", "Module1", "a100");
rd.ValueChanged += new EventHandler<DataValueChangedEventArgs>(rd_ValueChanged);
//添加对模块Module1下的a100数据的订阅,若数据状态发生变化,触发rd_ValueChanged
}
private void rd_ValueChanged(object sender, DataValueChangedEventArgs e)
{
this.Invoke(new EventHandler(UpdateGUI), sender, e);
}
private void UpdateGUI(object sender, System.EventArgs e)
{
Num nTemp = (Num)this.rd.Value;
this.textBox1.Text = nTemp.Value.ToString();
}
4. 使用pcsdk,在C#与机器人建立连接后,执行subscribe_value(),添加订阅。此时只有在变量a100的值发生变化,触发对应事件