@@ -1,5 +1,6 @@
|
||||
using PamhagenSysCtrl.Helpers;
|
||||
using PamhagenSysCtrl.Helpers.Pipeline;
|
||||
using PamhagenSysCtrl.Helpers.Plc;
|
||||
using System.Diagnostics;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
@@ -385,7 +386,7 @@ namespace PamhagenSysCtrl.Windows {
|
||||
App.Plant?.StartRebler();
|
||||
}
|
||||
} else if (c is Switcher switcher) {
|
||||
if (App.Plant?.WantMW1Selected ?? false) {
|
||||
if (App.Plant?.State.MW1_WantSelected ?? false) {
|
||||
App.Plant?.SelectMW2();
|
||||
} else {
|
||||
App.Plant?.SelectMW1();
|
||||
@@ -425,33 +426,33 @@ namespace PamhagenSysCtrl.Windows {
|
||||
}
|
||||
} else if (pump == Graph.P12) {
|
||||
if (pump.IsActive) {
|
||||
App.Plant?.StopP12();
|
||||
App.Plant?.DisableP12();
|
||||
} else {
|
||||
App.Plant?.StartP12();
|
||||
App.Plant?.EnableP12();
|
||||
}
|
||||
} else if (pump == Graph.P3) {
|
||||
if (pump.IsActive) {
|
||||
App.Plant?.StopP3();
|
||||
App.Plant?.DisableP3();
|
||||
} else {
|
||||
App.Plant?.StartP3();
|
||||
App.Plant?.EnableP3();
|
||||
}
|
||||
} else if (pump == Graph.P4) {
|
||||
if (pump.IsActive) {
|
||||
App.Plant?.StopP4();
|
||||
App.Plant?.DisableP4();
|
||||
} else {
|
||||
App.Plant?.StartP4();
|
||||
App.Plant?.EnableP4();
|
||||
}
|
||||
} else if (pump == Graph.P5) {
|
||||
if (pump.IsActive) {
|
||||
App.Plant?.StopP5();
|
||||
App.Plant?.DisableP5();
|
||||
} else {
|
||||
App.Plant?.StartP5();
|
||||
App.Plant?.EnableP5();
|
||||
}
|
||||
} else if (pump == Graph.P6) {
|
||||
if (pump.IsActive) {
|
||||
App.Plant?.StopP6();
|
||||
App.Plant?.DisableP6();
|
||||
} else {
|
||||
App.Plant?.StartP6();
|
||||
App.Plant?.EnableP6();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -497,14 +498,14 @@ namespace PamhagenSysCtrl.Windows {
|
||||
}
|
||||
}
|
||||
|
||||
SetFastSelectButton(FastSelectButton_EntryTrough_Start, App.Plant?.IsTroughAugerActive ?? false ? 1 : 0, !(App.Plant?.TroughAugerHasClearance ?? false));
|
||||
SetFastSelectButton(FastSelectButton_EntryTrough_Stop, App.Plant?.IsTroughAugerActive ?? false ? 0 : 2);
|
||||
SetFastSelectButton(FastSelectButton_MW1, App.Plant?.IsMW1Selected ?? false ? 1 : 0);
|
||||
SetFastSelectButton(FastSelectButton_MW2, App.Plant?.IsMW2Selected ?? false ? 1 : 0);
|
||||
SetFastSelectButton(FastSelectButton_MP1_Forward, App.Plant?.MP1 == MotorState.Forward ? 1 : 0, !(App.Plant?.MP1HasClearance ?? false));
|
||||
SetFastSelectButton(FastSelectButton_MP1_Stop, App.Plant?.MP1 == MotorState.Halt ? 2 : 0);
|
||||
SetFastSelectButton(FastSelectButton_MP2_Forward, App.Plant?.MP2 == MotorState.Forward ? 1 : 0, !(App.Plant?.MP2HasClearance ?? false));
|
||||
SetFastSelectButton(FastSelectButton_MP2_Stop, App.Plant?.MP2 == MotorState.Halt ? 2 : 0);
|
||||
SetFastSelectButton(FastSelectButton_EntryTrough_Start, App.Plant?.State.TroughAuger_IsActive ?? false ? 1 : 0, !(App.Plant?.State.TroughAuger_HasClearance ?? false));
|
||||
SetFastSelectButton(FastSelectButton_EntryTrough_Stop, App.Plant?.State.TroughAuger_IsActive ?? false ? 0 : 2);
|
||||
SetFastSelectButton(FastSelectButton_MW1, App.Plant?.State.MW1_IsSelected?? false ? 1 : 0);
|
||||
SetFastSelectButton(FastSelectButton_MW2, App.Plant?.State.MW2_IsSelected ?? false ? 1 : 0);
|
||||
SetFastSelectButton(FastSelectButton_MP1_Forward, App.Plant?.State.MP1_State == MotorState.Forward ? 1 : 0, !(App.Plant?.State.MP1_HasClearance ?? false));
|
||||
SetFastSelectButton(FastSelectButton_MP1_Stop, App.Plant?.State.MP1_State == MotorState.Halt ? 2 : 0);
|
||||
SetFastSelectButton(FastSelectButton_MP2_Forward, App.Plant?.State.MP2_State == MotorState.Forward ? 1 : 0, !(App.Plant?.State.MP2_HasClearance ?? false));
|
||||
SetFastSelectButton(FastSelectButton_MP2_Stop, App.Plant?.State.MP2_State == MotorState.Halt ? 2 : 0);
|
||||
|
||||
_hover = Graph.GetHover(pos.X, pos.Y, RoundedScale);
|
||||
var hoverButtons = FastSelectPaths.Where(b => b.Key.IsMouseOver).ToDictionary();
|
||||
@@ -585,8 +586,8 @@ namespace PamhagenSysCtrl.Windows {
|
||||
if (App.Plant is PamhagenPlant p) {
|
||||
Status_Connection.Text = $"Ja ({p.PlcPortName}" + (p.LastRttNs != null ? $", {p.LastRttNs / 1000000.0:N0} ms" : "") + ")";
|
||||
Status_Plc.Text = $"{p.LastPlcStatus?.Mode} ({p.LastPlcStatus?.Flags:X3}) / {p.LastPlcError?.GetName()} ({(int?)p.LastPlcError:0000})";
|
||||
Status_CompressedAir.Text = Enumerable.Range(1, 57).Any(p.IsValveClosed) ? "Ein" : Enumerable.Range(1, 57).Any(p.WantValveClosed) ? "Aus" : "?";
|
||||
Status_ValvesOpen.Text = Enumerable.Range(1, 57).Count(p.IsValveOpen) + " / " + Enumerable.Range(1, 57).Count(p.WantValveOpen) + " / 57";
|
||||
Status_CompressedAir.Text = Enumerable.Range(1, 57).Any(p.State.Valve_IsClosed) ? "Ein" : Enumerable.Range(1, 57).Any(p.State.Valve_WantClosed) ? "Aus" : "?";
|
||||
Status_ValvesOpen.Text = Enumerable.Range(1, 57).Count(p.State.Valve_IsOpen) + " / " + Enumerable.Range(1, 57).Count(p.State.Valve_WantOpen) + " / 57";
|
||||
}
|
||||
UpdateScheme(Mouse.GetPosition(SchemeCanvas), Mouse.LeftButton == MouseButtonState.Pressed);
|
||||
}
|
||||
@@ -611,7 +612,7 @@ namespace PamhagenSysCtrl.Windows {
|
||||
foreach (var src in sources) {
|
||||
var paths = new List<Path>();
|
||||
foreach (var sink in sinks) {
|
||||
paths.AddRange(Graph.GetPaths(src, sink, null, (n) => n is not ISink && (n is not ControlledValve v || p.WantValveOpen(v.Nr))));
|
||||
paths.AddRange(Graph.GetPaths(src, sink, null, (n) => n is not ISink && (n is not ControlledValve v || p.State.Valve_WantOpen(v.Nr))));
|
||||
}
|
||||
if (paths.Count == 1)
|
||||
yield return paths.First();
|
||||
|
||||
Reference in New Issue
Block a user