我的问题会很奇怪,所以我为此道歉。
我将在一个名为“DiGi模块连接我9210”的电子设备中实现Modbus RTU Master。从这个设备,我将要求一些数据从PIC,数据像节点和温度和一些其他数据。我只想在我的设备中实现FC 04/03/16。
Digi模块是一个电子设备,因此为此,我将创建C#GUI,以通过Digi模块使用GUI从PIC请求数据,因为Digi将使用Modbus RTU协议与PIC连接。在Digi中获取数据之后,我们将使用restapi在云上发送数据。
从GUI到DIgI,我将拥有TCP/IP,从DIgI到PIC,我将拥有Modbus RTU,在Cloud和DIgI之间,我将拥有restapi。
我想去掉我在C#中的数据,所以我只需要通过DIGI从GUI向PIC发送请求(这样我的DIGI将成为GUI和PIC之间的桥梁)来配置节点或从PIC获取节点数据。为了从3X/4X寄存器获取数据,我必须使用80个请求或其他东西一次性读取几乎9999个寄存器。现在问题来了。
☺如何在设备或系统中实现Modbus RTU。?
☺如何通过GUI读取所有9999寄存器,因为我可能想从3X寄存器读取所有运行时数据。?
☺我怎样才能同时写入/读取所有4X寄存器。?
我们还实现了分页技术,这意味着第0页将有9999个寄存器,然后第1页将有9999个寄存器。所以,如果我想读取温度,我必须转到第0页,读取寄存器,如果我想读取速度值,我必须转到第1页,检查所有寄存器。?
图形用户界面看起来像
用户将添加节点号,然后温度并提交请求。

最佳答案

图书馆可以帮你。我已经在digi模块中实现了这个库,你只需要把你的寄存器放在循环中,也可以复制寄存器来在rtu中转换它。

08-15 23:06