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