Some fixes

This commit is contained in:
2026-07-09 09:27:28 +02:00
parent fdb7976dda
commit 68cbcef053
3 changed files with 25 additions and 24 deletions
+4 -4
View File
@@ -41,8 +41,8 @@ namespace PamhagenSysCtrl.Helpers {
public double GradationOe => Sensors.GradationOe;
public MotorState PresseQuerSchnecke => Sensors.PresseQuerSchnecke;
public bool WantA1Selected => Actuators.TroughSelector;
public bool WantA2Selected => !Actuators.TroughSelector;
public bool WantA1Selected => Actuators.GetV(58);
public bool WantA2Selected => !Actuators.GetV(58);
public bool IsTroughAugerActive => Actuators.TroughAuger;
public bool IsReblerActive => Actuators.Rebler;
@@ -159,12 +159,12 @@ namespace PamhagenSysCtrl.Helpers {
}
public void SelectA1() {
Actuators.TroughSelector = true;
Actuators.SetV(58, true);
//if (IsReblerActive) Actuators.StirrerA1 = true;
}
public void SelectA2() {
Actuators.TroughSelector = false;
Actuators.SetV(58, false);
//if (IsReblerActive) Actuators.StirrerA2 = true;
}
+18 -17
View File
@@ -11,13 +11,13 @@ namespace PamhagenSysCtrl.Helpers {
FillState[] FillingLevelTanks,
MotorState PresseQuerSchnecke
) {
public readonly bool GetDS(int n) => (PressureSensors & (1 << (n - 1))) != 0;
public readonly bool GetDS(int n) => (PressureSensors & (1L << (n - 1))) != 0;
}
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 TroughSelector, bool StirrerA1, bool StirrerA2, bool Belt, bool Auger1, bool Auger2, bool GradationPump
bool TroughAuger, bool Rebler, bool StirrerA1, bool StirrerA2, bool Belt, bool Auger1, bool Auger2, bool GradationPump
) {
public readonly bool GetV(int n) => (Valves & (1L << (n - 1))) != 0;
public void SetV(int n, bool val) {
@@ -98,6 +98,7 @@ namespace PamhagenSysCtrl.Helpers {
var (r1, r2, r3, r4, f1, v, f2) = await ReadInputRegisters();
long pressure = (long)r1 | ((long)r2 << 16) | ((long)r3 << 32) | ((long)r4 << 48);
pressure = (pressure & 0x01FFFFFFFFFFFFFF) | ((pressure & 0x0600000000000000) << 1);
var a1 = Int3ToFillState((f1 ) & 0x7); // 111 011 001 000
var a2 = Int3ToFillState((f1 >> 3) & 0x7); // 111 011 001 000
@@ -164,17 +165,17 @@ namespace PamhagenSysCtrl.Helpers {
var m1 = (s1 & 0x01) != 0;
var m2 = (s1 & 0x02) != 0;
var m3 = (s1 & 0x04) != 0;
var m4 = (s1 & 0x08) != 0;
var m5 = (s1 & 0x10) != 0;
var m6 = (s1 & 0x20) != 0;
var m7 = (s1 & 0x40) != 0;
var m8 = (s1 & 0x80) != 0;
var m3 = (s1 & 0x08) != 0;
var m4 = (s1 & 0x10) != 0;
var m5 = (s1 & 0x20) != 0;
var m6 = (s1 & 0x40) != 0;
var m7 = (s1 & 0x80) != 0;
var m9 = (s2 & 0x4) != 0;
var state = new ActuatorStates(valves, mp1, mp2, p12, p3, p4, p5, p6, m1, m2, m3, m4, m5, m6, m7, m8, m9);
state.SetV(59, (s2 & 0x1) != 0);
state.SetV(60, (s2 & 0x2) != 0);
var m8 = (s2 & 0x04) != 0;
var state = new ActuatorStates(valves, mp1, mp2, p12, p3, p4, p5, p6, m1, m2, m3, m4, m5, m6, m7, m8);
state.SetV(58, (s1 & 0x04) != 0);
state.SetV(59, (s2 & 0x01) != 0);
state.SetV(60, (s2 & 0x02) != 0);
return state;
}
@@ -183,7 +184,7 @@ namespace PamhagenSysCtrl.Helpers {
var v1 = (ushort)((state.Valves ) & 0xFFFF);
var v2 = (ushort)((state.Valves >> 16) & 0xFFFF);
var v3 = (ushort)((state.Valves >> 32) & 0xFFFF);
var v4 = (ushort)((state.Valves >> 48) & 0xFFFF);
var v4 = (ushort)((state.Valves >> 48) & 0x01FF);
int pumps =
(state.MP1 == MotorState.Backward ? 0x001 : 0x000) |
@@ -199,7 +200,7 @@ namespace PamhagenSysCtrl.Helpers {
int devices =
(state.TroughAuger ? 0x01 : 0x00) |
(state.Rebler ? 0x02 : 0x00) |
(state.TroughSelector ? 0x04 : 0x00) |
(state.GetV(58) ? 0x04 : 0x00) |
(state.StirrerA1 ? 0x08 : 0x00) |
(state.StirrerA2 ? 0x10 : 0x00) |
(state.Belt ? 0x20 : 0x00) |
@@ -207,9 +208,9 @@ namespace PamhagenSysCtrl.Helpers {
(state.Auger2 ? 0x80 : 0x00);
int measuring =
(state.GetV(59) ? 0x1 : 0x0) |
(state.GetV(60) ? 0x2 : 0x0) |
(state.GradationPump ? 0x4 : 0x0);
(state.GetV(59) ? 0x01 : 0x00) |
(state.GetV(60) ? 0x02 : 0x00) |
(state.GradationPump ? 0x04 : 0x00);
await WriteOutputRegisters(v1, v2, v3, v4, (ushort)pumps, (ushort)devices, (ushort)measuring);
}
+3 -3
View File
@@ -5,7 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:PamhagenSysCtrl"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
Title="MainWindow" Height="520" Width="800">
<Grid>
<TextBox x:Name="PortInput" Text="COM1"
Margin="10,10,10,10" VerticalAlignment="Top" HorizontalAlignment="Left" Height="25" Width="80" FontSize="14" Padding="2,2,2,2"/>
@@ -16,7 +16,7 @@
<Grid x:Name="ButtonPanel" Margin="5,50,5,5">
</Grid>
<TextBlock x:Name="Status"
Margin="500,50,10,10" VerticalAlignment="Top" HorizontalAlignment="Left"/>
<TextBlock x:Name="Status" FontSize="14"
Margin="350,50,10,10" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Grid>
</Window>