diff --git a/WindowsFormsApp6/MainForm.cs b/WindowsFormsApp6/MainForm.cs index 90a9eed..61220ba 100644 --- a/WindowsFormsApp6/MainForm.cs +++ b/WindowsFormsApp6/MainForm.cs @@ -491,26 +491,26 @@ namespace WindowsFormsApp6 { try { - // 读取当前试样的数据(每次读取2个字节) - // 读取初始重量(D420,2字节) - ushort[] initialWeightReg = _modbusMaster.ReadHoldingRegisters(slaveId, 420, 2); - double initialWeight = ConvertRegistersToDouble(initialWeightReg); + // 读取当前试样的数据(每次读取1个寄存器 = 2个字节) + // 读取初始重量(D420,1个寄存器) + ushort[] initialWeightReg = _modbusMaster.ReadHoldingRegisters(slaveId, 420, 1); + double initialWeight = initialWeightReg[0]; - // 读取浸润后重量(D422,2字节) - ushort[] afterWeightReg = _modbusMaster.ReadHoldingRegisters(slaveId, 422, 2); - double afterWeight = ConvertRegistersToDouble(afterWeightReg); + // 读取浸润后重量(D422,1个寄存器) + ushort[] afterWeightReg = _modbusMaster.ReadHoldingRegisters(slaveId, 422, 1); + double afterWeight = afterWeightReg[0]; - // 读取浸润时间(D402,2字节) - ushort[] soakTimeReg = _modbusMaster.ReadHoldingRegisters(slaveId, 402, 2); - int soakTime = ConvertRegistersToInt(soakTimeReg); + // 读取浸润时间(D402,1个寄存器) + ushort[] soakTimeReg = _modbusMaster.ReadHoldingRegisters(slaveId, 402, 1); + int soakTime = soakTimeReg[0]; - // 读取悬挂时间(D406,2字节) - ushort[] hangTimeReg = _modbusMaster.ReadHoldingRegisters(slaveId, 406, 2); - int hangTime = ConvertRegistersToInt(hangTimeReg); + // 读取悬挂时间(D406,1个寄存器) + ushort[] hangTimeReg = _modbusMaster.ReadHoldingRegisters(slaveId, 406, 1); + int hangTime = hangTimeReg[0]; - // 读取运行速度(D310,2字节) - ushort[] runSpeedReg = _modbusMaster.ReadHoldingRegisters(slaveId, 310, 2); - int runSpeed = ConvertRegistersToInt(runSpeedReg); + // 读取运行速度(D310,1个寄存器) + ushort[] runSpeedReg = _modbusMaster.ReadHoldingRegisters(slaveId, 310, 1); + int runSpeed = runSpeedReg[0]; // 使用反射获取Form2的私有字段 var sampleDataTableField = form2Instance.GetType() @@ -1067,11 +1067,11 @@ namespace WindowsFormsApp6 { try { - // 读取吸水时间(D200,2个字节) - ushort[] timeRegisters = _modbusMaster.ReadHoldingRegisters(slaveId, 200, 2); + // 读取吸水时间(D200,1个寄存器 = 2个字节) + ushort[] timeRegisters = _modbusMaster.ReadHoldingRegisters(slaveId, 200, 1); - // 读取吸芯高度(D454,2个字节) - ushort[] heightRegisters = _modbusMaster.ReadHoldingRegisters(slaveId, 454, 2); + // 读取吸芯高度(D454,1个寄存器 = 2个字节) + ushort[] heightRegisters = _modbusMaster.ReadHoldingRegisters(slaveId, 454, 1); // 使用反射获取Form3的私有字段 var sampleDataTableField = form3Instance.GetType() @@ -1099,9 +1099,9 @@ namespace WindowsFormsApp6 return; } - // 将寄存器值转换为实际数据 - double wickingTime = ConvertRegistersToDouble(timeRegisters); // 吸水时间(秒) - double wickingHeight = ConvertRegistersToDouble(heightRegisters); // 吸芯高度(mm) + // 将寄存器值转换为实际数据(直接使用寄存器值) + double wickingTime = timeRegisters[0]; // 吸水时间(秒) + double wickingHeight = heightRegisters[0]; // 吸芯高度(mm) // 检查数据有效性 if (double.IsNaN(wickingTime) || double.IsInfinity(wickingTime) ||