Files
infineon_cs_hmi/uniper_hmi/UniperHMI/Pages/ViewModels/HotCoolPlatePageVM.cs
2026-02-13 09:13:36 +01:00

375 lines
11 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 UniperHMI.Model;
using System.Windows;
namespace UniperHMI
{
public sealed partial class HotCoolPlatePageVM : ObservableValidator, IDisposable
{
private const string sPieceOnHotplate1 = "_adsVariable_hotPlatePiece1";
private const string sPieceOnHotplate2 = "_adsVariable_hotPlatePiece2";
private const string sPieceOnHotplate3 = "_adsVariable_hotPlatePiece3";
private const string sPieceOnHotplate4 = "_adsVariable_hotPlatePiece4";
private const string sPieceOnHotplate5 = "_adsVariable_hotPlatePiece5";
private const string sPieceOnHotplate6 = "_adsVariable_hotPlatePiece6";
private const string sPieceOnHotplate7 = "_adsVariable_hotPlatePiece7";
private const string sPieceOnHotplate8 = "_adsVariable_hotPlatePiece8";
private const string sPieceOnHotplate9 = "_adsVariable_hotPlatePiece9";
private const string sHotplateTargetTemp = "_adsVariable_hotPlateTargetTemp";
private const string sHotplateActualTemp = "_adsVariable_hotPlateActualTemp";
private const string sPieceOnCoolplate1 = "_adsVariable_CoolPlatePiece1";
private const string sPieceOnCoolplate2 = "_adsVariable_CoolPlatePiece2";
private const string sPieceOnCoolplate3 = "_adsVariable_CoolPlatePiece3";
private const string sPieceOnCoolplate4 = "_adsVariable_CoolPlatePiece4";
private const string sPieceOnCoolplate5 = "_adsVariable_CoolPlatePiece5";
private const string sPieceOnCoolplate6 = "_adsVariable_CoolPlatePiece6";
private const string sPieceOnCoolplate7 = "_adsVariable_CoolPlatePiece7";
private const string sPieceOnCoolplate8 = "_adsVariable_CoolPlatePiece8";
private const string sPieceOnCoolplate9 = "_adsVariable_CoolPlatePiece9";
private const string sCoolplateTargetTemp = "_adsVariable_coolPlateTargetTemp";
private const string sCoolplateActualTemp = "_adsVariable_coolPlateActualTemp";
private readonly IAdsManager? _adsManager;
[ObservableProperty]
private double hotPlateTargetTemperature;
[ObservableProperty]
private double hotPlateActualTemperature;
[ObservableProperty]
private double coolPlateTargetTemperature;
[ObservableProperty]
private double coolPlateActualTemperature;
[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(IAdsManager adsManager, string variableName)
{
_adsManager = adsManager;
_adsManager.Register(sHotplateActualTemp, HotplateTempChanged);
_adsManager.Register(sCoolplateActualTemp, CoolplateTempChanged);
_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 HotplateTempChanged(object? sender, ValueChangedEventArgs e)
{
HotPlateActualTemperature = (double)e.Value;
}
private void CoolplateTempChanged(object? sender, ValueChangedEventArgs e)
{
HotPlateActualTemperature = (double)e.Value;
}
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()
{
_adsManager?.Register(sHotplateActualTemp, HotplateTempChanged);
_adsManager?.Register(sCoolplateActualTemp, CoolplateTempChanged);
_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);
}
}
}