424 lines
12 KiB
C#
424 lines
12 KiB
C#
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using HMIToolkit;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using Heisig.HMI.AdsManager;
|
|
using CommunityToolkit.Mvvm.Input;
|
|
using TwinCAT.TypeSystem;
|
|
using System.Collections.ObjectModel;
|
|
|
|
using InfineonHMI.Model;
|
|
using System.Windows;
|
|
using Common;
|
|
|
|
namespace InfineonHMI;
|
|
|
|
public sealed partial class HotCoolPlatePageVM : ObservableValidator, IDisposable
|
|
{
|
|
|
|
private const string sPieceOnHotplate1 = ".stHotplate.stPiece1";
|
|
private const string sPieceOnHotplate2 = ".stHotplate.stPiece2";
|
|
private const string sPieceOnHotplate3 = ".stHotplate.stPiece3";
|
|
private const string sPieceOnHotplate4 = ".stHotplate.stPiece4";
|
|
private const string sPieceOnHotplate5 = ".stHotplate.stPiece5";
|
|
private const string sPieceOnHotplate6 = ".stHotplate.stPiece6";
|
|
private const string sPieceOnHotplate7 = ".stHotplate.stPiece7";
|
|
private const string sPieceOnHotplate8 = ".stHotplate.stPiece8";
|
|
private const string sPieceOnHotplate9 = ".stHotplate.stPiece9";
|
|
|
|
private const string sPieceOnCoolplate1 = ".stCoolplate.stPiece1";
|
|
private const string sPieceOnCoolplate2 = ".stCoolplate.stPiece2";
|
|
private const string sPieceOnCoolplate3 = ".stCoolplate.stPiece3";
|
|
private const string sPieceOnCoolplate4 = ".stCoolplate.stPiece4";
|
|
private const string sPieceOnCoolplate5 = ".stCoolplate.stPiece5";
|
|
private const string sPieceOnCoolplate6 = ".stCoolplate.stPiece6";
|
|
private const string sPieceOnCoolplate7 = ".stCoolplate.stPiece7";
|
|
private const string sPieceOnCoolplate8 = ".stCoolplate.stPiece8";
|
|
private const string sPieceOnCoolplate9 = ".stCoolplate.stPiece9";
|
|
|
|
private readonly IAdsManager? _adsManager;
|
|
|
|
private readonly string? _variableName;
|
|
|
|
[ObservableProperty] private PackMLControlVM? hotplatePackMLControlVm;
|
|
[ObservableProperty] private PackMLControlVM? coolplatePackMLControlVm;
|
|
|
|
|
|
[ObservableProperty]
|
|
private AnalogValueVM hotPlateTargetTemperature;
|
|
|
|
[ObservableProperty]
|
|
private AnalogValueVM hotPlateActualTemperature;
|
|
|
|
[ObservableProperty] private HMIControlButtonVM? enableHotPlateButtonVm;
|
|
|
|
[ObservableProperty] private HMIControlButtonVM? disableHotPlateButtonVm;
|
|
|
|
[ObservableProperty]
|
|
private AnalogValueVM coolPlateTargetTemperature;
|
|
|
|
[ObservableProperty]
|
|
private AnalogValueVM coolPlateActualTemperature;
|
|
|
|
[ObservableProperty] private HMIControlButtonVM? enableCoolPlateButtonVm;
|
|
|
|
[ObservableProperty] private HMIControlButtonVM? disableCoolPlateButtonVm;
|
|
|
|
[ObservableProperty]
|
|
private Visibility hotPlateVisibility1;
|
|
|
|
[ObservableProperty]
|
|
private Visibility hotPlateVisibility2;
|
|
|
|
[ObservableProperty]
|
|
private Visibility hotPlateVisibility3;
|
|
|
|
[ObservableProperty]
|
|
private Visibility hotPlateVisibility4;
|
|
|
|
[ObservableProperty]
|
|
private Visibility hotPlateVisibility5;
|
|
|
|
[ObservableProperty]
|
|
private Visibility hotPlateVisibility6;
|
|
|
|
[ObservableProperty]
|
|
private Visibility hotPlateVisibility7;
|
|
|
|
[ObservableProperty]
|
|
private Visibility hotPlateVisibility8;
|
|
|
|
[ObservableProperty]
|
|
private Visibility hotPlateVisibility9;
|
|
|
|
[ObservableProperty]
|
|
private Visibility coolPlateVisibility1;
|
|
|
|
[ObservableProperty]
|
|
private Visibility coolPlateVisibility2;
|
|
|
|
[ObservableProperty]
|
|
private Visibility coolPlateVisibility3;
|
|
|
|
[ObservableProperty]
|
|
private Visibility coolPlateVisibility4;
|
|
|
|
[ObservableProperty]
|
|
private Visibility coolPlateVisibility5;
|
|
|
|
[ObservableProperty]
|
|
private Visibility coolPlateVisibility6;
|
|
|
|
[ObservableProperty]
|
|
private Visibility coolPlateVisibility7;
|
|
|
|
[ObservableProperty]
|
|
private Visibility coolPlateVisibility8;
|
|
|
|
[ObservableProperty]
|
|
private Visibility coolPlateVisibility9;
|
|
|
|
public HotCoolPlatePageVM()
|
|
{
|
|
EnableHotPlateButtonVm = new HMIControlButtonVM();
|
|
DisableHotPlateButtonVm = new HMIControlButtonVM();
|
|
|
|
EnableCoolPlateButtonVm = new HMIControlButtonVM();
|
|
DisableCoolPlateButtonVm = new HMIControlButtonVM();
|
|
|
|
HotPlateActualTemperature = new AnalogValueVM();
|
|
HotPlateTargetTemperature = new AnalogValueVM();
|
|
|
|
CoolPlateActualTemperature = new AnalogValueVM();
|
|
CoolPlateTargetTemperature = new AnalogValueVM();
|
|
|
|
HotplatePackMLControlVm = new();
|
|
CoolplatePackMLControlVm = new();
|
|
|
|
HotplatePackMLControlVm.STitle = "Heizplatte";
|
|
CoolplatePackMLControlVm.STitle = "Kühlplatte";
|
|
|
|
}
|
|
public HotCoolPlatePageVM(IAdsManager adsManager, string variableName)
|
|
{
|
|
_adsManager = adsManager;
|
|
_variableName = variableName;
|
|
|
|
EnableHotPlateButtonVm = new HMIControlButtonVM(_adsManager, _variableName + ".stHotplate.stEnableBtn");
|
|
DisableHotPlateButtonVm = new HMIControlButtonVM(_adsManager, _variableName + ".stHotplate.stDisableBtn");
|
|
|
|
EnableCoolPlateButtonVm = new HMIControlButtonVM(_adsManager, _variableName + ".stCoolplate.stEnableBtn");
|
|
DisableCoolPlateButtonVm = new HMIControlButtonVM(_adsManager, _variableName + ".stCoolplate.stDisableBtn");
|
|
|
|
HotPlateActualTemperature = new AnalogValueVM(_adsManager, _variableName + ".stHotplate.stPV", true);
|
|
CoolPlateActualTemperature = new AnalogValueVM(_adsManager, _variableName + ".stCoolplate.stPV", true);
|
|
|
|
HotPlateTargetTemperature = new AnalogValueVM(_adsManager, _variableName + ".stHotplate.stSetpoint", false);
|
|
CoolPlateTargetTemperature = new AnalogValueVM(_adsManager, _variableName + ".stCoolplate.stSetpoint", false);
|
|
|
|
HotplatePackMLControlVm = new(_adsManager, _variableName + "stHotplate.stStationCmds");
|
|
CoolplatePackMLControlVm = new(_adsManager, _variableName + "stCoolplate.stStationCmds");
|
|
|
|
HotplatePackMLControlVm.STitle = "Heizplatte";
|
|
CoolplatePackMLControlVm.STitle = "Kühlplatte";
|
|
|
|
_adsManager.Register(sPieceOnHotplate1, HotplatePiece1Changed);
|
|
_adsManager.Register(sPieceOnHotplate2, HotplatePiece2Changed);
|
|
_adsManager.Register(sPieceOnHotplate3, HotplatePiece3Changed);
|
|
_adsManager.Register(sPieceOnHotplate4, HotplatePiece4Changed);
|
|
_adsManager.Register(sPieceOnHotplate5, HotplatePiece5Changed);
|
|
_adsManager.Register(sPieceOnHotplate6, HotplatePiece6Changed);
|
|
_adsManager.Register(sPieceOnHotplate7, HotplatePiece7Changed);
|
|
_adsManager.Register(sPieceOnHotplate8, HotplatePiece8Changed);
|
|
_adsManager.Register(sPieceOnHotplate9, HotplatePiece9Changed);
|
|
|
|
_adsManager.Register(sPieceOnCoolplate1, CoolplatePiece1Changed);
|
|
_adsManager.Register(sPieceOnCoolplate2, CoolplatePiece2Changed);
|
|
_adsManager.Register(sPieceOnCoolplate3, CoolplatePiece3Changed);
|
|
_adsManager.Register(sPieceOnCoolplate4, CoolplatePiece4Changed);
|
|
_adsManager.Register(sPieceOnCoolplate5, CoolplatePiece5Changed);
|
|
_adsManager.Register(sPieceOnCoolplate6, CoolplatePiece6Changed);
|
|
_adsManager.Register(sPieceOnCoolplate7, CoolplatePiece7Changed);
|
|
_adsManager.Register(sPieceOnCoolplate8, CoolplatePiece8Changed);
|
|
_adsManager.Register(sPieceOnCoolplate9, CoolplatePiece9Changed);
|
|
|
|
|
|
}
|
|
|
|
private void HotplatePiece1Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
HotPlateVisibility1 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
HotPlateVisibility1 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void HotplatePiece2Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
HotPlateVisibility2 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
HotPlateVisibility2 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void HotplatePiece3Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
HotPlateVisibility3 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
HotPlateVisibility3 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void HotplatePiece4Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
HotPlateVisibility4 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
HotPlateVisibility4 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void HotplatePiece5Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
HotPlateVisibility5 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
HotPlateVisibility5 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void HotplatePiece6Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
HotPlateVisibility6 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
HotPlateVisibility6 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void HotplatePiece7Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
HotPlateVisibility7 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
HotPlateVisibility7 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void HotplatePiece8Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
HotPlateVisibility8 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
HotPlateVisibility8 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void HotplatePiece9Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
HotPlateVisibility9 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
HotPlateVisibility9 = Visibility.Hidden;
|
|
}
|
|
}
|
|
|
|
private void CoolplatePiece1Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
CoolPlateVisibility1 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
CoolPlateVisibility1 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void CoolplatePiece2Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
CoolPlateVisibility2 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
CoolPlateVisibility2 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void CoolplatePiece3Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
CoolPlateVisibility3 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
CoolPlateVisibility3 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void CoolplatePiece4Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
CoolPlateVisibility4 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
CoolPlateVisibility4 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void CoolplatePiece5Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
CoolPlateVisibility5 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
CoolPlateVisibility5 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void CoolplatePiece6Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
CoolPlateVisibility6 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
CoolPlateVisibility6 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void CoolplatePiece7Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
CoolPlateVisibility7 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
CoolPlateVisibility7 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void CoolplatePiece8Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
CoolPlateVisibility8 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
CoolPlateVisibility8 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void CoolplatePiece9Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
CoolPlateVisibility9 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
CoolPlateVisibility9 = Visibility.Hidden;
|
|
}
|
|
}
|
|
|
|
|
|
public void Dispose()
|
|
{
|
|
HotPlateActualTemperature.Dispose();
|
|
HotPlateTargetTemperature.Dispose();
|
|
CoolPlateActualTemperature.Dispose();
|
|
CoolPlateTargetTemperature.Dispose();
|
|
|
|
EnableCoolPlateButtonVm?.Dispose();
|
|
EnableCoolPlateButtonVm = null;
|
|
EnableHotPlateButtonVm?.Dispose();
|
|
EnableHotPlateButtonVm = null;
|
|
DisableCoolPlateButtonVm?.Dispose();
|
|
DisableCoolPlateButtonVm = null;
|
|
DisableHotPlateButtonVm?.Dispose();
|
|
DisableHotPlateButtonVm = null;
|
|
_adsManager?.Deregister(sPieceOnHotplate1, HotplatePiece1Changed);
|
|
_adsManager?.Deregister(sPieceOnHotplate2, HotplatePiece2Changed);
|
|
_adsManager?.Deregister(sPieceOnHotplate3, HotplatePiece3Changed);
|
|
_adsManager?.Deregister(sPieceOnHotplate4, HotplatePiece4Changed);
|
|
_adsManager?.Deregister(sPieceOnHotplate5, HotplatePiece5Changed);
|
|
_adsManager?.Deregister(sPieceOnHotplate6, HotplatePiece6Changed);
|
|
_adsManager?.Deregister(sPieceOnHotplate7, HotplatePiece7Changed);
|
|
_adsManager?.Deregister(sPieceOnHotplate8, HotplatePiece8Changed);
|
|
_adsManager?.Deregister(sPieceOnHotplate9, HotplatePiece9Changed);
|
|
|
|
_adsManager?.Deregister(sPieceOnCoolplate1, CoolplatePiece1Changed);
|
|
_adsManager?.Deregister(sPieceOnCoolplate2, CoolplatePiece2Changed);
|
|
_adsManager?.Deregister(sPieceOnCoolplate3, CoolplatePiece3Changed);
|
|
_adsManager?.Deregister(sPieceOnCoolplate4, CoolplatePiece4Changed);
|
|
_adsManager?.Deregister(sPieceOnCoolplate5, CoolplatePiece5Changed);
|
|
_adsManager?.Deregister(sPieceOnCoolplate6, CoolplatePiece6Changed);
|
|
_adsManager?.Deregister(sPieceOnCoolplate7, CoolplatePiece7Changed);
|
|
_adsManager?.Deregister(sPieceOnCoolplate8, CoolplatePiece8Changed);
|
|
_adsManager?.Deregister(sPieceOnCoolplate9, CoolplatePiece9Changed);
|
|
|
|
}
|
|
} |