C#winform事件驱动 值改变事件 PLC寄存器值改变

本文介绍了如何在C# WinForm应用中使用事件驱动来响应PLC寄存器值的变化。通过Modbus通讯,当设置值改变时,会触发写数据帧的发送。虽然PLC本身不支持事件驱动,但可以通过比较指令模拟这一行为,当检测到值变化时,执行相应的写数据操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      Modbus通讯时,设置值发生改变时,我们希望启动一次请求帧,发送写数据帧,这个功能,在C#winform里很容易实现,因为有对应的值改变事件,

 private void numericUpDown1_ValueChanged(object sender, EventArgs e)
 {
     //值改变事件
 }


 public event EventHandler ValueChanged;

this.numericUpDown1.ValueChanged += new System.EventHandler(this.numericUpDown1_ValueChanged);

事件驱动往往和轮询机制相关,它们通常被称为event loop.重点在于并不会给每一个事件分配一个轮询来探知其变化,而是设置一个中央轮询中心,用这个轮询中心去轮询每个注册的对象,轮询中心一旦检测到了注册其中的对象有事件发生,那么就通知此事件感兴趣的对象,而对此事件感兴趣的对象此时会调用方法。

     PLC里并没有事件驱动这么一说,我们可以利用比较指令实现检测值改变事件,事件发生时可以触发一次写数据帧..

     

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RXXW_Dor

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值