From 5494a8a79e9ba2d298c58b8143345f7623bcddbd Mon Sep 17 00:00:00 2001 From: "GukSang.Jin" Date: Sun, 4 Jan 2026 10:47:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WindowsFormsApp6/MainForm.cs | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/WindowsFormsApp6/MainForm.cs b/WindowsFormsApp6/MainForm.cs index f0b463d..a1ea59e 100644 --- a/WindowsFormsApp6/MainForm.cs +++ b/WindowsFormsApp6/MainForm.cs @@ -266,7 +266,7 @@ namespace WindowsFormsApp6 /// /// 读取Form2数据(液体吸收量) - /// PLC地址:D420 - 初始重量, D422 - 浸润后重量, D402 - 浸润时间, D406 - 悬挂时间 + /// PLC地址:D420 - 初始重量, D422 - 浸润后重量, D402 - 浸润时间, D406 - 悬挂时间, D310 - 运行速度 /// 信号量:M252 /// private void ReadForm2Data(byte slaveId) @@ -279,11 +279,14 @@ namespace WindowsFormsApp6 // 读取浸润后重量(D422开始,5个试样) ushort[] afterWeights = _modbusMaster.ReadHoldingRegisters(slaveId, 422, 5); - // 读取浸润时间(D402) - ushort[] soakTime = _modbusMaster.ReadHoldingRegisters(slaveId, 402, 1); + // 读取浸润时间(D402开始,5个试样) + ushort[] soakTimes = _modbusMaster.ReadHoldingRegisters(slaveId, 402, 5); - // 读取悬挂时间(D406) - ushort[] hangTime = _modbusMaster.ReadHoldingRegisters(slaveId, 406, 1); + // 读取悬挂时间(D406开始,5个试样) + ushort[] hangTimes = _modbusMaster.ReadHoldingRegisters(slaveId, 406, 5); + + // 读取运行速度(D310开始,5个试样) + ushort[] runSpeeds = _modbusMaster.ReadHoldingRegisters(slaveId, 310, 5); // 使用反射获取Form2的私有字段 var sampleDataTableField = form2Instance.GetType() @@ -338,30 +341,30 @@ namespace WindowsFormsApp6 } dataTable.Rows.Add(absorptionRow); - // 4. 浸润时间行 + // 4. 浸润时间行(每个试样独立的浸润时间) DataRow soakTimeRow = dataTable.NewRow(); soakTimeRow["序号"] = "浸润时间"; - for (int i = 1; i <= count; i++) + for (int i = 0; i < count; i++) { - soakTimeRow[$"试样{i}"] = $"{soakTime[0]}s"; + soakTimeRow[$"试样{i + 1}"] = $"{soakTimes[i]}s"; } dataTable.Rows.Add(soakTimeRow); - // 5. 悬挂时间行 + // 5. 悬挂时间行(每个试样独立的悬挂时间) DataRow hangTimeRow = dataTable.NewRow(); hangTimeRow["序号"] = "悬挂时间"; - for (int i = 1; i <= count; i++) + for (int i = 0; i < count; i++) { - hangTimeRow[$"试样{i}"] = $"{hangTime[0]}s"; + hangTimeRow[$"试样{i + 1}"] = $"{hangTimes[i]}s"; } dataTable.Rows.Add(hangTimeRow); - // 6. 运行速度行(固定值或从其他寄存器读取) + // 6. 运行速度行(每个试样独立的运行速度) DataRow runSpeedRow = dataTable.NewRow(); runSpeedRow["序号"] = "运行速度"; - for (int i = 1; i <= count; i++) + for (int i = 0; i < count; i++) { - runSpeedRow[$"试样{i}"] = "100mm/min"; + runSpeedRow[$"试样{i + 1}"] = $"{runSpeeds[i]}mm/min"; } dataTable.Rows.Add(runSpeedRow);