我正在创建一个 java 桌面应用程序。我想将数据写入设备的寄存器。根据我的项目文档,寄存器的大小是 16 位长。我正在使用 EasyModbusJava jar 将数据写入寄存器。到目前为止,我已经在设备的寄存器上写入了一些整数数据。现在我想在 16 个连续寄存器(每个寄存器 2 个字符)中写入 32 个字符的 ascii。但问题是在寄存器上写入的可用方法将 int 作为参数。如果传递的是 ascii 值的 short(int) 数组,那么它需要进行类型转换,这意味着它将不再获取 short 数据类型的大小。
有两种方法可以写入寄存器地址。
用于写入单个寄存器
public void WriteMultipleRegisters(int startingAddress, int[] values){...}
用于写入多个寄存器
public void WriteMultipleRegisters(int startingAddress, int[] values){...}
建议一些方法来解决我的问题。
下面是我在项目中使用的 jar 文件文档的链接。 Jar 文件的文档。