修复优化
This commit is contained in:
@@ -179,6 +179,7 @@ namespace COFTester.Models
|
||||
|
||||
// === 手動控制參數寄存器(讀寫)===
|
||||
public ushort HorizontalManualSpeedRegister { get; set; } = 350; // D350 水平手動速度 (mm/s),Float,2個寄存器
|
||||
public ushort HorizontalManualDisplacementRegister { get; set; } = 360; // D360 水平手動位移 (mm),Float,2個寄存器
|
||||
public ushort VerticalManualSpeedRegister { get; set; } = 310; // D310 升降手動速度 (mm/s),Float,2個寄存器
|
||||
public ushort VerticalManualDisplacementRegister { get; set; } = 320; // D320 升降手動位移 (mm),Float,2個寄存器
|
||||
public ushort VerticalLimitRegister { get; set; } = 290; // D290 升降極限 (mm),Float,2個寄存器
|
||||
@@ -228,6 +229,7 @@ namespace COFTester.Models
|
||||
|
||||
// === 手動控制參數寄存器(讀寫)===
|
||||
public ushort HorizontalManualSpeedRegister { get; set; } = 350; // D350 水平手動速度 (mm/s),Float,2個寄存器
|
||||
public ushort HorizontalManualDisplacementRegister { get; set; } = 360; // D360 水平手動位移 (mm),Float,2個寄存器
|
||||
public ushort VerticalManualSpeedRegister { get; set; } = 310; // D310 升降手動速度 (mm/s),Float,2個寄存器
|
||||
public ushort VerticalManualDisplacementRegister { get; set; } = 320; // D320 升降手動位移 (mm),Float,2個寄存器
|
||||
public ushort VerticalLimitRegister { get; set; } = 290; // D290 升降極限 (mm),Float,2個寄存器
|
||||
|
||||
@@ -725,7 +725,7 @@ namespace COFTester.Services
|
||||
|
||||
/// <summary>
|
||||
/// 寫入手動控制參數到 PLC 寄存器
|
||||
/// D350 水平手動速度, D310 升降手動速度, D320 升降手動位移
|
||||
/// D350 水平手動速度, D360 水平手動位移, D310 升降手動速度, D320 升降手動位移
|
||||
/// D290 升降極限, D292 水平極限, D1320 拉力系數, D1322 拉力保護
|
||||
/// </summary>
|
||||
protected virtual async Task WriteManualControlParametersAsync(TestParameters parameters)
|
||||
@@ -739,6 +739,11 @@ namespace COFTester.Services
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.HorizontalManualSpeedRegister, hSpeedRegs);
|
||||
|
||||
// D360 水平手動位移
|
||||
var hDispRegs = ConvertFloatToRegisters((float)parameters.HorizontalManualDisplacement);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.HorizontalManualDisplacementRegister, hDispRegs);
|
||||
|
||||
// D310 升降手動速度
|
||||
var vSpeedRegs = ConvertFloatToRegisters((float)parameters.VerticalManualSpeed);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
@@ -771,6 +776,7 @@ namespace COFTester.Services
|
||||
|
||||
System.Diagnostics.Debug.WriteLine($"[ModbusTCP] 手動控制參數寫入完成:");
|
||||
System.Diagnostics.Debug.WriteLine($" 水平手動速度: {parameters.HorizontalManualSpeed}mm/s → D{_config.HorizontalManualSpeedRegister}");
|
||||
System.Diagnostics.Debug.WriteLine($" 水平手動位移: {parameters.HorizontalManualDisplacement}mm → D{_config.HorizontalManualDisplacementRegister}");
|
||||
System.Diagnostics.Debug.WriteLine($" 升降手動速度: {parameters.VerticalManualSpeed}mm/s → D{_config.VerticalManualSpeedRegister}");
|
||||
System.Diagnostics.Debug.WriteLine($" 升降手動位移: {parameters.VerticalManualDisplacement}mm → D{_config.VerticalManualDisplacementRegister}");
|
||||
System.Diagnostics.Debug.WriteLine($" 升降極限: {parameters.VerticalLimit}mm → D{_config.VerticalLimitRegister}");
|
||||
@@ -1091,30 +1097,42 @@ namespace COFTester.Services
|
||||
|
||||
try
|
||||
{
|
||||
// D350 水平手動速度
|
||||
var hSpeedRegs = ConvertFloatToRegisters((float)parameters.HorizontalManualSpeed);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.HorizontalManualSpeedRegister, hSpeedRegs);
|
||||
|
||||
// D360 水平手動位移
|
||||
var hDispRegs = ConvertFloatToRegisters((float)parameters.HorizontalManualDisplacement);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.HorizontalManualDisplacementRegister, hDispRegs);
|
||||
|
||||
// D310 升降手動速度
|
||||
var vSpeedRegs = ConvertFloatToRegisters((float)parameters.VerticalManualSpeed);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.VerticalManualSpeedRegister, vSpeedRegs);
|
||||
|
||||
// D320 升降手動位移
|
||||
var vDispRegs = ConvertFloatToRegisters((float)parameters.VerticalManualDisplacement);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.VerticalManualDisplacementRegister, vDispRegs);
|
||||
|
||||
// D290 升降極限
|
||||
var vLimitRegs = ConvertFloatToRegisters((float)parameters.VerticalLimit);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.VerticalLimitRegister, vLimitRegs);
|
||||
|
||||
// D292 水平極限
|
||||
var hLimitRegs = ConvertFloatToRegisters((float)parameters.HorizontalLimit);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.HorizontalLimitRegister, hLimitRegs);
|
||||
|
||||
// D1320 拉力系數
|
||||
var forceCoefRegs = ConvertFloatToRegisters((float)parameters.ForceCoefficient);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.ForceCoefficientRegister, forceCoefRegs);
|
||||
|
||||
// D1322 拉力保護
|
||||
var forceProtRegs = ConvertFloatToRegisters((float)parameters.ForceProtection);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.ForceProtectionRegister, forceProtRegs);
|
||||
@@ -1410,30 +1428,42 @@ namespace COFTester.Services
|
||||
|
||||
try
|
||||
{
|
||||
// D350 水平手動速度
|
||||
var hSpeedRegs = ConvertFloatToRegisters((float)parameters.HorizontalManualSpeed);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.HorizontalManualSpeedRegister, hSpeedRegs);
|
||||
|
||||
// D360 水平手動位移
|
||||
var hDispRegs = ConvertFloatToRegisters((float)parameters.HorizontalManualDisplacement);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.HorizontalManualDisplacementRegister, hDispRegs);
|
||||
|
||||
// D310 升降手動速度
|
||||
var vSpeedRegs = ConvertFloatToRegisters((float)parameters.VerticalManualSpeed);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.VerticalManualSpeedRegister, vSpeedRegs);
|
||||
|
||||
// D320 升降手動位移
|
||||
var vDispRegs = ConvertFloatToRegisters((float)parameters.VerticalManualDisplacement);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.VerticalManualDisplacementRegister, vDispRegs);
|
||||
|
||||
// D290 升降極限
|
||||
var vLimitRegs = ConvertFloatToRegisters((float)parameters.VerticalLimit);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.VerticalLimitRegister, vLimitRegs);
|
||||
|
||||
// D292 水平極限
|
||||
var hLimitRegs = ConvertFloatToRegisters((float)parameters.HorizontalLimit);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.HorizontalLimitRegister, hLimitRegs);
|
||||
|
||||
// D1320 拉力系數
|
||||
var forceCoefRegs = ConvertFloatToRegisters((float)parameters.ForceCoefficient);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.ForceCoefficientRegister, forceCoefRegs);
|
||||
|
||||
// D1322 拉力保護
|
||||
var forceProtRegs = ConvertFloatToRegisters((float)parameters.ForceProtection);
|
||||
await _modbusMaster.WriteMultipleRegistersAsync(
|
||||
_config.SlaveId, _config.ForceProtectionRegister, forceProtRegs);
|
||||
|
||||
Reference in New Issue
Block a user