This commit is contained in:
xyy
2026-04-10 09:22:10 +08:00
parent e576af2b69
commit 08182f26cc
4 changed files with 31 additions and 5 deletions

View File

@@ -26,6 +26,12 @@ namespace MembranePoreTester.Communication
// ========== 控制线圈 ==========
public ushort PressureModeRegister { get; set; } // 高压/低压模式寄存器
public ushort PressureModeRegister2 { get; set; } // 高压/低压模式寄存器
public ushort PressureModeRegister3 { get; set; } // 高压/低压模式寄存器
public ushort PressCoil { get; set; } // 加压线圈M100
public ushort PressCoil2 { get; set; } // 加压线圈M100
public ushort PressCoil3 { get; set; } // 加压线圈M100
@@ -93,6 +99,9 @@ namespace MembranePoreTester.Communication
public ushort FlowModeRegister { get; set; } = 4; // 工位1 流量模式
public ushort FlowModeRegister2 { get; set; } = 42; // 工位2 流量模式
public ushort FlowModeRegister3 { get; set; } = 46; // 工位3 流量模式

View File

@@ -333,7 +333,7 @@ namespace MembranePoreTester.ViewModels
{
try
{
ushort[] values = await _plcService.ReadHoldingRegistersAsync(_plcConfig.PressureModeRegister, 1);
ushort[] values = await _plcService.ReadHoldingRegistersAsync(StationId == 1 ? _plcConfig.PressureModeRegister : StationId == 2 ? _plcConfig.PressureModeRegister2 : _plcConfig.PressureModeRegister3, 1);
ushort val = values[0];
string newValue = val == 0 ? "高压" : "低压";
@@ -477,8 +477,18 @@ namespace MembranePoreTester.ViewModels
ushort val = mode.ToString().Contains("高压") ? (ushort)0 : (ushort)1;
try
{
await _plcService.WriteSingleRegisterAsync(_plcConfig.PressureModeRegister, val);
if (StationId == 1)
{
await _plcService.WriteSingleRegisterAsync(_plcConfig.PressureModeRegister, val);
}
else if (StationId == 2)
{
await _plcService.WriteSingleRegisterAsync(_plcConfig.PressureModeRegister2, val);
}
else if (StationId == 3)
{
await _plcService.WriteSingleRegisterAsync(_plcConfig.PressureModeRegister3, val);
}
}
catch (Exception ex)
{

View File

@@ -363,7 +363,7 @@ namespace MembranePoreTester.ViewModels
{
try
{
ushort[] values = await _plcService.ReadHoldingRegistersAsync(_plcConfig.FlowModeRegister, 1);
ushort[] values = await _plcService.ReadHoldingRegistersAsync(StationId == 1 ? _plcConfig.FlowModeRegister : StationId == 2 ? _plcConfig.FlowModeRegister2 : _plcConfig.FlowModeRegister3, 1);
ushort val = values[0];
string newValue = val == 0 ? "大流量" : "小流量";
@@ -897,7 +897,12 @@ namespace MembranePoreTester.ViewModels
ushort val = mode.ToString().Contains("大流量") ? (ushort)0 : (ushort)1;
try
{
await _plcService.WriteSingleRegisterAsync(_plcConfig.FlowModeRegister, val);
if (StationId == 1)
await _plcService.WriteSingleRegisterAsync(_plcConfig.FlowModeRegister, val);
else if (StationId == 2)
await _plcService.WriteSingleRegisterAsync(_plcConfig.FlowModeRegister2, val);
else if (StationId == 3)
await _plcService.WriteSingleRegisterAsync(_plcConfig.FlowModeRegister3, val);
}
catch (Exception ex)
{

View File

@@ -12,6 +12,8 @@
// 压力模式选择(高压/低压)写入寄存器
"PressureModeRegister": 2, // 压力模式寄存器0=低压1=高压)
"PressureModeRegister2": 40, // 压力模式寄存器0=低压1=高压)
"PressureModeRegister3": 44, // 压力模式寄存器0=低压1=高压)
// 线圈控制M 元件)
"PressCoil": 140, // 加压线圈M100ON 开始加压OFF 停止