[WIP] Status bar

This commit is contained in:
2026-08-19 10:04:36 +02:00
parent d303f0767a
commit 3c307da0ca
5 changed files with 68 additions and 6 deletions
+8
View File
@@ -21,6 +21,11 @@ namespace PamhagenSysCtrl.Helpers {
FillState.Unknown, FillState.Unknown, FillState.Unknown, FillState.Unknown, FillState.Unknown, FillState.Unknown, FillState.Unknown, FillState.Unknown, FillState.Unknown
], default);
public string? PlcPortName => Plc?.PortName;
public T1.Status? LastPlcStatus => Plc?.LastPlcStatus;
public T1Error? LastPlcError => Plc?.LastPlcError;
public long? LastRttNs { get; private set; }
public bool IsValveOpen(int n) => !IsValveClosed(n);
public bool IsValveClosed(int n) => Sensors.GetDS(n);
public bool WantValveClosed(int n) => !WantValveOpen(n);
@@ -133,14 +138,17 @@ namespace PamhagenSysCtrl.Helpers {
protected async void BackgroundLoop(object? parameters) {
while (IsRunning && Plc != null) {
var start = DateTime.Now;
try {
if (ActuatorsChanged) {
await Plc.WriteOutputs(Actuators);
ActuatorsChanged = false;
}
Sensors = await Plc.ReadInputs();
LastRttNs = (long)(DateTime.Now - start).TotalNanoseconds;
RaiseUpdateEvent(new());
} catch (Exception exc) {
LastRttNs = null;
var str = "Bei der SPS ist ein Fehler aufgetreten:\n\n" + exc.Message;
if (exc.InnerException != null) str += "\n\n" + exc.InnerException.Message;
MessageBox.Show(str, "SPS-Fehler", MessageBoxButton.OK, MessageBoxImage.Error);