更新
This commit is contained in:
@@ -160,8 +160,7 @@ namespace COFTester.Models
|
||||
public int ConnectTimeout { get; set; } = 5000; // 連接超時
|
||||
|
||||
// === 傳感器數據寄存器(只讀)===
|
||||
public ushort ForceRegister { get; set; } = 0; // 力值寄存器(2個寄存器,Float)
|
||||
public ushort DisplacementRegister { get; set; } = 2; // 位移寄存器(2個寄存器,Float)
|
||||
// 注意:舊地址 0, 2 已移除,使用新地址 1314, 360
|
||||
public ushort FrictionForceRegister { get; set; } = 1314; // D1314 摩擦力(只讀)曲線圖力值(2個寄存器,Float)
|
||||
public ushort CurveDisplacementRegister { get; set; } = 360; // D360 水平手動位移 曲線圖位移值(2個寄存器,Float)
|
||||
public ushort VerticalPositionRegister { get; set; } = 12; // D12 升降位置(只讀)(2個寄存器,Float)
|
||||
@@ -210,8 +209,7 @@ namespace COFTester.Models
|
||||
public int WriteTimeout { get; set; } = 1000; // 寫入超時
|
||||
|
||||
// === 傳感器數據寄存器(只讀)===
|
||||
public ushort ForceRegister { get; set; } = 0; // 力值寄存器(2個寄存器,Float)
|
||||
public ushort DisplacementRegister { get; set; } = 2; // 位移寄存器(2個寄存器,Float)
|
||||
// 注意:舊地址 0, 2 已移除,使用新地址 1314, 360
|
||||
public ushort FrictionForceRegister { get; set; } = 1314; // D1314 摩擦力(只讀)曲線圖力值(2個寄存器,Float)
|
||||
public ushort CurveDisplacementRegister { get; set; } = 360; // D360 水平手動位移 曲線圖位移值(2個寄存器,Float)
|
||||
public ushort VerticalPositionRegister { get; set; } = 12; // D12 升降位置(只讀)(2個寄存器,Float)
|
||||
|
||||
@@ -645,6 +645,7 @@ namespace COFTester.Services
|
||||
|
||||
/// <summary>
|
||||
/// 讀取傳感器數據(力值和位移)
|
||||
/// 使用新地址:D1314 摩擦力, D360 位移
|
||||
/// </summary>
|
||||
protected override async Task<TestDataPoint?> ReadSensorDataAsync()
|
||||
{
|
||||
@@ -652,14 +653,18 @@ namespace COFTester.Services
|
||||
{
|
||||
if (_modbusMaster == null) return null;
|
||||
|
||||
// 讀取 4 個寄存器:力值(2) + 位移(2)
|
||||
var registers = await _modbusMaster.ReadHoldingRegistersAsync(
|
||||
_config.SlaveId, _config.ForceRegister, 4);
|
||||
// 讀取 D1314 摩擦力(2個寄存器)
|
||||
var forceRegisters = await _modbusMaster.ReadHoldingRegistersAsync(
|
||||
_config.SlaveId, _config.FrictionForceRegister, 2);
|
||||
|
||||
// 讀取 D360 位移(2個寄存器)
|
||||
var displacementRegisters = await _modbusMaster.ReadHoldingRegistersAsync(
|
||||
_config.SlaveId, _config.CurveDisplacementRegister, 2);
|
||||
|
||||
return new TestDataPoint
|
||||
{
|
||||
Force = ConvertRegistersToFloat(registers, 0),
|
||||
Displacement = ConvertRegistersToFloat(registers, 2),
|
||||
Force = ConvertRegistersToFloat(forceRegisters, 0),
|
||||
Displacement = ConvertRegistersToFloat(displacementRegisters, 0),
|
||||
Timestamp = DateTime.Now
|
||||
};
|
||||
}
|
||||
@@ -966,6 +971,7 @@ namespace COFTester.Services
|
||||
|
||||
/// <summary>
|
||||
/// 讀取傳感器數據(力值和位移)
|
||||
/// 使用新地址:D1314 摩擦力, D360 位移
|
||||
/// </summary>
|
||||
protected override async Task<TestDataPoint?> ReadSensorDataAsync()
|
||||
{
|
||||
@@ -973,13 +979,18 @@ namespace COFTester.Services
|
||||
{
|
||||
if (_modbusMaster == null) return null;
|
||||
|
||||
var registers = await _modbusMaster.ReadHoldingRegistersAsync(
|
||||
_config.SlaveId, _config.ForceRegister, 4);
|
||||
// 讀取 D1314 摩擦力(2個寄存器)
|
||||
var forceRegisters = await _modbusMaster.ReadHoldingRegistersAsync(
|
||||
_config.SlaveId, _config.FrictionForceRegister, 2);
|
||||
|
||||
// 讀取 D360 位移(2個寄存器)
|
||||
var displacementRegisters = await _modbusMaster.ReadHoldingRegistersAsync(
|
||||
_config.SlaveId, _config.CurveDisplacementRegister, 2);
|
||||
|
||||
return new TestDataPoint
|
||||
{
|
||||
Force = ConvertRegistersToFloat(registers, 0),
|
||||
Displacement = ConvertRegistersToFloat(registers, 2),
|
||||
Force = ConvertRegistersToFloat(forceRegisters, 0),
|
||||
Displacement = ConvertRegistersToFloat(displacementRegisters, 0),
|
||||
Timestamp = DateTime.Now
|
||||
};
|
||||
}
|
||||
@@ -1289,19 +1300,28 @@ namespace COFTester.Services
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 讀取傳感器數據(力值和位移)
|
||||
/// 使用新地址:D1314 摩擦力, D360 位移
|
||||
/// </summary>
|
||||
protected override async Task<TestDataPoint?> ReadSensorDataAsync()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (_modbusMaster == null) return null;
|
||||
|
||||
var registers = await _modbusMaster.ReadHoldingRegistersAsync(
|
||||
_config.SlaveId, _config.ForceRegister, 4);
|
||||
// 讀取 D1314 摩擦力(2個寄存器)
|
||||
var forceRegisters = await _modbusMaster.ReadHoldingRegistersAsync(
|
||||
_config.SlaveId, _config.FrictionForceRegister, 2);
|
||||
|
||||
// 讀取 D360 位移(2個寄存器)
|
||||
var displacementRegisters = await _modbusMaster.ReadHoldingRegistersAsync(
|
||||
_config.SlaveId, _config.CurveDisplacementRegister, 2);
|
||||
|
||||
return new TestDataPoint
|
||||
{
|
||||
Force = ConvertRegistersToFloat(registers, 0),
|
||||
Displacement = ConvertRegistersToFloat(registers, 2),
|
||||
Force = ConvertRegistersToFloat(forceRegisters, 0),
|
||||
Displacement = ConvertRegistersToFloat(displacementRegisters, 0),
|
||||
Timestamp = DateTime.Now
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
"SlaveId": 1,
|
||||
"Timeout": 3000,
|
||||
"ConnectTimeout": 5000,
|
||||
"ForceRegister": 0,
|
||||
"DisplacementRegister": 2,
|
||||
"FrictionForceRegister": 1314,
|
||||
"CurveDisplacementRegister": 360,
|
||||
"VerticalPositionRegister": 12,
|
||||
@@ -38,8 +36,6 @@
|
||||
"Timeout": 3000,
|
||||
"ReadTimeout": 1000,
|
||||
"WriteTimeout": 1000,
|
||||
"ForceRegister": 0,
|
||||
"DisplacementRegister": 2,
|
||||
"FrictionForceRegister": 1314,
|
||||
"CurveDisplacementRegister": 360,
|
||||
"VerticalPositionRegister": 12,
|
||||
|
||||
Reference in New Issue
Block a user