This commit is contained in:
GukSang.Jin
2026-01-04 10:47:39 +08:00
parent e361016444
commit 5494a8a79e

View File

@@ -266,7 +266,7 @@ namespace WindowsFormsApp6
/// <summary>
/// 读取Form2数据液体吸收量
/// PLC地址D420 - 初始重量, D422 - 浸润后重量, D402 - 浸润时间, D406 - 悬挂时间
/// PLC地址D420 - 初始重量, D422 - 浸润后重量, D402 - 浸润时间, D406 - 悬挂时间, D310 - 运行速度
/// 信号量M252
/// </summary>
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);