98 lines
3.8 KiB
C#
98 lines
3.8 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 Common;
|
|
using InfineonHMI.Model;
|
|
namespace InfineonHMI;
|
|
|
|
public sealed partial class EtchingStation2PageVM : ObservableValidator, IDisposable
|
|
{
|
|
|
|
[ObservableProperty] private BinaryValveControlVM vacuumValveControlEtching2Vm;
|
|
|
|
[ObservableProperty] private BinaryValveControlVM doorValveControlEtching2Vm;
|
|
|
|
[ObservableProperty] private BinaryValveControlVM chuckUnlockValveLeftEtching2Vm;
|
|
|
|
[ObservableProperty] private BinaryValveControlVM chuckUnlockValveRightEtching2Vm;
|
|
|
|
[ObservableProperty] private BinaryValveControlVM chuckEjectValveFrontEtching2Vm;
|
|
|
|
[ObservableProperty] private BinaryValveControlVM chuckEjectValveBackEtching2Vm;
|
|
|
|
[ObservableProperty] private HMIControlButtonVM? chuckUnlockCmdButtonEtching2Vm;
|
|
|
|
[ObservableProperty] private HMIControlButtonVM? chuckLockCmdButtonEtching2Vm;
|
|
|
|
[ObservableProperty] private HMIControlButtonVM? chuckEjectCmdButtonEtching2Vm;
|
|
|
|
[ObservableProperty] private PackMLControlVM? etching2PackMLControlVm;
|
|
|
|
private readonly string? _variableName;
|
|
|
|
private readonly IAdsManager? _adsManager;
|
|
|
|
public EtchingStation2PageVM()
|
|
{
|
|
|
|
|
|
VacuumValveControlEtching2Vm = new BinaryValveControlVM();
|
|
DoorValveControlEtching2Vm = new BinaryValveControlVM();
|
|
ChuckUnlockValveLeftEtching2Vm = new BinaryValveControlVM();
|
|
ChuckUnlockValveRightEtching2Vm = new BinaryValveControlVM();
|
|
ChuckEjectValveFrontEtching2Vm = new BinaryValveControlVM();
|
|
ChuckEjectValveBackEtching2Vm = new BinaryValveControlVM();
|
|
|
|
ChuckUnlockCmdButtonEtching2Vm = new HMIControlButtonVM();
|
|
ChuckLockCmdButtonEtching2Vm = new HMIControlButtonVM();
|
|
ChuckEjectCmdButtonEtching2Vm = new HMIControlButtonVM();
|
|
|
|
Etching2PackMLControlVm = new();
|
|
Etching2PackMLControlVm.STitle = "Ätzer 2";
|
|
}
|
|
|
|
public EtchingStation2PageVM(IAdsManager adsManager, string variableName)
|
|
{
|
|
_adsManager = adsManager;
|
|
_variableName = variableName;
|
|
|
|
|
|
VacuumValveControlEtching2Vm = new BinaryValveControlVM(_adsManager, _variableName + ".stEtcher2.stVacuumValve");
|
|
DoorValveControlEtching2Vm = new BinaryValveControlVM(_adsManager, _variableName + ".stEtcher2.stDoorValve");
|
|
ChuckUnlockValveLeftEtching2Vm = new BinaryValveControlVM(_adsManager, _variableName + ".stEtcher2.stChuckUnlockLeft");
|
|
ChuckUnlockValveRightEtching2Vm = new BinaryValveControlVM(_adsManager, _variableName + ".stEtcher2.stChuckUnlockRight");
|
|
ChuckEjectValveFrontEtching2Vm = new BinaryValveControlVM(_adsManager, _variableName + ".stEtcher2.stChuckEjectFront");
|
|
ChuckEjectValveBackEtching2Vm = new BinaryValveControlVM(_adsManager, _variableName + ".stEtcher2.stChuckEjectBack");
|
|
|
|
ChuckUnlockCmdButtonEtching2Vm = new HMIControlButtonVM(_adsManager, _variableName + ".stEtcher2.stChuckUnlockCmd");
|
|
ChuckLockCmdButtonEtching2Vm = new HMIControlButtonVM(_adsManager, _variableName + ".stEtcher2.stChuckLockCmd");
|
|
ChuckEjectCmdButtonEtching2Vm = new HMIControlButtonVM(_adsManager, _variableName + ".stEtcher2.stChuckEjectCmd");
|
|
|
|
Etching2PackMLControlVm = new(_adsManager, _variableName + ".stEtcher2.stStationCmds");
|
|
Etching2PackMLControlVm.STitle = "Ätzer 2";
|
|
|
|
}
|
|
|
|
|
|
public void Dispose()
|
|
{
|
|
VacuumValveControlEtching2Vm.Dispose();
|
|
DoorValveControlEtching2Vm.Dispose();
|
|
ChuckUnlockValveLeftEtching2Vm.Dispose();
|
|
ChuckUnlockValveRightEtching2Vm.Dispose();
|
|
ChuckEjectValveFrontEtching2Vm.Dispose();
|
|
ChuckEjectValveBackEtching2Vm.Dispose();
|
|
ChuckUnlockCmdButtonEtching2Vm?.Dispose();
|
|
ChuckUnlockCmdButtonEtching2Vm = null;
|
|
ChuckLockCmdButtonEtching2Vm?.Dispose();
|
|
ChuckLockCmdButtonEtching2Vm = null;
|
|
ChuckLockCmdButtonEtching2Vm?.Dispose();
|
|
ChuckEjectCmdButtonEtching2Vm = null;
|
|
|
|
}
|
|
|
|
} |