diff --git a/PamhagenSysCtrl/Helpers/PamhagenGraph.cs b/PamhagenSysCtrl/Helpers/PamhagenGraph.cs
index f1d4d0e..782af41 100644
--- a/PamhagenSysCtrl/Helpers/PamhagenGraph.cs
+++ b/PamhagenSysCtrl/Helpers/PamhagenGraph.cs
@@ -17,7 +17,7 @@ namespace PamhagenSysCtrl.Helpers {
public readonly Pump P5;
public readonly Pump P6;
public readonly EncasedAuger Auger1;
- public readonly EncasedAuger Auger2;
+ public readonly EncasedAuger Auger3;
public PamhagenGraph() {
double mw2X = 180;
@@ -51,13 +51,13 @@ namespace PamhagenSysCtrl.Helpers {
Nodes.Add(trough);
Auger1 = new EncasedAuger("", (mw1X + mw2X) / 2 - 100, 200, () => App.Plant?.IsAuger1Active ?? false);
- var auger3 = new EncasedAuger("Pressen-\nQuerschnecke", 40, 200, () => App.Plant?.IsPresseQuerSchneckeActive ?? false, 180, clickable: false);
- Auger2 = new EncasedAuger("", 120, 80, () => App.Plant?.IsAuger2Active ?? false, 135);
- var belt = new ConveyorBelt("", 90, 160, () => App.Plant?.IsBeltActive ?? false);
+ var auger0 = new EncasedAuger("Pressen-\nQuerschnecke", 40, 200, () => App.Plant?.IsPresseQuerSchneckeActive ?? false, 180, clickable: false);
+ Auger3 = new EncasedAuger("", 120, 80, () => App.Plant?.IsAuger3Active ?? false, 135);
+ var belt = new ConveyorBelt("", 90, 160, () => App.Plant?.IsAuger2Active ?? false);
Nodes.Add(belt);
Nodes.Add(Auger1);
- Nodes.Add(auger3);
- Nodes.Add(Auger2);
+ Nodes.Add(auger0);
+ Nodes.Add(Auger3);
var rebler = new Rebler("Rebler", (mw1X + mw2X) / 2, 200, () => App.Plant?.IsReblerActive ?? false);
Nodes.Add(rebler);
var switcher = new Switcher("", (mw1X + mw2X) / 2, 260, () => App.Plant?.TroughSelector ?? 0, () => App.Plant == null ? 0 : App.Plant.WantMW1Selected ? 1 : 2);
diff --git a/PamhagenSysCtrl/Helpers/PamhagenPlant.cs b/PamhagenSysCtrl/Helpers/PamhagenPlant.cs
index a64b854..49d10be 100644
--- a/PamhagenSysCtrl/Helpers/PamhagenPlant.cs
+++ b/PamhagenSysCtrl/Helpers/PamhagenPlant.cs
@@ -53,10 +53,10 @@ namespace PamhagenSysCtrl.Helpers {
public bool IsReblerActive => Actuators.Rebler;
public bool IsStirrerMW1Active => Actuators.StirrerMW1;
public bool IsStirrerMW2Active => Actuators.StirrerMW2;
- public bool IsBeltActive => Actuators.Belt;
public bool IsAuger1Active => Actuators.Auger1;
public bool IsAuger2Active => Actuators.Auger2;
- public bool IsWasteDisposalActive => IsBeltActive || IsAuger1Active || IsAuger2Active;
+ public bool IsAuger3Active => Actuators.Auger3;
+ public bool IsWasteDisposalActive => IsAuger1Active || IsAuger2Active || IsAuger3Active;
public bool IsGradationPumpActive => Actuators.GradationPump;
public bool IsMP1Active => Actuators.MP1 == MotorState.Forward || Actuators.MP1 == MotorState.Backward;
@@ -78,10 +78,10 @@ namespace PamhagenSysCtrl.Helpers {
protected static void OnUpdate(object? sender, PlantEventArgs evt) {
if (sender is not PamhagenPlant p) return;
- if (p.IsPresseQuerSchneckeActive && !p.IsBeltActive) p.StartBelt();
+ if (p.IsPresseQuerSchneckeActive && !p.IsAuger2Active) p.StartAuger2();
if (p.IsReblerActive && !p.IsAuger1Active) p.StartAuger1();
- if (p.IsAuger1Active && !p.IsBeltActive) p.StartBelt();
- if (p.IsBeltActive && !p.IsAuger2Active) p.StartAuger2();
+ if (p.IsAuger1Active && !p.IsAuger2Active) p.StartAuger2();
+ if (p.IsAuger2Active && !p.IsAuger3Active) p.StartAuger3();
if (p.IsTroughAugerActive && (!p.IsReblerActive || (p.IsMWSelected && p.FillLevelMW1 == FillState.Full) || (p.IsMW2Selected && p.FillLevelMW2 == FillState.Full)))
p.StopTroughAuger();
if (p.IsMP1Active && !p.MP1HasClearance) p.StopMP1();
@@ -427,22 +427,9 @@ namespace PamhagenSysCtrl.Helpers {
ActuatorsChanged = true;
}
- public void StartBelt() {
- Actuators.Belt = true;
- StartAuger2();
- ActuatorsChanged = true;
- }
-
- public void StopBelt() {
- if (IsPresseQuerSchneckeActive) throw new NoClearanceException("Presse-Querschnecke aktiv");
- if (IsAuger1Active) throw new NoClearanceException("Förderschnecke 1 aktiv");
- Actuators.Belt = false;
- ActuatorsChanged = true;
- }
-
public void StartAuger1() {
Actuators.Auger1 = true;
- StartBelt();
+ StartAuger2();
ActuatorsChanged = true;
}
@@ -454,15 +441,28 @@ namespace PamhagenSysCtrl.Helpers {
public void StartAuger2() {
Actuators.Auger2 = true;
+ StartAuger3();
ActuatorsChanged = true;
}
public void StopAuger2() {
- if (IsBeltActive) throw new NoClearanceException("Förderband aktiv");
+ if (IsPresseQuerSchneckeActive) throw new NoClearanceException("Presse-Querschnecke aktiv");
+ if (IsAuger1Active) throw new NoClearanceException("Förderschnecke 1 aktiv");
Actuators.Auger2 = false;
ActuatorsChanged = true;
}
+ public void StartAuger3() {
+ Actuators.Auger3 = true;
+ ActuatorsChanged = true;
+ }
+
+ public void StopAuger3() {
+ if (IsAuger2Active) throw new NoClearanceException("Förderschnecke 2 aktiv");
+ Actuators.Auger3 = false;
+ ActuatorsChanged = true;
+ }
+
public void StartGradationPump() {
Actuators.GradationPump = true;
ActuatorsChanged = true;
diff --git a/PamhagenSysCtrl/Helpers/PamhagenPlc.cs b/PamhagenSysCtrl/Helpers/PamhagenPlc.cs
index 25d6904..2f06fc5 100644
--- a/PamhagenSysCtrl/Helpers/PamhagenPlc.cs
+++ b/PamhagenSysCtrl/Helpers/PamhagenPlc.cs
@@ -17,7 +17,7 @@ namespace PamhagenSysCtrl.Helpers {
public record struct ActuatorStates(
long Valves,
MotorState MP1, MotorState MP2, MotorState P12, MotorState P3, MotorState P4, MotorState P5, MotorState P6,
- bool TroughAuger, bool Rebler, bool StirrerMW1, bool StirrerMW2, bool Belt, bool Auger1, bool Auger2, bool GradationPump
+ bool TroughAuger, bool Rebler, bool StirrerMW1, bool StirrerMW2, bool Auger2, bool Auger3, bool Auger1, bool GradationPump
) {
public readonly bool GetV(int n) => (Valves & (1L << (n - 1))) != 0;
public void SetV(int n, bool val) {
@@ -212,9 +212,9 @@ namespace PamhagenSysCtrl.Helpers {
(state.GetV(58) ? 0x04 : 0x00) |
(state.StirrerMW1 ? 0x08 : 0x00) |
(state.StirrerMW2 ? 0x10 : 0x00) |
- (state.Belt ? 0x20 : 0x00) |
- (state.Auger1 ? 0x40 : 0x00) |
- (state.Auger2 ? 0x80 : 0x00);
+ (state.Auger2 ? 0x20 : 0x00) |
+ (state.Auger3 ? 0x40 : 0x00) |
+ (state.Auger1 ? 0x80 : 0x00);
int measuring =
(state.GetV(59) ? 0x01 : 0x00) |
diff --git a/PamhagenSysCtrl/Windows/ManualControlWindow.xaml b/PamhagenSysCtrl/Windows/ManualControlWindow.xaml
index b1b9186..00e8c22 100644
--- a/PamhagenSysCtrl/Windows/ManualControlWindow.xaml
+++ b/PamhagenSysCtrl/Windows/ManualControlWindow.xaml
@@ -39,14 +39,14 @@
FontSize="14" BorderThickness="2" FontWeight="Bold"
Margin="135,10,10,10" VerticalAlignment="Top" HorizontalAlignment="Left"
Click="Auger1Button_Click"/>
-
+