如何使用 jamod 库实例化 Java 中的 Register 对象?
How do I instantiate a Register object in Java using the jamod library?
我目前正在使用 jamod 来设置一个小型的工作控制系统。我们正在使用多个 PLC,我需要使用 MODBUS 协议进行通信。我已经能够读取控制器测量的值,但是我无法成功写入控制器(调整电流)。
我的问题是,如何使用 jamod 实例化 Register 对象?
Register[] reg_1 = new Register[5];
reg_1[0].setValue(16000);
这行不通。本质上我想将位置 0 的寄存器值设置为整数 16000。我也尝试过使用
reg_1[0].setValue(Integer.parseInt("16000"));
我一直在查看 jamod 文档,但找不到任何创建正确寄存器对象的方法,也找不到任何有关如何设置正确寄存器进行写入的示例。
如果有人有任何想法,我将不胜感激。 :)
我明白了。设置用于写入的 Register[] 的正确方法,在我的例子中,是设置几个由 UINT_16s 组成的 SimpleRegisters,然后像这样将它们放入 Register[] 数组中:
Register reg1 = new SimpleRegister(48911);
Register reg2 = new SimpleRegister(23593);
Register reg3 = new SimpleRegister(48911);
Register reg4 = new SimpleRegister(23593);
WriteMultipleRegistersRequest req = new WriteMultipleRegistersRequest(41200,new Register[]{reg1,reg2,reg3,reg4});
WriteMultipleRegistersResponse res = new WriteMultipleRegistersResponse();
其中 41200 是寄存器写入开始的参考点。您可以使用多个金额(甚至 1 或 100)来执行此操作,并相应地调整您的注册金额。在我的例子中,我从 modbus 发送和接收两个 8 位字,所以每个值有两个寄存器。
我目前正在使用 jamod 来设置一个小型的工作控制系统。我们正在使用多个 PLC,我需要使用 MODBUS 协议进行通信。我已经能够读取控制器测量的值,但是我无法成功写入控制器(调整电流)。
我的问题是,如何使用 jamod 实例化 Register 对象?
Register[] reg_1 = new Register[5];
reg_1[0].setValue(16000);
这行不通。本质上我想将位置 0 的寄存器值设置为整数 16000。我也尝试过使用
reg_1[0].setValue(Integer.parseInt("16000"));
我一直在查看 jamod 文档,但找不到任何创建正确寄存器对象的方法,也找不到任何有关如何设置正确寄存器进行写入的示例。
如果有人有任何想法,我将不胜感激。 :)
我明白了。设置用于写入的 Register[] 的正确方法,在我的例子中,是设置几个由 UINT_16s 组成的 SimpleRegisters,然后像这样将它们放入 Register[] 数组中:
Register reg1 = new SimpleRegister(48911);
Register reg2 = new SimpleRegister(23593);
Register reg3 = new SimpleRegister(48911);
Register reg4 = new SimpleRegister(23593);
WriteMultipleRegistersRequest req = new WriteMultipleRegistersRequest(41200,new Register[]{reg1,reg2,reg3,reg4});
WriteMultipleRegistersResponse res = new WriteMultipleRegistersResponse();
其中 41200 是寄存器写入开始的参考点。您可以使用多个金额(甚至 1 或 100)来执行此操作,并相应地调整您的注册金额。在我的例子中,我从 modbus 发送和接收两个 8 位字,所以每个值有两个寄存器。