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