66 lines
1.9 KiB
C#
66 lines
1.9 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 NIOStationPageVM : ObservableValidator, IDisposable
|
|
{
|
|
|
|
|
|
private readonly string? _variableName;
|
|
|
|
private readonly IAdsManager? _adsManager;
|
|
|
|
[ObservableProperty] private BinaryValveControlVM clampDiagValveVm;
|
|
|
|
[ObservableProperty] private BinaryValveControlVM clampAcrossValveVm;
|
|
|
|
[ObservableProperty] private HMIControlButtonVM clampCmdButtonVm;
|
|
|
|
[ObservableProperty] private HMIControlButtonVM unclampCmdButtonVm;
|
|
|
|
[ObservableProperty] private PackMLControlVM? nIOStationPackMLControlVm;
|
|
|
|
|
|
public NIOStationPageVM()
|
|
{
|
|
ClampDiagValveVm = new BinaryValveControlVM();
|
|
ClampAcrossValveVm = new BinaryValveControlVM();
|
|
ClampCmdButtonVm = new HMIControlButtonVM();
|
|
UnclampCmdButtonVm = new HMIControlButtonVM();
|
|
NIOStationPackMLControlVm = new();
|
|
NIOStationPackMLControlVm.STitle = "NIO Station";
|
|
|
|
}
|
|
|
|
public NIOStationPageVM(IAdsManager adsManager, string variableName)
|
|
{
|
|
_adsManager = adsManager;
|
|
_variableName = variableName;
|
|
|
|
ClampDiagValveVm = new BinaryValveControlVM(_adsManager, _variableName + ".stClampDiagValve");
|
|
ClampAcrossValveVm = new BinaryValveControlVM(_adsManager, _variableName + ".stClampAcrossValve");
|
|
ClampCmdButtonVm = new HMIControlButtonVM(_adsManager, _variableName + ".stClampCmd");
|
|
UnclampCmdButtonVm = new HMIControlButtonVM(_adsManager, _variableName + "stUnclampCmd");
|
|
|
|
NIOStationPackMLControlVm = new(_adsManager, _variableName + ".stStationCmds");
|
|
NIOStationPackMLControlVm.STitle = "NIO Station";
|
|
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
ClampDiagValveVm.Dispose();
|
|
ClampAcrossValveVm.Dispose();
|
|
ClampCmdButtonVm.Dispose();
|
|
UnclampCmdButtonVm.Dispose();
|
|
}
|
|
|
|
|
|
} |