广东湘恒智能科技有限公司
主营产品: 西门子PLC代理商,plc变频器,伺服电机,人机界面,触摸屏,线缆,DP接头
SIEMENS湖北省武汉市(授权)西门子一级代理商——西门子华中总代理

pcsdk之订阅数据

1. 对于数据,总希望能够在对应状态发生变化的时候,C#端能自动获取,而非人为手动触发,例如下图的a100数据,数据改变时,C#端能自动获取最新状态。 

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的值发生变化,触发对应事件


展开全文
相关产品
拨打电话 微信咨询 发送询价