c# - 通过 modbus tcp 检查注册表值更改
问题描述
我使用 EasyModbus 库将计算机与微控制器连接起来。
问题:我需要通过 ModbusTCP <> 读取微控制器上的全局寄存器/变量,这不是一次读取,它必须检查给定寄存器是否已更改的状态并将其值分配给变量/字段(接近实时)
我试过:在任何方法中,我都可以通过 ReadHoldingRegisters 读取寄存器,类本身不再有这个选项。
public static ModbusClient modbusClient = new ModbusClient();
void sth
{
int[] registers = modbusClient.ReadHoldingRegisters(2500, 5);
}
有谁知道如何解决这个问题/有人可以指导我吗?
解决方案
您需要轮询微控制器,Modbus 不支持事件或类似功能。
推荐阅读
- reactjs - 尝试使用 React-Spring 制作动画时出现错误“TypeError: rangeValue.replace is not a function”
- java - 如何使用用户创建的对象的变量?(Java)
- css - 带有粘性标题和粘性第一列的表格,但第一列的内容在标题下溢出 - 仅使用 CSS
- ipfs - 如何列出 IPFS 实例的所有当前固定文件?
- android - viewpager2 RTL 不适用于清单 supportRtl=false
- sql - 连接表上的 SQL 更新查询
- c# - 如何通过 C# 在 Sharepoint Online 中创建共享链接?
- plot - 在 r 中绘制计数数据
- apache-spark - 火花流使用广播包装hbase客户端直接访问启用kerberos的hbase,但我不知道如何刷新令牌
- selenium - org.openqa.selenium.support.pagefactory.DefaultElementLocator.findElement(DefaultElementLocator.java:69) 处的 java.lang.NullPointerException