Push Changes from Techcrafters Repo
This commit is contained in:
@@ -5,39 +5,44 @@ using Heisig.HMI.AdsManager;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using TwinCAT.TypeSystem;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
using Common;
|
||||
using InfineonHMI.Model;
|
||||
namespace InfineonHMI
|
||||
namespace InfineonHMI;
|
||||
|
||||
public sealed partial class AlignmentStationPageVM : ObservableValidator, IDisposable
|
||||
{
|
||||
public sealed partial class AlignmentStationPageVM : ObservableValidator, IDisposable
|
||||
{
|
||||
private readonly string? _variableName;
|
||||
private readonly string? _variableName;
|
||||
|
||||
private readonly IAdsManager? _adsManager;
|
||||
private readonly IAdsManager? _adsManager;
|
||||
|
||||
[ObservableProperty]
|
||||
private BinaryValveControlVM vacuumValveControlVm;
|
||||
[ObservableProperty] private PackMLControlVM? alignmentPackMLControlVm;
|
||||
|
||||
public AlignmentStationPageVM()
|
||||
{
|
||||
VacuumValveControlVm = new BinaryValveControlVM();
|
||||
}
|
||||
[ObservableProperty]
|
||||
private BinaryValveControlVM vacuumValveControlVm;
|
||||
|
||||
public AlignmentStationPageVM(IAdsManager adsManager, string variableName)
|
||||
{
|
||||
_adsManager = adsManager;
|
||||
_variableName = variableName;
|
||||
public AlignmentStationPageVM()
|
||||
{
|
||||
VacuumValveControlVm = new BinaryValveControlVM();
|
||||
AlignmentPackMLControlVm = new();
|
||||
AlignmentPackMLControlVm.STitle = "Ausrichtstation";
|
||||
}
|
||||
|
||||
VacuumValveControlVm = new BinaryValveControlVM(_adsManager, _variableName + ".stVacuumValve");
|
||||
}
|
||||
public AlignmentStationPageVM(IAdsManager adsManager, string variableName)
|
||||
{
|
||||
_adsManager = adsManager;
|
||||
_variableName = variableName;
|
||||
|
||||
VacuumValveControlVm = new BinaryValveControlVM(_adsManager, _variableName + ".stVacuumValve");
|
||||
AlignmentPackMLControlVm = new(_adsManager, _variableName + "stStationCmds");
|
||||
AlignmentPackMLControlVm.STitle = "Ausrichtstation";
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
public void Dispose()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,94 +1,98 @@
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using HMIToolkit;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Heisig.HMI.AdsManager;
|
||||
using Common;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using TwinCAT.TypeSystem;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
using Heisig.HMI.AdsManager;
|
||||
using HMIToolkit;
|
||||
using InfineonHMI.Model;
|
||||
namespace InfineonHMI
|
||||
using System.Collections.ObjectModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Diagnostics;
|
||||
using TwinCAT.TypeSystem;
|
||||
namespace InfineonHMI;
|
||||
|
||||
public sealed partial class EtchingStation1PageVM : ObservableValidator, IDisposable
|
||||
{
|
||||
|
||||
public sealed partial class EtchingStation1PageVM : ObservableValidator, IDisposable
|
||||
[ObservableProperty] private BinaryValveControlVM vacuumValveControlEtching1Vm;
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM doorValveControlEtching1Vm;
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM chuckUnlockValveLeftEtching1Vm;
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM chuckUnlockValveRightEtching1Vm;
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM chuckEjectValveFrontEtching1Vm;
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM chuckEjectValveBackEtching1Vm;
|
||||
|
||||
[ObservableProperty] private HMIControlButtonVM? chuckUnlockCmdButtonEtching1Vm;
|
||||
|
||||
[ObservableProperty] private HMIControlButtonVM? chuckLockCmdButtonEtching1Vm;
|
||||
|
||||
[ObservableProperty] private HMIControlButtonVM? chuckEjectCmdButtonEtching1Vm;
|
||||
|
||||
[ObservableProperty] private PackMLControlVM? etching1PackMLControlVm;
|
||||
|
||||
private readonly string? _variableName;
|
||||
|
||||
private readonly IAdsManager? _adsManager;
|
||||
|
||||
public EtchingStation1PageVM()
|
||||
{
|
||||
VacuumValveControlEtching1Vm = new BinaryValveControlVM();
|
||||
DoorValveControlEtching1Vm = new BinaryValveControlVM();
|
||||
ChuckUnlockValveLeftEtching1Vm = new BinaryValveControlVM();
|
||||
ChuckUnlockValveRightEtching1Vm = new BinaryValveControlVM();
|
||||
ChuckEjectValveFrontEtching1Vm = new BinaryValveControlVM();
|
||||
ChuckEjectValveBackEtching1Vm = new BinaryValveControlVM();
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM vacuumValveControlEtching1Vm;
|
||||
ChuckUnlockCmdButtonEtching1Vm = new HMIControlButtonVM();
|
||||
ChuckLockCmdButtonEtching1Vm = new HMIControlButtonVM();
|
||||
ChuckEjectCmdButtonEtching1Vm = new HMIControlButtonVM();
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM doorValveControlEtching1Vm;
|
||||
Etching1PackMLControlVm = new();
|
||||
Etching1PackMLControlVm.STitle = "Ätzer 1";
|
||||
}
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM chuckUnlockValveLeftEtching1Vm;
|
||||
public EtchingStation1PageVM(IAdsManager adsManager, string variableName)
|
||||
{
|
||||
_adsManager = adsManager;
|
||||
_variableName = variableName;
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM chuckUnlockValveRightEtching1Vm;
|
||||
VacuumValveControlEtching1Vm = new BinaryValveControlVM(_adsManager, _variableName + ".stEtcher1.stVacuumValve");
|
||||
DoorValveControlEtching1Vm = new BinaryValveControlVM(_adsManager, _variableName + ".stEtcher1.stDoorValve");
|
||||
ChuckUnlockValveLeftEtching1Vm = new BinaryValveControlVM(_adsManager, _variableName + ".stEtcher1.stChuckUnlockLeft");
|
||||
ChuckUnlockValveRightEtching1Vm = new BinaryValveControlVM(_adsManager, _variableName + ".stEtcher1.stChuckUnlockRight");
|
||||
ChuckEjectValveFrontEtching1Vm = new BinaryValveControlVM(_adsManager, _variableName + ".stEtcher1.stChuckEjectFront");
|
||||
ChuckEjectValveBackEtching1Vm = new BinaryValveControlVM(_adsManager, _variableName + ".stEtcher1.stChuckEjectBack");
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM chuckEjectValveFrontEtching1Vm;
|
||||
ChuckUnlockCmdButtonEtching1Vm = new HMIControlButtonVM(_adsManager, _variableName + ".stEtcher1.stChuckUnlockCmd");
|
||||
ChuckLockCmdButtonEtching1Vm = new HMIControlButtonVM(_adsManager, _variableName + ".stEtcher1.stChuckLockCmd");
|
||||
ChuckEjectCmdButtonEtching1Vm = new HMIControlButtonVM(_adsManager, _variableName + ".stEtcher1.stChuckEjectCmd");
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM chuckEjectValveBackEtching1Vm;
|
||||
|
||||
[ObservableProperty] private HMIControlButtonVM? chuckUnlockCmdButtonEtching1Vm;
|
||||
|
||||
[ObservableProperty] private HMIControlButtonVM? chuckLockCmdButtonEtching1Vm;
|
||||
|
||||
[ObservableProperty] private HMIControlButtonVM? chuckEjectCmdButtonEtching1Vm;
|
||||
|
||||
private readonly string? _variableName;
|
||||
|
||||
private readonly IAdsManager? _adsManager;
|
||||
|
||||
public EtchingStation1PageVM()
|
||||
{
|
||||
VacuumValveControlEtching1Vm = new BinaryValveControlVM();
|
||||
DoorValveControlEtching1Vm = new BinaryValveControlVM();
|
||||
ChuckUnlockValveLeftEtching1Vm = new BinaryValveControlVM();
|
||||
ChuckUnlockValveRightEtching1Vm = new BinaryValveControlVM();
|
||||
ChuckEjectValveFrontEtching1Vm = new BinaryValveControlVM();
|
||||
ChuckEjectValveBackEtching1Vm = new BinaryValveControlVM();
|
||||
|
||||
ChuckUnlockCmdButtonEtching1Vm = new HMIControlButtonVM();
|
||||
ChuckLockCmdButtonEtching1Vm = new HMIControlButtonVM();
|
||||
ChuckEjectCmdButtonEtching1Vm = new HMIControlButtonVM();
|
||||
|
||||
}
|
||||
|
||||
public EtchingStation1PageVM(IAdsManager adsManager, string variableName)
|
||||
{
|
||||
_adsManager = adsManager;
|
||||
_variableName = variableName;
|
||||
|
||||
VacuumValveControlEtching1Vm = new BinaryValveControlVM(_adsManager, "GVL_SCADA.stMachine.stEtcher1.stVacuumValve");
|
||||
DoorValveControlEtching1Vm = new BinaryValveControlVM(_adsManager, "GVL_SCADA.stMachine.stEtcher1.stDoorValve");
|
||||
ChuckUnlockValveLeftEtching1Vm = new BinaryValveControlVM(_adsManager, "GVL_SCADA.stMachine.stEtcher1.stChuckUnlockLeft");
|
||||
ChuckUnlockValveRightEtching1Vm = new BinaryValveControlVM(_adsManager, "GVL_SCADA.stMachine.stEtcher1.stChuckUnlockRight");
|
||||
ChuckEjectValveFrontEtching1Vm = new BinaryValveControlVM(_adsManager, "GVL_SCADA.stMachine.stEtcher1.stChuckEjectFront");
|
||||
ChuckEjectValveBackEtching1Vm = new BinaryValveControlVM(_adsManager, "GVL_SCADA.stMachine.stEtcher1.stChuckEjectBack");
|
||||
|
||||
ChuckUnlockCmdButtonEtching1Vm = new HMIControlButtonVM(_adsManager, "GVL_SCADA.stMachine.stEtcher1.stChuckUnlockCmd");
|
||||
ChuckLockCmdButtonEtching1Vm = new HMIControlButtonVM(_adsManager, "GVL_SCADA.stMachine.stEtcher1.stChuckLockCmd");
|
||||
ChuckEjectCmdButtonEtching1Vm = new HMIControlButtonVM(_adsManager, "GVL_SCADA.stMachine.stEtcher1.stChuckEjectCmd");
|
||||
|
||||
|
||||
}
|
||||
Etching1PackMLControlVm = new(_adsManager, _variableName + ".stEtcher1.stStationCmds");
|
||||
Etching1PackMLControlVm.STitle = "Ätzer 1";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
VacuumValveControlEtching1Vm.Dispose();
|
||||
DoorValveControlEtching1Vm.Dispose();
|
||||
ChuckUnlockValveLeftEtching1Vm.Dispose();
|
||||
ChuckUnlockValveRightEtching1Vm.Dispose();
|
||||
ChuckEjectValveFrontEtching1Vm.Dispose();
|
||||
ChuckEjectValveBackEtching1Vm.Dispose();
|
||||
ChuckUnlockCmdButtonEtching1Vm?.Dispose();
|
||||
ChuckUnlockCmdButtonEtching1Vm = null;
|
||||
ChuckLockCmdButtonEtching1Vm?.Dispose();
|
||||
ChuckLockCmdButtonEtching1Vm = null;
|
||||
ChuckLockCmdButtonEtching1Vm?.Dispose();
|
||||
ChuckEjectCmdButtonEtching1Vm = null;
|
||||
public void Dispose()
|
||||
{
|
||||
VacuumValveControlEtching1Vm.Dispose();
|
||||
DoorValveControlEtching1Vm.Dispose();
|
||||
ChuckUnlockValveLeftEtching1Vm.Dispose();
|
||||
ChuckUnlockValveRightEtching1Vm.Dispose();
|
||||
ChuckEjectValveFrontEtching1Vm.Dispose();
|
||||
ChuckEjectValveBackEtching1Vm.Dispose();
|
||||
ChuckUnlockCmdButtonEtching1Vm?.Dispose();
|
||||
ChuckUnlockCmdButtonEtching1Vm = null;
|
||||
ChuckLockCmdButtonEtching1Vm?.Dispose();
|
||||
ChuckLockCmdButtonEtching1Vm = null;
|
||||
ChuckLockCmdButtonEtching1Vm?.Dispose();
|
||||
ChuckEjectCmdButtonEtching1Vm = null;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,88 +5,94 @@ using Heisig.HMI.AdsManager;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using TwinCAT.TypeSystem;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
using Common;
|
||||
using InfineonHMI.Model;
|
||||
namespace InfineonHMI
|
||||
namespace InfineonHMI;
|
||||
|
||||
public sealed partial class EtchingStation2PageVM : ObservableValidator, IDisposable
|
||||
{
|
||||
|
||||
public sealed partial class EtchingStation2PageVM : ObservableValidator, IDisposable
|
||||
{
|
||||
[ObservableProperty] private BinaryValveControlVM vacuumValveControlEtching2Vm;
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM vacuumValveControlEtching2Vm;
|
||||
[ObservableProperty] private BinaryValveControlVM doorValveControlEtching2Vm;
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM doorValveControlEtching2Vm;
|
||||
[ObservableProperty] private BinaryValveControlVM chuckUnlockValveLeftEtching2Vm;
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM chuckUnlockValveLeftEtching2Vm;
|
||||
[ObservableProperty] private BinaryValveControlVM chuckUnlockValveRightEtching2Vm;
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM chuckUnlockValveRightEtching2Vm;
|
||||
[ObservableProperty] private BinaryValveControlVM chuckEjectValveFrontEtching2Vm;
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM chuckEjectValveFrontEtching2Vm;
|
||||
[ObservableProperty] private BinaryValveControlVM chuckEjectValveBackEtching2Vm;
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM chuckEjectValveBackEtching2Vm;
|
||||
[ObservableProperty] private HMIControlButtonVM? chuckUnlockCmdButtonEtching2Vm;
|
||||
|
||||
[ObservableProperty] private HMIControlButtonVM? chuckUnlockCmdButtonEtching2Vm;
|
||||
[ObservableProperty] private HMIControlButtonVM? chuckLockCmdButtonEtching2Vm;
|
||||
|
||||
[ObservableProperty] private HMIControlButtonVM? chuckLockCmdButtonEtching2Vm;
|
||||
[ObservableProperty] private HMIControlButtonVM? chuckEjectCmdButtonEtching2Vm;
|
||||
|
||||
[ObservableProperty] private HMIControlButtonVM? chuckEjectCmdButtonEtching2Vm;
|
||||
[ObservableProperty] private PackMLControlVM? etching2PackMLControlVm;
|
||||
|
||||
private readonly string? _variableName;
|
||||
private readonly string? _variableName;
|
||||
|
||||
private readonly IAdsManager? _adsManager;
|
||||
private readonly IAdsManager? _adsManager;
|
||||
|
||||
public EtchingStation2PageVM()
|
||||
{
|
||||
public EtchingStation2PageVM()
|
||||
{
|
||||
|
||||
|
||||
VacuumValveControlEtching2Vm = new BinaryValveControlVM();
|
||||
DoorValveControlEtching2Vm = new BinaryValveControlVM();
|
||||
ChuckUnlockValveLeftEtching2Vm = new BinaryValveControlVM();
|
||||
ChuckUnlockValveRightEtching2Vm = new BinaryValveControlVM();
|
||||
ChuckEjectValveFrontEtching2Vm = new BinaryValveControlVM();
|
||||
ChuckEjectValveBackEtching2Vm = new BinaryValveControlVM();
|
||||
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();
|
||||
}
|
||||
ChuckUnlockCmdButtonEtching2Vm = new HMIControlButtonVM();
|
||||
ChuckLockCmdButtonEtching2Vm = new HMIControlButtonVM();
|
||||
ChuckEjectCmdButtonEtching2Vm = new HMIControlButtonVM();
|
||||
|
||||
public EtchingStation2PageVM(IAdsManager adsManager, string variableName)
|
||||
{
|
||||
_adsManager = adsManager;
|
||||
_variableName = variableName;
|
||||
Etching2PackMLControlVm = new();
|
||||
Etching2PackMLControlVm.STitle = "Ätzer 2";
|
||||
}
|
||||
|
||||
public EtchingStation2PageVM(IAdsManager adsManager, string variableName)
|
||||
{
|
||||
_adsManager = adsManager;
|
||||
_variableName = variableName;
|
||||
|
||||
|
||||
VacuumValveControlEtching2Vm = new BinaryValveControlVM(_adsManager, "GVL_SCADA.stMachine.stEtcher2.stVacuumValve");
|
||||
DoorValveControlEtching2Vm = new BinaryValveControlVM(_adsManager, "GVL_SCADA.stMachine.stEtcher2.stDoorValve");
|
||||
ChuckUnlockValveLeftEtching2Vm = new BinaryValveControlVM(_adsManager, "GVL_SCADA.stMachine.stEtcher2.stChuckUnlockLeft");
|
||||
ChuckUnlockValveRightEtching2Vm = new BinaryValveControlVM(_adsManager, "GVL_SCADA.stMachine.stEtcher2.stChuckUnlockRight");
|
||||
ChuckEjectValveFrontEtching2Vm = new BinaryValveControlVM(_adsManager, "GVL_SCADA.stMachine.stEtcher2.stChuckEjectFront");
|
||||
ChuckEjectValveBackEtching2Vm = new BinaryValveControlVM(_adsManager, "GVL_SCADA.stMachine.stEtcher2.stChuckEjectBack");
|
||||
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, "GVL_SCADA.stMachine.stEtcher2.stChuckUnlockCmd");
|
||||
ChuckLockCmdButtonEtching2Vm = new HMIControlButtonVM(_adsManager, "GVL_SCADA.stMachine.stEtcher2.stChuckLockCmd");
|
||||
ChuckEjectCmdButtonEtching2Vm = new HMIControlButtonVM(_adsManager, "GVL_SCADA.stMachine.stEtcher2.stChuckEjectCmd");
|
||||
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;
|
||||
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;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,47 +3,47 @@ using System.Collections.ObjectModel;
|
||||
using System.Windows;
|
||||
using TcEventLoggerAdsProxyLib;
|
||||
|
||||
namespace InfineonHMI
|
||||
namespace InfineonHMI;
|
||||
|
||||
public partial class EventData : ObservableObject
|
||||
{
|
||||
public partial class EventData : ObservableObject
|
||||
{
|
||||
[ObservableProperty]
|
||||
public uint id;
|
||||
[ObservableProperty]
|
||||
public uint id;
|
||||
|
||||
[ObservableProperty]
|
||||
public string? message;
|
||||
[ObservableProperty]
|
||||
public string? message;
|
||||
|
||||
[ObservableProperty]
|
||||
public DateTime raised;
|
||||
[ObservableProperty]
|
||||
public DateTime raised;
|
||||
|
||||
[ObservableProperty]
|
||||
public DateTime cleared;
|
||||
[ObservableProperty]
|
||||
public DateTime cleared;
|
||||
|
||||
[ObservableProperty]
|
||||
public DateTime confirmed;
|
||||
};
|
||||
[ObservableProperty]
|
||||
public DateTime confirmed;
|
||||
};
|
||||
|
||||
public sealed partial class EventsPageVM : ObservableObject
|
||||
{
|
||||
public ObservableCollection<EventData> CurrentEvents { get; private set; } = [];
|
||||
private readonly object _lock = new();
|
||||
public sealed partial class EventsPageVM : ObservableObject
|
||||
{
|
||||
public ObservableCollection<EventData> CurrentEvents { get; private set; } = [];
|
||||
private readonly object _lock = new();
|
||||
|
||||
private readonly TcEventLogger _logger;
|
||||
private readonly TcEventLogger _logger;
|
||||
|
||||
[ObservableProperty]
|
||||
private EventData? currentEvent;
|
||||
[ObservableProperty]
|
||||
private EventData? currentEvent;
|
||||
|
||||
// 599264352000000000 ticks is a date used by beckhoff for events that didnt happen up to this point
|
||||
private const long NoTime = 599264352000000000;
|
||||
// 599264352000000000 ticks is a date used by beckhoff for events that didnt happen up to this point
|
||||
private const long NoTime = 599264352000000000;
|
||||
|
||||
|
||||
public EventsPageVM(TcEventLogger logger)
|
||||
{
|
||||
_logger = logger;
|
||||
public EventsPageVM(TcEventLogger logger)
|
||||
{
|
||||
_logger = logger;
|
||||
|
||||
_logger.AlarmRaised += SimpleAlarmRaisedEvent;
|
||||
_logger.AlarmCleared += SimpleAlarmClearedEvent;
|
||||
_logger.AlarmConfirmed += SimpleConfirmedAlarmEvent;
|
||||
_logger.AlarmRaised += SimpleAlarmRaisedEvent;
|
||||
_logger.AlarmCleared += SimpleAlarmClearedEvent;
|
||||
_logger.AlarmConfirmed += SimpleConfirmedAlarmEvent;
|
||||
|
||||
#if DEBUG
|
||||
|
||||
@@ -52,63 +52,62 @@ namespace InfineonHMI
|
||||
_logger.Connect("10.103.32.50.1.1");
|
||||
#endif
|
||||
|
||||
GetAllActiveEvents();
|
||||
}
|
||||
GetAllActiveEvents();
|
||||
}
|
||||
|
||||
private void RebuildCurrentEventsList()
|
||||
{
|
||||
lock (_lock)
|
||||
{
|
||||
CurrentEvents.Clear();
|
||||
}
|
||||
private void RebuildCurrentEventsList()
|
||||
{
|
||||
lock (_lock)
|
||||
{
|
||||
CurrentEvents.Clear();
|
||||
}
|
||||
|
||||
GetAllActiveEvents();
|
||||
}
|
||||
GetAllActiveEvents();
|
||||
}
|
||||
|
||||
private void SimpleConfirmedAlarmEvent(TcAlarm alarm, bool remove)
|
||||
{
|
||||
Application.Current.Dispatcher.BeginInvoke(RebuildCurrentEventsList);
|
||||
}
|
||||
private void SimpleConfirmedAlarmEvent(TcAlarm alarm, bool remove)
|
||||
{
|
||||
Application.Current.Dispatcher.BeginInvoke(RebuildCurrentEventsList);
|
||||
}
|
||||
|
||||
private void SimpleAlarmClearedEvent(TcAlarm alarm, bool remove)
|
||||
{
|
||||
Application.Current.Dispatcher.BeginInvoke(RebuildCurrentEventsList);
|
||||
}
|
||||
private void SimpleAlarmClearedEvent(TcAlarm alarm, bool remove)
|
||||
{
|
||||
Application.Current.Dispatcher.BeginInvoke(RebuildCurrentEventsList);
|
||||
}
|
||||
|
||||
private void SimpleAlarmRaisedEvent(TcAlarm alarm)
|
||||
{
|
||||
Application.Current.Dispatcher.BeginInvoke(RebuildCurrentEventsList);
|
||||
}
|
||||
private void SimpleAlarmRaisedEvent(TcAlarm alarm)
|
||||
{
|
||||
Application.Current.Dispatcher.BeginInvoke(RebuildCurrentEventsList);
|
||||
}
|
||||
|
||||
private void GetAllActiveEvents()
|
||||
{
|
||||
EventData eventData;
|
||||
List<EventData> tempEventList = [];
|
||||
private void GetAllActiveEvents()
|
||||
{
|
||||
EventData eventData;
|
||||
List<EventData> tempEventList = [];
|
||||
|
||||
lock (_lock)
|
||||
{
|
||||
foreach (var alarm in _logger.ActiveAlarms)
|
||||
{
|
||||
eventData = new()
|
||||
{
|
||||
Id = alarm.EventId,
|
||||
Message = alarm.GetText(1033),
|
||||
Raised = alarm.TimeRaised,
|
||||
Cleared = alarm.TimeCleared,
|
||||
Confirmed = alarm.TimeConfirmed
|
||||
};
|
||||
lock (_lock)
|
||||
{
|
||||
foreach (var alarm in _logger.ActiveAlarms)
|
||||
{
|
||||
eventData = new()
|
||||
{
|
||||
Id = alarm.EventId,
|
||||
Message = alarm.GetText(1033),
|
||||
Raised = alarm.TimeRaised,
|
||||
Cleared = alarm.TimeCleared,
|
||||
Confirmed = alarm.TimeConfirmed
|
||||
};
|
||||
|
||||
tempEventList.Add(eventData);
|
||||
}
|
||||
tempEventList.Add(eventData);
|
||||
}
|
||||
|
||||
IEnumerable<EventData> _eventQuery =
|
||||
from data in tempEventList
|
||||
orderby data.Raised descending
|
||||
select data;
|
||||
IEnumerable<EventData> _eventQuery =
|
||||
from data in tempEventList
|
||||
orderby data.Raised descending
|
||||
select data;
|
||||
|
||||
CurrentEvent = _eventQuery.FirstOrDefault();
|
||||
CurrentEvents = new ObservableCollection<EventData>(_eventQuery);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
CurrentEvent = _eventQuery.FirstOrDefault();
|
||||
CurrentEvents = new ObservableCollection<EventData>(_eventQuery);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,68 +5,83 @@ using Heisig.HMI.AdsManager;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using TwinCAT.TypeSystem;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
using Common;
|
||||
using InfineonHMI.Model;
|
||||
namespace InfineonHMI
|
||||
namespace InfineonHMI;
|
||||
|
||||
public sealed partial class HighVoltageStationPageVM : ObservableValidator, IDisposable
|
||||
{
|
||||
public sealed partial class HighVoltageStationPageVM : ObservableValidator, IDisposable
|
||||
{
|
||||
private readonly string? _variableName;
|
||||
private readonly string? _variableName;
|
||||
|
||||
private readonly IAdsManager? _adsManager;
|
||||
private readonly IAdsManager? _adsManager;
|
||||
|
||||
[ObservableProperty]
|
||||
private BinaryValveControlVM doorValveHotControlVm;
|
||||
[ObservableProperty] private PackMLControlVM highVoltageHotPackMLControlVm;
|
||||
[ObservableProperty] private PackMLControlVM highVoltageColdPackMLControlVm;
|
||||
|
||||
[ObservableProperty]
|
||||
private BinaryValveControlVM testChamberHotValveVm;
|
||||
[ObservableProperty]
|
||||
private BinaryValveControlVM doorValveHotControlVm;
|
||||
|
||||
[ObservableProperty]
|
||||
private AnalogValueVM tempSPHotVm;
|
||||
[ObservableProperty]
|
||||
private BinaryValveControlVM testChamberHotValveVm;
|
||||
|
||||
[ObservableProperty]
|
||||
private BinaryValveControlVM doorValveColdControlVm;
|
||||
[ObservableProperty]
|
||||
private AnalogValueVM tempSPHotVm;
|
||||
|
||||
[ObservableProperty]
|
||||
private BinaryValveControlVM testChamberColdValveVm;
|
||||
[ObservableProperty]
|
||||
private BinaryValveControlVM doorValveColdControlVm;
|
||||
|
||||
[ObservableProperty]
|
||||
private AnalogValueVM tempSPColdVm;
|
||||
[ObservableProperty]
|
||||
private BinaryValveControlVM testChamberColdValveVm;
|
||||
|
||||
public HighVoltageStationPageVM()
|
||||
{
|
||||
DoorValveHotControlVm = new BinaryValveControlVM();
|
||||
TestChamberHotValveVm = new BinaryValveControlVM();
|
||||
TempSPHotVm = new AnalogValueVM();
|
||||
[ObservableProperty]
|
||||
private AnalogValueVM tempSPColdVm;
|
||||
|
||||
DoorValveColdControlVm = new BinaryValveControlVM();
|
||||
TestChamberColdValveVm = new BinaryValveControlVM();
|
||||
TempSPColdVm = new AnalogValueVM();
|
||||
}
|
||||
public HighVoltageStationPageVM()
|
||||
{
|
||||
DoorValveHotControlVm = new BinaryValveControlVM();
|
||||
TestChamberHotValveVm = new BinaryValveControlVM();
|
||||
TempSPHotVm = new AnalogValueVM();
|
||||
|
||||
public HighVoltageStationPageVM(IAdsManager adsManager, string variableName)
|
||||
{
|
||||
_adsManager = adsManager;
|
||||
_variableName = variableName;
|
||||
DoorValveColdControlVm = new BinaryValveControlVM();
|
||||
TestChamberColdValveVm = new BinaryValveControlVM();
|
||||
TempSPColdVm = new AnalogValueVM();
|
||||
|
||||
DoorValveHotControlVm = new BinaryValveControlVM(_adsManager, "GVL_SCADA.stMachine.stHVTesterHot.stDoorValve");
|
||||
TestChamberHotValveVm = new BinaryValveControlVM(_adsManager, "GVL_SCADA.stMachine.stHVTesterHot.stTestChamberValve");
|
||||
TempSPHotVm = new AnalogValueVM(_adsManager, "GVL_SCADA.stMachine.stHVTesterHot.stTempSP", false);
|
||||
HighVoltageColdPackMLControlVm = new();
|
||||
HighVoltageHotPackMLControlVm = new();
|
||||
|
||||
DoorValveColdControlVm = new BinaryValveControlVM(_adsManager, "GVL_SCADA.stMachine.stHVTesterCold.stDoorValve");
|
||||
TestChamberColdValveVm = new BinaryValveControlVM(_adsManager, "GVL_SCADA.stMachine.stHVTesterCold.stTestChamberValve");
|
||||
TempSPColdVm = new AnalogValueVM(_adsManager, "GVL_SCADA.stMachine.stHVTesterCold.stTempSP", false);
|
||||
HighVoltageColdPackMLControlVm.STitle = "Hochvoltstation\nKalt";
|
||||
|
||||
}
|
||||
HighVoltageHotPackMLControlVm.STitle = "Hochvoltstation\nHeiß";
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
DoorValveHotControlVm.Dispose();
|
||||
TestChamberHotValveVm.Dispose();
|
||||
TempSPHotVm.Dispose();
|
||||
DoorValveColdControlVm.Dispose();
|
||||
TestChamberColdValveVm.Dispose();
|
||||
TempSPColdVm.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
public HighVoltageStationPageVM(IAdsManager adsManager, string variableName)
|
||||
{
|
||||
_adsManager = adsManager;
|
||||
_variableName = variableName;
|
||||
|
||||
DoorValveHotControlVm = new BinaryValveControlVM(_adsManager, _variableName + "Hot.stDoorValve");
|
||||
TestChamberHotValveVm = new BinaryValveControlVM(_adsManager, _variableName + "Hot.stTestChamberValve");
|
||||
TempSPHotVm = new AnalogValueVM(_adsManager, _variableName + "Hot.stTempSP", false);
|
||||
|
||||
DoorValveColdControlVm = new BinaryValveControlVM(_adsManager, _variableName + "Cold.stDoorValve");
|
||||
TestChamberColdValveVm = new BinaryValveControlVM(_adsManager, _variableName + "Cold.stTestChamberValve");
|
||||
TempSPColdVm = new AnalogValueVM(_adsManager, _variableName + "Cold.stTempSP", false);
|
||||
|
||||
HighVoltageColdPackMLControlVm = new(_adsManager, _variableName + "Cold.stStationCmds");
|
||||
HighVoltageHotPackMLControlVm = new(_adsManager, _variableName + "Hot.stStationCmds");
|
||||
|
||||
HighVoltageColdPackMLControlVm.STitle = "Hochvoltstation\nKalt";
|
||||
|
||||
HighVoltageHotPackMLControlVm.STitle = "Hochvoltstation\nHeiß";
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
DoorValveHotControlVm.Dispose();
|
||||
TestChamberHotValveVm.Dispose();
|
||||
TempSPHotVm.Dispose();
|
||||
DoorValveColdControlVm.Dispose();
|
||||
TestChamberColdValveVm.Dispose();
|
||||
TempSPColdVm.Dispose();
|
||||
}
|
||||
}
|
||||
@@ -8,401 +8,417 @@ using System.Collections.ObjectModel;
|
||||
|
||||
using InfineonHMI.Model;
|
||||
using System.Windows;
|
||||
namespace InfineonHMI
|
||||
using Common;
|
||||
|
||||
namespace InfineonHMI;
|
||||
|
||||
public sealed partial class HotCoolPlatePageVM : ObservableValidator, IDisposable
|
||||
{
|
||||
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 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 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 IAdsManager? _adsManager;
|
||||
|
||||
private readonly string? _variableName;
|
||||
private readonly string? _variableName;
|
||||
|
||||
[ObservableProperty]
|
||||
private AnalogValueVM hotPlateTargetTemperature;
|
||||
[ObservableProperty] private PackMLControlVM? hotplatePackMLControlVm;
|
||||
[ObservableProperty] private PackMLControlVM? coolplatePackMLControlVm;
|
||||
|
||||
[ObservableProperty]
|
||||
private AnalogValueVM hotPlateActualTemperature;
|
||||
|
||||
[ObservableProperty] private HMIControlButtonVM? enableHotPlateButtonVm;
|
||||
[ObservableProperty]
|
||||
private AnalogValueVM hotPlateTargetTemperature;
|
||||
|
||||
[ObservableProperty] private HMIControlButtonVM? disableHotPlateButtonVm;
|
||||
[ObservableProperty]
|
||||
private AnalogValueVM hotPlateActualTemperature;
|
||||
|
||||
[ObservableProperty]
|
||||
private AnalogValueVM coolPlateTargetTemperature;
|
||||
[ObservableProperty] private HMIControlButtonVM? enableHotPlateButtonVm;
|
||||
|
||||
[ObservableProperty]
|
||||
private AnalogValueVM coolPlateActualTemperature;
|
||||
[ObservableProperty] private HMIControlButtonVM? disableHotPlateButtonVm;
|
||||
|
||||
[ObservableProperty] private HMIControlButtonVM? enableCoolPlateButtonVm;
|
||||
[ObservableProperty]
|
||||
private AnalogValueVM coolPlateTargetTemperature;
|
||||
|
||||
[ObservableProperty] private HMIControlButtonVM? disableCoolPlateButtonVm;
|
||||
[ObservableProperty]
|
||||
private AnalogValueVM coolPlateActualTemperature;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility1;
|
||||
[ObservableProperty] private HMIControlButtonVM? enableCoolPlateButtonVm;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility2;
|
||||
[ObservableProperty] private HMIControlButtonVM? disableCoolPlateButtonVm;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility3;
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility1;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility2;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility3;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility4;
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility4;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility5;
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility5;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility6;
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility6;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility7;
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility7;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility8;
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility8;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility9;
|
||||
[ObservableProperty]
|
||||
private Visibility hotPlateVisibility9;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility1;
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility1;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility2;
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility2;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility3;
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility3;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility4;
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility4;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility5;
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility5;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility6;
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility6;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility7;
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility7;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility8;
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility8;
|
||||
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility9;
|
||||
[ObservableProperty]
|
||||
private Visibility coolPlateVisibility9;
|
||||
|
||||
public HotCoolPlatePageVM()
|
||||
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();
|
||||
CoolplatePackMLControlVm = new();
|
||||
|
||||
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)
|
||||
{
|
||||
EnableHotPlateButtonVm = new HMIControlButtonVM();
|
||||
DisableHotPlateButtonVm = new HMIControlButtonVM();
|
||||
|
||||
EnableCoolPlateButtonVm = new HMIControlButtonVM();
|
||||
DisableCoolPlateButtonVm = new HMIControlButtonVM();
|
||||
|
||||
HotPlateActualTemperature = new AnalogValueVM();
|
||||
HotPlateTargetTemperature = new AnalogValueVM();
|
||||
|
||||
CoolPlateActualTemperature = new AnalogValueVM();
|
||||
CoolPlateTargetTemperature = new AnalogValueVM();
|
||||
|
||||
|
||||
HotPlateVisibility1 = Visibility.Visible;
|
||||
}
|
||||
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, "GVL_SCADA.stMachine.stHotplate.stPV", true);
|
||||
CoolPlateActualTemperature = new AnalogValueVM(_adsManager, "GVL_SCADA.stMachine.stCoolplate.stPV", true);
|
||||
|
||||
HotPlateTargetTemperature = new AnalogValueVM(_adsManager, "GVL_SCADA.stMachine.stHotplate.stSetpoint", false);
|
||||
CoolPlateTargetTemperature = new AnalogValueVM(_adsManager, "GVL_SCADA.stMachine.stCoolplate.stSetpoint", false);
|
||||
|
||||
_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)
|
||||
else
|
||||
{
|
||||
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;
|
||||
}
|
||||
HotPlateVisibility1 = Visibility.Hidden;
|
||||
}
|
||||
private void HotplatePiece3Changed(object? sender, ValueChangedEventArgs e)
|
||||
}
|
||||
private void HotplatePiece2Changed(object? sender, ValueChangedEventArgs e)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
HotPlateVisibility3 = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
HotPlateVisibility3 = Visibility.Hidden;
|
||||
}
|
||||
HotPlateVisibility2 = Visibility.Visible;
|
||||
}
|
||||
private void HotplatePiece4Changed(object? sender, ValueChangedEventArgs e)
|
||||
else
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
HotPlateVisibility4 = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
HotPlateVisibility4 = Visibility.Hidden;
|
||||
}
|
||||
HotPlateVisibility2 = Visibility.Hidden;
|
||||
}
|
||||
private void HotplatePiece5Changed(object? sender, ValueChangedEventArgs e)
|
||||
}
|
||||
private void HotplatePiece3Changed(object? sender, ValueChangedEventArgs e)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
HotPlateVisibility5 = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
HotPlateVisibility5 = Visibility.Hidden;
|
||||
}
|
||||
HotPlateVisibility3 = Visibility.Visible;
|
||||
}
|
||||
private void HotplatePiece6Changed(object? sender, ValueChangedEventArgs e)
|
||||
else
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
HotPlateVisibility6 = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
HotPlateVisibility6 = Visibility.Hidden;
|
||||
}
|
||||
HotPlateVisibility3 = Visibility.Hidden;
|
||||
}
|
||||
private void HotplatePiece7Changed(object? sender, ValueChangedEventArgs e)
|
||||
}
|
||||
private void HotplatePiece4Changed(object? sender, ValueChangedEventArgs e)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
HotPlateVisibility7 = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
HotPlateVisibility7 = Visibility.Hidden;
|
||||
}
|
||||
HotPlateVisibility4 = Visibility.Visible;
|
||||
}
|
||||
private void HotplatePiece8Changed(object? sender, ValueChangedEventArgs e)
|
||||
else
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
HotPlateVisibility8 = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
HotPlateVisibility8 = Visibility.Hidden;
|
||||
}
|
||||
HotPlateVisibility4 = Visibility.Hidden;
|
||||
}
|
||||
private void HotplatePiece9Changed(object? sender, ValueChangedEventArgs e)
|
||||
}
|
||||
private void HotplatePiece5Changed(object? sender, ValueChangedEventArgs e)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
HotPlateVisibility9 = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
HotPlateVisibility9 = Visibility.Hidden;
|
||||
}
|
||||
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)
|
||||
private void CoolplatePiece1Changed(object? sender, ValueChangedEventArgs e)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
CoolPlateVisibility1 = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
CoolPlateVisibility1 = Visibility.Hidden;
|
||||
}
|
||||
CoolPlateVisibility1 = Visibility.Visible;
|
||||
}
|
||||
private void CoolplatePiece2Changed(object? sender, ValueChangedEventArgs e)
|
||||
else
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
CoolPlateVisibility2 = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
CoolPlateVisibility2 = Visibility.Hidden;
|
||||
}
|
||||
CoolPlateVisibility1 = Visibility.Hidden;
|
||||
}
|
||||
private void CoolplatePiece3Changed(object? sender, ValueChangedEventArgs e)
|
||||
}
|
||||
private void CoolplatePiece2Changed(object? sender, ValueChangedEventArgs e)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
CoolPlateVisibility3 = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
CoolPlateVisibility3 = Visibility.Hidden;
|
||||
}
|
||||
CoolPlateVisibility2 = Visibility.Visible;
|
||||
}
|
||||
private void CoolplatePiece4Changed(object? sender, ValueChangedEventArgs e)
|
||||
else
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
CoolPlateVisibility4 = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
CoolPlateVisibility4 = Visibility.Hidden;
|
||||
}
|
||||
CoolPlateVisibility2 = Visibility.Hidden;
|
||||
}
|
||||
private void CoolplatePiece5Changed(object? sender, ValueChangedEventArgs e)
|
||||
}
|
||||
private void CoolplatePiece3Changed(object? sender, ValueChangedEventArgs e)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
CoolPlateVisibility5 = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
CoolPlateVisibility5 = Visibility.Hidden;
|
||||
}
|
||||
CoolPlateVisibility3 = Visibility.Visible;
|
||||
}
|
||||
private void CoolplatePiece6Changed(object? sender, ValueChangedEventArgs e)
|
||||
else
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
CoolPlateVisibility6 = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
CoolPlateVisibility6 = Visibility.Hidden;
|
||||
}
|
||||
CoolPlateVisibility3 = Visibility.Hidden;
|
||||
}
|
||||
private void CoolplatePiece7Changed(object? sender, ValueChangedEventArgs e)
|
||||
}
|
||||
private void CoolplatePiece4Changed(object? sender, ValueChangedEventArgs e)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
CoolPlateVisibility7 = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
CoolPlateVisibility7 = Visibility.Hidden;
|
||||
}
|
||||
CoolPlateVisibility4 = Visibility.Visible;
|
||||
}
|
||||
private void CoolplatePiece8Changed(object? sender, ValueChangedEventArgs e)
|
||||
else
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
CoolPlateVisibility8 = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
CoolPlateVisibility8 = Visibility.Hidden;
|
||||
}
|
||||
CoolPlateVisibility4 = Visibility.Hidden;
|
||||
}
|
||||
private void CoolplatePiece9Changed(object? sender, ValueChangedEventArgs e)
|
||||
}
|
||||
private void CoolplatePiece5Changed(object? sender, ValueChangedEventArgs e)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
if ((bool)e.Value)
|
||||
{
|
||||
CoolPlateVisibility9 = Visibility.Visible;
|
||||
}
|
||||
else
|
||||
{
|
||||
CoolPlateVisibility9 = Visibility.Hidden;
|
||||
}
|
||||
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();
|
||||
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);
|
||||
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);
|
||||
_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);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,6 +6,8 @@ using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using Common;
|
||||
using InfineonHMI.Common;
|
||||
using TcEventLoggerAdsProxyLib;
|
||||
|
||||
namespace InfineonHMI;
|
||||
@@ -17,12 +19,63 @@ public sealed partial class MachineOverviewPageVM : ObservableObject, IRecipient
|
||||
|
||||
[ObservableProperty] private Page currentDetailPage;
|
||||
|
||||
|
||||
[ObservableProperty] private PackMLControlVM machinePackMLControlVM;
|
||||
|
||||
public bool CanUserChangePageAlignment
|
||||
{
|
||||
get { return currentUser.UserLevel > 50; }
|
||||
}
|
||||
|
||||
public bool CanUserChangePageEtching1
|
||||
{
|
||||
get { return currentUser.UserLevel > 50; }
|
||||
}
|
||||
public bool CanUserChangePageEtching2
|
||||
{
|
||||
get { return currentUser.UserLevel > 50; }
|
||||
}
|
||||
public bool CanUserChangePageHighVoltage
|
||||
{
|
||||
get { return currentUser.UserLevel > 50; }
|
||||
}
|
||||
public bool CanUserChangePageHotCoolplate
|
||||
{
|
||||
get { return currentUser.UserLevel > 50; }
|
||||
}
|
||||
public bool CanUserChangePageKukaRobot
|
||||
{
|
||||
get { return currentUser.UserLevel > 50; }
|
||||
}
|
||||
public bool CanUserChangePageMediaCabinet
|
||||
{
|
||||
get { return currentUser.UserLevel > 50; }
|
||||
}
|
||||
public bool CanUserChangePageNIOStation
|
||||
{
|
||||
get { return currentUser.UserLevel > 50; }
|
||||
}
|
||||
public bool CanUserChangePageProductionOverview
|
||||
{
|
||||
get { return currentUser.UserLevel > 50; }
|
||||
}
|
||||
public bool CanUserChangePageReceipe
|
||||
{
|
||||
get { return currentUser.UserLevel == 100; }
|
||||
}
|
||||
public bool CanUserChangePageTrayFeeder
|
||||
{
|
||||
get { return currentUser.UserLevel > 50; }
|
||||
}
|
||||
public bool CanUserChangeMachineState
|
||||
{
|
||||
get { return currentUser.UserLevel > 50; }
|
||||
}
|
||||
|
||||
|
||||
private readonly IAdsManager _adsManager;
|
||||
private readonly IConfiguration _config;
|
||||
|
||||
|
||||
private User currentUser;
|
||||
// Last active event
|
||||
[ObservableProperty] private string currentActiveEvent = "";
|
||||
|
||||
@@ -60,6 +113,10 @@ public sealed partial class MachineOverviewPageVM : ObservableObject, IRecipient
|
||||
public MachineOverviewPageVM()
|
||||
{
|
||||
// default ctor
|
||||
MachinePackMLControlVM = new();
|
||||
MachinePackMLControlVM.STitle = "Betriebszustand\n Gesamtanlage";
|
||||
|
||||
currentUser = Users.getCurrentUser();
|
||||
}
|
||||
public MachineOverviewPageVM(IAdsManager adsManager, IConfiguration config,MainWindowVM mainVm, ProductionOverviewPageVM prodVm, TcEventLogger eventLogger)
|
||||
{
|
||||
@@ -70,6 +127,10 @@ public sealed partial class MachineOverviewPageVM : ObservableObject, IRecipient
|
||||
// Create dummy string
|
||||
DummyStringVM = new StringControlButtonVM();
|
||||
|
||||
currentUser = Users.getCurrentUser();
|
||||
MachinePackMLControlVM = new(_adsManager, "GVL_SCADA.stMachine.stMachineCmds");
|
||||
|
||||
MachinePackMLControlVM.STitle = "Betriebszustand\n Gesamtanlage";
|
||||
// Create empty page
|
||||
_emptyPage = new();
|
||||
|
||||
@@ -79,6 +140,22 @@ public sealed partial class MachineOverviewPageVM : ObservableObject, IRecipient
|
||||
|
||||
WeakReferenceMessenger.Default.Register<NavigateMessage>(this);
|
||||
|
||||
//CanUserChangePageAlignment = currentUser.UserLevel > 50;
|
||||
//CanUserChangePageEtching1 = currentUser.UserLevel > 50;
|
||||
//CanUserChangePageEtching2 = currentUser.UserLevel > 50;
|
||||
//CanUserChangePageHighVoltage = currentUser.UserLevel > 50;
|
||||
//CanUserChangePageHotCoolplate = currentUser.UserLevel > 50;
|
||||
//CanUserChangePageKukaRobot = currentUser.UserLevel > 50;
|
||||
//CanUserChangePageMediaCabinet = currentUser.UserLevel > 50;
|
||||
//CanUserChangePageNIOStation = currentUser.UserLevel > 50;
|
||||
//CanUserChangePageProductionOverview = currentUser.UserLevel > 50;
|
||||
//CanUserChangePageReceipe = currentUser.UserLevel == 100;
|
||||
//CanUserChangePageTrayFeeder = currentUser.UserLevel > 50;
|
||||
//CanUserChangeMachineState = currentUser.UserLevel > 50;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -202,56 +279,56 @@ public sealed partial class MachineOverviewPageVM : ObservableObject, IRecipient
|
||||
{
|
||||
case nameof(TrayFeederPage):
|
||||
if (_trayFeederPageVm == null)
|
||||
_trayFeederPageVm = new(_adsManager, "GVL_CONFIG.stMachine");
|
||||
_trayFeederPageVm = new(_adsManager, "GVL_SCADA.stMachine.TrayFeeder"); //In and Out ist set directly in ViewModel
|
||||
|
||||
TrayFeederPage trayFeederPage = new() { DataContext = _trayFeederPageVm };
|
||||
TrayFeederPage trayFeederPage = new() { DataContext = _trayFeederPageVm };
|
||||
CurrentDetailPage = trayFeederPage;
|
||||
break;
|
||||
|
||||
case nameof(AlignmentStationPage):
|
||||
// Create seetings page view model only once
|
||||
if (_alignmentStationPageVM == null)
|
||||
_alignmentStationPageVM = new(_adsManager, "GVL_CONFIG.stMachine.stAligner");
|
||||
|
||||
AlignmentStationPage settingsPage = new() { DataContext = _alignmentStationPageVM };
|
||||
_alignmentStationPageVM = new(_adsManager, "GVL_SCADA.stMachine.stAligner");
|
||||
|
||||
AlignmentStationPage settingsPage = new() { DataContext = _alignmentStationPageVM };
|
||||
CurrentDetailPage = settingsPage;
|
||||
break;
|
||||
|
||||
case nameof(EtchingStation1Page):
|
||||
if (_etchingStation1PageVm == null)
|
||||
_etchingStation1PageVm = new(_adsManager, "GVL_CONFIG.stMachine.stEtcher1");
|
||||
_etchingStation1PageVm = new(_adsManager, "GVL_SCADA.stMachine.stEtcher1");
|
||||
|
||||
EtchingStation1Page etchingStation1Page = new() { DataContext = _etchingStation1PageVm };
|
||||
EtchingStation1Page etchingStation1Page = new() { DataContext = _etchingStation1PageVm };
|
||||
CurrentDetailPage = etchingStation1Page;
|
||||
break;
|
||||
|
||||
case nameof(EtchingStation2Page):
|
||||
if (_etchingStation2PageVm == null)
|
||||
_etchingStation2PageVm = new(_adsManager, "GVL_CONFIG.stMachine.stEtcher2");
|
||||
_etchingStation2PageVm = new(_adsManager, "GVL_SCADA.stMachine.stEtcher2");
|
||||
|
||||
EtchingStation2Page etchingStation2Page = new() { DataContext = _etchingStation2PageVm };
|
||||
EtchingStation2Page etchingStation2Page = new() { DataContext = _etchingStation2PageVm };
|
||||
CurrentDetailPage = etchingStation2Page;
|
||||
break;
|
||||
|
||||
case nameof(HighVoltageStationPage):
|
||||
if (_highVoltageStationPageVm == null)
|
||||
_highVoltageStationPageVm = new(_adsManager, "GVL_CONFIG.stMachine");
|
||||
_highVoltageStationPageVm = new(_adsManager, "GVL_SCADA.stMachine.stHVTester"); // Hot/Cold is Set directly in VM
|
||||
|
||||
HighVoltageStationPage highVoltageStationPage = new() { DataContext = _highVoltageStationPageVm };
|
||||
HighVoltageStationPage highVoltageStationPage = new() { DataContext = _highVoltageStationPageVm };
|
||||
CurrentDetailPage = highVoltageStationPage;
|
||||
break;
|
||||
|
||||
case nameof(HotCoolPlatePage):
|
||||
if (_hotCoolplatePageVM == null)
|
||||
_hotCoolplatePageVM = new(_adsManager, "GVL_Config.stMachine");
|
||||
_hotCoolplatePageVM = new(_adsManager, "GVL_SCADA.stMachine"); //".stHotplate /.stCoolplate is set directly in VM
|
||||
|
||||
HotCoolPlatePage hotCoolPlatePage = new() {DataContext = _hotCoolplatePageVM };
|
||||
HotCoolPlatePage hotCoolPlatePage = new() {DataContext = _hotCoolplatePageVM };
|
||||
CurrentDetailPage = hotCoolPlatePage;
|
||||
break;
|
||||
|
||||
case nameof(NIOStationPage):
|
||||
if (_nioStationPageVm == null)
|
||||
_nioStationPageVm = new(_adsManager, "GVL_Config.stMachine.stNOK");
|
||||
_nioStationPageVm = new(_adsManager, "GVL_SCADA.stMachine.stNOK");
|
||||
|
||||
NIOStationPage nIOStationPage = new() { DataContext = _nioStationPageVm };
|
||||
CurrentDetailPage = nIOStationPage;
|
||||
@@ -260,17 +337,17 @@ public sealed partial class MachineOverviewPageVM : ObservableObject, IRecipient
|
||||
case nameof(KukaRobotPage):
|
||||
// Create page view model only once
|
||||
if (_kukaRobotPageVM == null)
|
||||
_kukaRobotPageVM = new(_adsManager, "GVL_CONFIG.stMachine.stKukaRobot");
|
||||
_kukaRobotPageVM = new(_adsManager); // Variablenames are set directly in Viewmodel
|
||||
|
||||
KukaRobotPage kukaRobotPage = new() { DataContext = _kukaRobotPageVM };
|
||||
KukaRobotPage kukaRobotPage = new() { DataContext = _kukaRobotPageVM };
|
||||
CurrentDetailPage = kukaRobotPage;
|
||||
break;
|
||||
|
||||
case nameof(MediaCabinetPage):
|
||||
if (_mediaCabinetPageVM == null)
|
||||
_mediaCabinetPageVM = new(_adsManager, "GVL_Config.stMachine");
|
||||
_mediaCabinetPageVM = new(_adsManager, "GVL_SCADA.stMachine.stMediaCabinet"); //TODO not Implemented on PLC yet
|
||||
|
||||
MediaCabinetPage mediaCabinetPage = new() { DataContext= _mediaCabinetPageVM };
|
||||
MediaCabinetPage mediaCabinetPage = new() { DataContext= _mediaCabinetPageVM };
|
||||
CurrentDetailPage = mediaCabinetPage;
|
||||
break;
|
||||
|
||||
|
||||
@@ -8,74 +8,90 @@ using System.Collections.ObjectModel;
|
||||
using Common;
|
||||
using InfineonHMI.Model;
|
||||
|
||||
namespace InfineonHMI
|
||||
namespace InfineonHMI;
|
||||
|
||||
public sealed partial class MediaCabinetPageVM : ObservableValidator, IDisposable
|
||||
{
|
||||
public sealed partial class MediaCabinetPageVM : ObservableValidator, IDisposable
|
||||
{
|
||||
|
||||
private IAdsManager _adsManager;
|
||||
private string? _variableName;
|
||||
private IAdsManager _adsManager;
|
||||
private string? _variableName;
|
||||
|
||||
[ObservableProperty] private MediaContainerVm container1Vm;
|
||||
[ObservableProperty] private MediaContainerVm container2Vm;
|
||||
[ObservableProperty] private MediaContainerVm container3Vm;
|
||||
[ObservableProperty] private MediaContainerVm container4Vm;
|
||||
[ObservableProperty] private MediaContainerVm container5Vm;
|
||||
[ObservableProperty] private MediaContainerVm container6Vm;
|
||||
[ObservableProperty] private MediaContainerVm container7Vm;
|
||||
[ObservableProperty] private MediaContainerVm container8Vm;
|
||||
[ObservableProperty] private MediaContainerVm container9Vm;
|
||||
[ObservableProperty] private MediaContainerVm container1Vm;
|
||||
[ObservableProperty] private MediaContainerVm container2Vm;
|
||||
[ObservableProperty] private MediaContainerVm container3Vm;
|
||||
[ObservableProperty] private MediaContainerVm container4Vm;
|
||||
[ObservableProperty] private MediaContainerVm container5Vm;
|
||||
[ObservableProperty] private MediaContainerVm container6Vm;
|
||||
[ObservableProperty] private MediaContainerVm container7Vm;
|
||||
[ObservableProperty] private MediaContainerVm container8Vm;
|
||||
[ObservableProperty] private MediaContainerVm container9Vm;
|
||||
[ObservableProperty] private MediaContainerVm container10Vm;
|
||||
[ObservableProperty] private MediaContainerVm container11Vm;
|
||||
[ObservableProperty] private MediaContainerVm container12Vm;
|
||||
|
||||
|
||||
public MediaCabinetPageVM(IAdsManager adsManager, string variableName)
|
||||
{
|
||||
_adsManager = adsManager;
|
||||
_variableName = variableName;
|
||||
public MediaCabinetPageVM(IAdsManager adsManager, string variableName)
|
||||
{
|
||||
_adsManager = adsManager;
|
||||
_variableName = variableName;
|
||||
|
||||
Container1Vm = new MediaContainerVm(adsManager, variableName + ".stContainer1");
|
||||
Container2Vm = new MediaContainerVm(adsManager, variableName + ".stContainer2");
|
||||
Container3Vm = new MediaContainerVm(adsManager, variableName + ".stContainer3");
|
||||
Container4Vm = new MediaContainerVm(adsManager, variableName + ".stContainer4");
|
||||
Container5Vm = new MediaContainerVm(adsManager, variableName + ".stContainer5");
|
||||
Container6Vm = new MediaContainerVm(adsManager, variableName + ".stContainer6");
|
||||
Container7Vm = new MediaContainerVm(adsManager, variableName + ".stContainer7");
|
||||
Container8Vm = new MediaContainerVm(adsManager, variableName + ".stContainer8");
|
||||
Container9Vm = new MediaContainerVm(adsManager, variableName + ".stContainer9");
|
||||
Container1Vm = new MediaContainerVm(adsManager, variableName + ".stContainer1");
|
||||
Container2Vm = new MediaContainerVm(adsManager, variableName + ".stContainer2");
|
||||
Container3Vm = new MediaContainerVm(adsManager, variableName + ".stContainer3");
|
||||
Container4Vm = new MediaContainerVm(adsManager, variableName + ".stContainer4");
|
||||
Container5Vm = new MediaContainerVm(adsManager, variableName + ".stContainer5");
|
||||
Container6Vm = new MediaContainerVm(adsManager, variableName + ".stContainer6");
|
||||
Container7Vm = new MediaContainerVm(adsManager, variableName + ".stContainer7");
|
||||
Container8Vm = new MediaContainerVm(adsManager, variableName + ".stContainer8");
|
||||
Container9Vm = new MediaContainerVm(adsManager, variableName + ".stContainer9");
|
||||
Container10Vm = new MediaContainerVm(adsManager, variableName + ".stContainer10");
|
||||
Container11Vm = new MediaContainerVm(adsManager, variableName + ".stContainer11");
|
||||
Container12Vm = new MediaContainerVm(adsManager, variableName + ".stContainer12");
|
||||
|
||||
Container1Vm.SName = "Container1";
|
||||
Container2Vm.SName = "Container2";
|
||||
Container3Vm.SName = "Container3";
|
||||
Container4Vm.SName = "Container4";
|
||||
Container5Vm.SName = "Container5";
|
||||
Container6Vm.SName = "Container6";
|
||||
Container7Vm.SName = "Container7";
|
||||
Container8Vm.SName = "Container8";
|
||||
Container9Vm.SName = "Container9";
|
||||
|
||||
}
|
||||
|
||||
public MediaCabinetPageVM()
|
||||
{
|
||||
Container1Vm = new MediaContainerVm();
|
||||
Container2Vm = new MediaContainerVm();
|
||||
Container3Vm = new MediaContainerVm();
|
||||
Container4Vm = new MediaContainerVm();
|
||||
Container5Vm = new MediaContainerVm();
|
||||
Container6Vm = new MediaContainerVm();
|
||||
Container7Vm = new MediaContainerVm();
|
||||
Container8Vm = new MediaContainerVm();
|
||||
Container9Vm = new MediaContainerVm();
|
||||
Container1Vm.SName = "Container1";
|
||||
Container2Vm.SName = "Container2";
|
||||
Container3Vm.SName = "Container3";
|
||||
Container4Vm.SName = "Container4";
|
||||
Container5Vm.SName = "Container5";
|
||||
Container6Vm.SName = "Container6";
|
||||
Container7Vm.SName = "Container7";
|
||||
Container8Vm.SName = "Container8";
|
||||
Container9Vm.SName = "Container9";
|
||||
Container10Vm.SName = "Container10";
|
||||
Container11Vm.SName = "Container11";
|
||||
Container12Vm.SName = "Container12";
|
||||
|
||||
|
||||
Container1Vm.SName = "Container1";
|
||||
Container2Vm.SName = "Container2";
|
||||
Container3Vm.SName = "Container3";
|
||||
Container4Vm.SName = "Container4";
|
||||
Container5Vm.SName = "Container5";
|
||||
Container6Vm.SName = "Container6";
|
||||
Container7Vm.SName = "Container7";
|
||||
Container8Vm.SName = "Container8";
|
||||
Container9Vm.SName = "Container9";
|
||||
}
|
||||
|
||||
public MediaCabinetPageVM()
|
||||
{
|
||||
Container1Vm = new MediaContainerVm();
|
||||
Container2Vm = new MediaContainerVm();
|
||||
Container3Vm = new MediaContainerVm();
|
||||
Container4Vm = new MediaContainerVm();
|
||||
Container5Vm = new MediaContainerVm();
|
||||
Container6Vm = new MediaContainerVm();
|
||||
Container7Vm = new MediaContainerVm();
|
||||
Container8Vm = new MediaContainerVm();
|
||||
Container9Vm = new MediaContainerVm();
|
||||
Container10Vm = new MediaContainerVm();
|
||||
Container11Vm = new MediaContainerVm();
|
||||
Container12Vm = new MediaContainerVm();
|
||||
|
||||
|
||||
Container1Vm.SName = "Container1";
|
||||
Container2Vm.SName = "Container2";
|
||||
Container3Vm.SName = "Container3";
|
||||
Container4Vm.SName = "Container4";
|
||||
Container5Vm.SName = "Container5";
|
||||
Container6Vm.SName = "Container6";
|
||||
Container7Vm.SName = "Container7";
|
||||
Container8Vm.SName = "Container8";
|
||||
Container9Vm.SName = "Container9";
|
||||
Container10Vm.SName = "Container10";
|
||||
Container11Vm.SName = "Container11";
|
||||
Container12Vm.SName = "Container12";
|
||||
|
||||
|
||||
|
||||
@@ -85,24 +101,26 @@ namespace InfineonHMI
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
public void Dispose()
|
||||
{
|
||||
|
||||
Container1Vm.Dispose();
|
||||
Container2Vm.Dispose();
|
||||
Container3Vm.Dispose();
|
||||
Container4Vm.Dispose();
|
||||
Container5Vm.Dispose();
|
||||
Container6Vm.Dispose();
|
||||
Container7Vm.Dispose();
|
||||
Container8Vm.Dispose();
|
||||
Container9Vm.Dispose();
|
||||
Container1Vm.Dispose();
|
||||
Container2Vm.Dispose();
|
||||
Container3Vm.Dispose();
|
||||
Container4Vm.Dispose();
|
||||
Container5Vm.Dispose();
|
||||
Container6Vm.Dispose();
|
||||
Container7Vm.Dispose();
|
||||
Container8Vm.Dispose();
|
||||
Container9Vm.Dispose();
|
||||
Container10Vm.Dispose();
|
||||
Container11Vm.Dispose();
|
||||
Container12Vm.Dispose();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,55 +5,62 @@ using Heisig.HMI.AdsManager;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using TwinCAT.TypeSystem;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
using Common;
|
||||
using InfineonHMI.Model;
|
||||
namespace InfineonHMI
|
||||
namespace InfineonHMI;
|
||||
|
||||
public sealed partial class NIOStationPageVM : ObservableValidator, IDisposable
|
||||
{
|
||||
public sealed partial class NIOStationPageVM : ObservableValidator, IDisposable
|
||||
{
|
||||
|
||||
|
||||
private readonly string? _variableName;
|
||||
private readonly string? _variableName;
|
||||
|
||||
private readonly IAdsManager? _adsManager;
|
||||
private readonly IAdsManager? _adsManager;
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM clampDiagValveVm;
|
||||
[ObservableProperty] private BinaryValveControlVM clampDiagValveVm;
|
||||
|
||||
[ObservableProperty] private BinaryValveControlVM clampAcrossValveVm;
|
||||
[ObservableProperty] private BinaryValveControlVM clampAcrossValveVm;
|
||||
|
||||
[ObservableProperty] private HMIControlButtonVM clampCmdButtonVm;
|
||||
[ObservableProperty] private HMIControlButtonVM clampCmdButtonVm;
|
||||
|
||||
[ObservableProperty] private HMIControlButtonVM unclampCmdButtonVm;
|
||||
[ObservableProperty] private HMIControlButtonVM unclampCmdButtonVm;
|
||||
|
||||
public NIOStationPageVM()
|
||||
{
|
||||
ClampDiagValveVm = new BinaryValveControlVM();
|
||||
ClampAcrossValveVm = new BinaryValveControlVM();
|
||||
ClampCmdButtonVm = new HMIControlButtonVM();
|
||||
UnclampCmdButtonVm = new HMIControlButtonVM();
|
||||
}
|
||||
|
||||
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");
|
||||
[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 void Dispose()
|
||||
{
|
||||
ClampDiagValveVm.Dispose();
|
||||
ClampAcrossValveVm.Dispose();
|
||||
ClampCmdButtonVm.Dispose();
|
||||
UnclampCmdButtonVm.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using InfineonHMI.Common;
|
||||
using TcEventLoggerAdsProxyLib;
|
||||
|
||||
namespace InfineonHMI;
|
||||
@@ -22,7 +23,8 @@ public sealed partial class ProductionOverviewPageVM : ObservableObject, IRecipi
|
||||
private readonly IAdsManager _adsManager;
|
||||
private readonly IConfiguration _config;
|
||||
private readonly TcEventLogger _eventlogger;
|
||||
|
||||
|
||||
private User currentUser;
|
||||
|
||||
// Last active event
|
||||
[ObservableProperty] private string currentActiveEvent = "";
|
||||
@@ -60,6 +62,7 @@ public sealed partial class ProductionOverviewPageVM : ObservableObject, IRecipi
|
||||
public ProductionOverviewPageVM()
|
||||
{
|
||||
// default ctor
|
||||
currentUser = Users.getCurrentUser();
|
||||
}
|
||||
public ProductionOverviewPageVM(IAdsManager adsManager, IConfiguration config, TcEventLogger eventLogger, NavigateMessage? message = null)
|
||||
{
|
||||
@@ -67,7 +70,7 @@ public sealed partial class ProductionOverviewPageVM : ObservableObject, IRecipi
|
||||
_config = config;
|
||||
// Create dummy string
|
||||
DummyStringVM = new StringControlButtonVM();
|
||||
|
||||
currentUser = Users.getCurrentUser();
|
||||
// Create empty page
|
||||
_emptyPage = new();
|
||||
|
||||
@@ -209,7 +212,7 @@ public sealed partial class ProductionOverviewPageVM : ObservableObject, IRecipi
|
||||
{
|
||||
case nameof(TrayFeederPage):
|
||||
if (_trayFeederPageVm == null)
|
||||
_trayFeederPageVm = new(_adsManager, "GVL_CONFIG.stMachine");
|
||||
_trayFeederPageVm = new(_adsManager, "GVL_SCADA.stMachine.TrayFeeder"); //In and Out ist set directly in ViewModel
|
||||
|
||||
TrayFeederPage trayFeederPage = new() { DataContext = _trayFeederPageVm };
|
||||
CurrentDetailPage = trayFeederPage;
|
||||
@@ -218,7 +221,7 @@ public sealed partial class ProductionOverviewPageVM : ObservableObject, IRecipi
|
||||
case nameof(AlignmentStationPage):
|
||||
// Create seetings page view model only once
|
||||
if (_alignmentStationPageVM == null)
|
||||
_alignmentStationPageVM = new(_adsManager, "GVL_CONFIG.stMachine.stAligner");
|
||||
_alignmentStationPageVM = new(_adsManager, "GVL_SCADA.stMachine.stAligner");
|
||||
|
||||
AlignmentStationPage settingsPage = new() { DataContext = _alignmentStationPageVM };
|
||||
CurrentDetailPage = settingsPage;
|
||||
@@ -226,7 +229,7 @@ public sealed partial class ProductionOverviewPageVM : ObservableObject, IRecipi
|
||||
|
||||
case nameof(EtchingStation1Page):
|
||||
if (_etchingStation1PageVm == null)
|
||||
_etchingStation1PageVm = new(_adsManager, "GVL_CONFIG.stMachine.stEtcher1");
|
||||
_etchingStation1PageVm = new(_adsManager, "GVL_SCADA.stMachine.stEtcher1");
|
||||
|
||||
EtchingStation1Page etchingStation1Page = new() { DataContext = _etchingStation1PageVm };
|
||||
CurrentDetailPage = etchingStation1Page;
|
||||
@@ -234,7 +237,7 @@ public sealed partial class ProductionOverviewPageVM : ObservableObject, IRecipi
|
||||
|
||||
case nameof(EtchingStation2Page):
|
||||
if (_etchingStation2PageVm == null)
|
||||
_etchingStation2PageVm = new(_adsManager, "GVL_CONFIG.stMachine.stEtcher2");
|
||||
_etchingStation2PageVm = new(_adsManager, "GVL_SCADA.stMachine.stEtcher2");
|
||||
|
||||
EtchingStation2Page etchingStation2Page = new() { DataContext = _etchingStation2PageVm };
|
||||
CurrentDetailPage = etchingStation2Page;
|
||||
@@ -242,7 +245,7 @@ public sealed partial class ProductionOverviewPageVM : ObservableObject, IRecipi
|
||||
|
||||
case nameof(HighVoltageStationPage):
|
||||
if (_highVoltageStationPageVm == null)
|
||||
_highVoltageStationPageVm = new(_adsManager, "GVL_CONFIG.stMachine");
|
||||
_highVoltageStationPageVm = new(_adsManager, "GVL_SCADA.stMachine.stHVTester"); // Hot/Cold is Set directly in VM
|
||||
|
||||
HighVoltageStationPage highVoltageStationPage = new() { DataContext = _highVoltageStationPageVm };
|
||||
CurrentDetailPage = highVoltageStationPage;
|
||||
@@ -250,7 +253,7 @@ public sealed partial class ProductionOverviewPageVM : ObservableObject, IRecipi
|
||||
|
||||
case nameof(HotCoolPlatePage):
|
||||
if (_hotCoolplatePageVM == null)
|
||||
_hotCoolplatePageVM = new(_adsManager, "GVL_Config.stMachine");
|
||||
_hotCoolplatePageVM = new(_adsManager, "GVL_SCADA.stMachine"); //".stHotplate /.stCoolplate is set directly in VM
|
||||
|
||||
HotCoolPlatePage hotCoolPlatePage = new() {DataContext = _hotCoolplatePageVM };
|
||||
CurrentDetailPage = hotCoolPlatePage;
|
||||
@@ -258,7 +261,7 @@ public sealed partial class ProductionOverviewPageVM : ObservableObject, IRecipi
|
||||
|
||||
case nameof(NIOStationPage):
|
||||
if (_nioStationPageVm == null)
|
||||
_nioStationPageVm = new(_adsManager, "GVL_Config.stMachine.stNOK");
|
||||
_nioStationPageVm = new(_adsManager, "GVL_SCADA.stMachine.stNOK");
|
||||
|
||||
NIOStationPage nIOStationPage = new() { DataContext = _nioStationPageVm };
|
||||
CurrentDetailPage = nIOStationPage;
|
||||
@@ -267,7 +270,7 @@ public sealed partial class ProductionOverviewPageVM : ObservableObject, IRecipi
|
||||
case nameof(KukaRobotPage):
|
||||
// Create page view model only once
|
||||
if (_kukaRobotPageVM == null)
|
||||
_kukaRobotPageVM = new(_adsManager, "GVL_CONFIG.stMachine.stKukaRobot");
|
||||
_kukaRobotPageVM = new(_adsManager); // Variablenames are set directly in Viewmodel
|
||||
|
||||
KukaRobotPage kukaRobotPage = new() { DataContext = _kukaRobotPageVM };
|
||||
CurrentDetailPage = kukaRobotPage;
|
||||
@@ -275,7 +278,7 @@ public sealed partial class ProductionOverviewPageVM : ObservableObject, IRecipi
|
||||
|
||||
case nameof(MediaCabinetPage):
|
||||
if (_mediaCabinetPageVM == null)
|
||||
_mediaCabinetPageVM = new(_adsManager, "GVL_Config.stMachine");
|
||||
_mediaCabinetPageVM = new(_adsManager, "GVL_SCADA.stMachine.stMediaCabinet"); //TODO not Implemented on PLC yet
|
||||
|
||||
MediaCabinetPage mediaCabinetPage = new() { DataContext= _mediaCabinetPageVM };
|
||||
CurrentDetailPage = mediaCabinetPage;
|
||||
|
||||
@@ -413,6 +413,13 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
SendDataToPLC();
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
public void LoadFromPlc()
|
||||
{
|
||||
//ReadDataFromPLC();
|
||||
}
|
||||
|
||||
|
||||
[RelayCommand]
|
||||
public void ReadReceipeFile()
|
||||
{
|
||||
@@ -710,21 +717,21 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
|
||||
|
||||
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine", CameraProgramsVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine", ChucksVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine", GripperVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine", PermissibleBeamParamDeviationsVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine", DiameterVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine", ThicknessVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine", TimeIntervallBeamCheckVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.iCameraprograms", CameraProgramsVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.iChucks", ChucksVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.iGripper", GripperVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.rBeamDeviation", PermissibleBeamParamDeviationsVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.rDiameter", DiameterVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.rThickness", ThicknessVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.rTimeIntervalBeamCheck", TimeIntervallBeamCheckVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHotplate.rRestingTime", RestingTimeHotplateVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHotplate.rTemp", TargetTemperatureHotplateVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeCoolplate.rRestingTime", RestingTimeCoolplateVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeCoolplate.rTemp", TargetTemperatureCoolplateVm.Value);
|
||||
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stRecipeEtcher.uiNumRobotPos", NumberRobotPositionsVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stRecipeEtcher.rRadialPosLowerWaterJet", RadialPosLowerWaterJetVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stRecipeEtcher.rChuckRPM", ChuckRpmVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeEtcher.uiNumRobotPos", NumberRobotPositionsVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeEtcher.rRadialPosLowerWaterJet", RadialPosLowerWaterJetVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeEtcher.rChuckRPM", ChuckRpmVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rTestVoltage", HvtestVoltageVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rMaxTestCurrent", HvmaxTestCurrentVm.Value);
|
||||
_adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rRampTime", HvrampTimeVm.Value);
|
||||
@@ -739,6 +746,123 @@ public sealed partial class ReceipePageVM : ObservableValidator, IDisposable
|
||||
|
||||
}
|
||||
|
||||
|
||||
//private void ReadDataFromPLC()
|
||||
//{
|
||||
// var val = _adsManager.ReadValue("GVL_Scheduler.MAX_RECIPE_NODES");
|
||||
// maxFlowNodes = (val == null) ? 10 : (int)val; ;
|
||||
// val = _adsManager.ReadValue("GVL_ETCHER.MAX_ROBOT_POS");
|
||||
// maxEtcherRobotPositions = (val == null) ? 10 : (int)val;
|
||||
// val = _adsManager.ReadValue("GVL_ETCHER.MAX_ROBOT_POS");
|
||||
// maxTrayPositions = (val == null) ? 20 : (int)val;
|
||||
|
||||
// for (var i = 0; i < maxTrayPositions && i < TrayPositions.Count; i++)
|
||||
// {
|
||||
// TrayPositions[i].PosX = GetFloat(_adsManager.ReadValue("GVL_SCADA.stMachine.stTray.arPosX[" + i + "]"));
|
||||
// TrayPositions[i].PosY = GetFloat(_adsManager.ReadValue("GVL_SCADA.stMachine.stTray.arPosY[" + i + "]"));
|
||||
// }
|
||||
|
||||
// var trayPosCountToPlc = TrayPositions.Count < maxTrayPositions ? TrayPositions.Count : maxTrayPositions;
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stTray.iPosCnt", trayPosCountToPlc);
|
||||
|
||||
// for (var i = 0; i < maxEtcherRobotPositions && i < EtcherRobotSteps.Count; i++)
|
||||
// {
|
||||
// EtcherRobotSteps[i].PosX= GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rPosX"));
|
||||
// EtcherRobotSteps[i].PosY= GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rPosY"));
|
||||
// EtcherRobotSteps[i].PosZ= GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rPosZ"));
|
||||
// EtcherRobotSteps[i].AngleAlpha= GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rAngleAlpha"));
|
||||
// EtcherRobotSteps[i].MoveSpeed= GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rMoveSpeed"));
|
||||
// EtcherRobotSteps[i].Delay = GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rDelay"));
|
||||
// EtcherRobotSteps[i].Medium = GetUShort(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].uiMedium"));
|
||||
// EtcherRobotSteps[i].WaterFromBelow= GetShort(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].xWaterFromBelow"));
|
||||
// EtcherRobotSteps[i].WaterFromAbove = GetShort(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].xWaterFromAbove"));
|
||||
|
||||
|
||||
// GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rPosX"));
|
||||
// GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rPosY"));
|
||||
// GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rPosZ"));
|
||||
// GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rAngleAlpha"));
|
||||
// GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rMoveSpeed"));
|
||||
// GetFloat(_adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].rDelay"));
|
||||
// _adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].uiMedium"));
|
||||
// _adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].xWaterFromBelow"));
|
||||
// _adsManager.ReadValue("GVL_SCADA.stRecipeEtcher.stRobotStepData[" + i + "].xWaterFromAbove"));
|
||||
// }
|
||||
|
||||
|
||||
// for (var i = 0; (i < maxFlowNodes && i < FlowReceipeEntries.Count); i++)
|
||||
// {
|
||||
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterFlowRecipe.astNodes[" + i + "].uiPriority", FlowReceipeEntries[i].Priority);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterFlowRecipe.astNodes[" + i + "].uiPriority", FlowReceipeEntries[i].Station.eStation);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterFlowRecipe.astNodes[" + i + "].uiPriority", FlowReceipeEntries[i].MaxRetries);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterFlowRecipe.astNodes[" + i + "].uiPriority", FlowReceipeEntries[i].NextNodeSuccess);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterFlowRecipe.astNodes[" + i + "].uiPriority", FlowReceipeEntries[i].NextNodeRetry);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterFlowRecipe.astNodes[" + i + "].uiPriority", FlowReceipeEntries[i].NextNodeFail);
|
||||
|
||||
// }
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterFlowRecipe.uiNodeCnt", FlowNodeCountVm.Value);
|
||||
|
||||
|
||||
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine", CameraProgramsVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine", ChucksVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine", GripperVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine", PermissibleBeamParamDeviationsVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine", DiameterVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine", ThicknessVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine", TimeIntervallBeamCheckVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHotplate.rRestingTime", RestingTimeHotplateVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHotplate.rTemp", TargetTemperatureHotplateVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeCoolplate.rRestingTime", RestingTimeCoolplateVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeCoolplate.rTemp", TargetTemperatureCoolplateVm.Value);
|
||||
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeEtcher.uiNumRobotPos", NumberRobotPositionsVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeEtcher.rRadialPosLowerWaterJet", RadialPosLowerWaterJetVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeEtcher.rChuckRPM", ChuckRpmVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rTestVoltage", HvtestVoltageVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rMaxTestCurrent", HvmaxTestCurrentVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rRampTime", HvrampTimeVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rTestFrequency", HvtestFrequencyVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.uiPolarity", HvpolarityVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rTestPresN2", HvtestPressureN2Vm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rN2PrePurgeTime", Hvn2PrePurgeTimeVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.uiNumRetries", HvnumRetriesVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rTestTemp", HvtestTemperatureVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rTestOkVoltage", HvTestOkVoltageVm.Value);
|
||||
// _adsManager.WriteValue("GVL_SCADA.stMachine.stMasterRecipeHVTest.rTestOkCurrent", HvTestOkCurrentVm.Value);
|
||||
//}
|
||||
|
||||
//private short GetShort(object? value)
|
||||
//{
|
||||
// if (value != null)
|
||||
// return (short)value;
|
||||
|
||||
// return -1;
|
||||
//}
|
||||
|
||||
//private UInt16 GetUShort(object? value)
|
||||
//{
|
||||
// if (value != null)
|
||||
// return (UInt16)value;
|
||||
|
||||
// return 0;
|
||||
//}
|
||||
|
||||
private bool GetBool(object? value)
|
||||
{
|
||||
if (value != null)
|
||||
return (bool)value;
|
||||
|
||||
return false;
|
||||
}
|
||||
private float GetFloat(object? value)
|
||||
{
|
||||
if (value != null)
|
||||
return (float)value;
|
||||
|
||||
return -1;
|
||||
}
|
||||
public void Dispose()
|
||||
{
|
||||
|
||||
|
||||
@@ -5,38 +5,48 @@ using Heisig.HMI.AdsManager;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using TwinCAT.TypeSystem;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
using Common;
|
||||
using InfineonHMI.Model;
|
||||
namespace InfineonHMI
|
||||
namespace InfineonHMI;
|
||||
|
||||
public sealed partial class TrayFeederPageVM : ObservableValidator, IDisposable
|
||||
{
|
||||
public sealed partial class TrayFeederPageVM : ObservableValidator, IDisposable
|
||||
{
|
||||
private readonly string? _variableName;
|
||||
private readonly string? _variableName;
|
||||
|
||||
private readonly IAdsManager? _adsManager;
|
||||
private readonly IAdsManager? _adsManager;
|
||||
|
||||
public TrayFeederPageVM()
|
||||
{
|
||||
|
||||
}
|
||||
[ObservableProperty] private PackMLControlVM? trayfeederOutPackMLControlVm;
|
||||
[ObservableProperty] private PackMLControlVM? trayfeederInPackMLControlVm;
|
||||
|
||||
public TrayFeederPageVM(IAdsManager adsManager, string variableName)
|
||||
{
|
||||
_adsManager = adsManager;
|
||||
_variableName = variableName;
|
||||
public TrayFeederPageVM()
|
||||
{
|
||||
TrayfeederInPackMLControlVm = new();
|
||||
TrayfeederOutPackMLControlVm = new();
|
||||
TrayfeederInPackMLControlVm.STitle = "Trayfeeder IN";
|
||||
TrayfeederOutPackMLControlVm.STitle = "Trayfeeder OUT";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
public TrayFeederPageVM(IAdsManager adsManager, string variableName)
|
||||
{
|
||||
_adsManager = adsManager;
|
||||
_variableName = variableName;
|
||||
|
||||
|
||||
TrayfeederInPackMLControlVm = new(_adsManager, _variableName + "In.stStationCmds");
|
||||
TrayfeederOutPackMLControlVm = new(_adsManager, _variableName + "Out.stStationCmds");
|
||||
|
||||
TrayfeederInPackMLControlVm.STitle = "Trayfeeder IN";
|
||||
TrayfeederOutPackMLControlVm.STitle = "Trayfeeder OUT";
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
public void Dispose()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,33 +4,41 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:InfineonHMI"
|
||||
xmlns:HMIToolkit="clr-namespace:HMIToolkit" x:Class="InfineonHMI.AlignmentStationPage"
|
||||
xmlns:HMIToolkit="clr-namespace:HMIToolkit"
|
||||
xmlns:common="clr-namespace:Common"
|
||||
x:Class="InfineonHMI.AlignmentStationPage"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance IsDesignTimeCreatable=True, Type={x:Type local:AlignmentStationPageVM}}"
|
||||
d:DesignHeight="800" d:DesignWidth="1850"
|
||||
d:DesignHeight="1554" d:DesignWidth="3390"
|
||||
Title="AlignmentStationPage" FontSize="40">
|
||||
|
||||
<Grid>
|
||||
<Grid Margin="20">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="0" Content="Alignment Station" VerticalAlignment="Top" HorizontalAlignment="Left" />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<HMIToolkit:BinaryValveControl Grid.Column="0" Grid.Row="0" Grid.RowSpan="4" HorizontalAlignment="center" VerticalAlignment="Center" DataContext="{Binding Path=VacuumValveControlVm}"/>
|
||||
<Label Grid.Row="0" Grid.Column="0" Content="Ausrichtstation" VerticalAlignment="Top" HorizontalAlignment="Left" />
|
||||
|
||||
<HMIToolkit:BinaryValveControl Grid.Column="0" Grid.Row="0" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding Path=VacuumValveControlVm}"/>
|
||||
|
||||
<common:PackMLControl Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="2" HorizontalAlignment="Right" Grid.RowSpan="6" Width="Auto" Margin="20" DataContext="{Binding AlignmentPackMLControlVm}"/>
|
||||
</Grid>
|
||||
</Page>
|
||||
|
||||
@@ -1,22 +1,21 @@
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace InfineonHMI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class AlignmentStationPage : Page
|
||||
{
|
||||
public AlignmentStationPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
namespace InfineonHMI;
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class AlignmentStationPage : Page
|
||||
{
|
||||
public AlignmentStationPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
@@ -5,12 +5,13 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:InfineonHMI"
|
||||
xmlns:hmiToolkit="clr-namespace:HMIToolkit"
|
||||
xmlns:common="clr-namespace:Common"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=local:EtchingStation1PageVM, IsDesignTimeCreatable=True}"
|
||||
d:DesignHeight="800" d:DesignWidth="1850"
|
||||
d:DesignHeight="1554" d:DesignWidth="3390"
|
||||
Title="EtchingStationPage">
|
||||
|
||||
<Grid>
|
||||
<Grid Margin="20">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
@@ -32,18 +33,19 @@
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="0" Content="Etching Station 1" VerticalAlignment="Top" HorizontalAlignment="Left" FontSize="35" />
|
||||
<Label Grid.Row="0" Grid.Column="0" Content="Ätzstation 1" VerticalAlignment="Top" HorizontalAlignment="Left" FontSize="40" />
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="0" Grid.Row="0" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding VacuumValveControlEtching1Vm}"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="1" Grid.Row="0" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding DoorValveControlEtching1Vm}"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="2" Grid.Row="0" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding ChuckUnlockValveLeftEtching1Vm}"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="0" Grid.Row="3" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding ChuckUnlockValveRightEtching1Vm}"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="1" Grid.Row="3" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding ChuckEjectValveFrontEtching1Vm}"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="2" Grid.Row="3" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding ChuckEjectValveBackEtching1Vm}"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="0" Grid.Row="4" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding ChuckUnlockValveRightEtching1Vm}"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="1" Grid.Row="4" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding ChuckEjectValveFrontEtching1Vm}"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="2" Grid.Row="4" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding ChuckEjectValveBackEtching1Vm}"/>
|
||||
|
||||
<Button Grid.Row="1" Grid.Column="3" Content="Teller Entriegeln" DataContext="{Binding ChuckUnlockCmdButtonEtching1Vm}" HorizontalAlignment="Center" Width="320" Height="140" FontSize="30" />
|
||||
<Button Grid.Row="2" Grid.Column="3" Content="Teller Verriegeln" DataContext="{Binding ChuckLockCmdButtonEtching1Vm}" HorizontalAlignment="Center" Width="320" Height="140" FontSize="30"/>
|
||||
<Button Grid.Row="3" Grid.Column="3" Content="Teller Auswerfen" DataContext="{Binding ChuckEjectCmdButtonEtching1Vm}" HorizontalAlignment="Center" Width="320" Height="140" FontSize="30"/>
|
||||
|
||||
<common:PackMLControl Grid.Row="0" Grid.Column="6" Grid.ColumnSpan="2" HorizontalAlignment="Right" Grid.RowSpan="6" Width="Auto" Margin="20" DataContext="{Binding Etching1PackMLControlVm}"/>
|
||||
|
||||
</Grid>
|
||||
</Page>
|
||||
|
||||
@@ -1,22 +1,21 @@
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace InfineonHMI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class EtchingStation1Page : Page
|
||||
{
|
||||
public EtchingStation1Page()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
namespace InfineonHMI;
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class EtchingStation1Page : Page
|
||||
{
|
||||
public EtchingStation1Page()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
@@ -5,12 +5,13 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:InfineonHMI"
|
||||
xmlns:hmiToolkit="clr-namespace:HMIToolkit"
|
||||
xmlns:common="clr-namespace:Common"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=local:EtchingStation2PageVM, IsDesignTimeCreatable=True}"
|
||||
d:DesignHeight="800" d:DesignWidth="1850"
|
||||
d:DesignHeight="1554" d:DesignWidth="3390"
|
||||
Title="EtchingStationPage">
|
||||
|
||||
<Grid>
|
||||
<Grid Margin="20">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
@@ -32,17 +33,18 @@
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="0" Content="Etching Station 2" VerticalAlignment="Top" HorizontalAlignment="Left" FontSize="35" />
|
||||
<Label Grid.Row="0" Grid.Column="0" Content="Ätzstation 2" VerticalAlignment="Top" HorizontalAlignment="Left" FontSize="40" />
|
||||
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="0" Grid.Row="0" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding VacuumValveControlEtching2Vm}"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="1" Grid.Row="0" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding DoorValveControlEtching2Vm}"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="2" Grid.Row="0" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding ChuckUnlockValveLeftEtching2Vm}"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="0" Grid.Row="3" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding ChuckUnlockValveRightEtching2Vm}"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="1" Grid.Row="3" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding ChuckEjectValveFrontEtching2Vm}"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="2" Grid.Row="3" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding ChuckEjectValveBackEtching2Vm}"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="0" Grid.Row="4" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding ChuckUnlockValveRightEtching2Vm}"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="1" Grid.Row="4" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding ChuckEjectValveFrontEtching2Vm}"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="2" Grid.Row="4" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding ChuckEjectValveBackEtching2Vm}"/>
|
||||
|
||||
<Button Grid.Row="1" Grid.Column="3" Content="Teller Entriegeln" DataContext="{Binding ChuckUnlockCmdButtonEtching2Vm}" HorizontalAlignment="Center" Width="320" Height="140" FontSize="30"/>
|
||||
<Button Grid.Row="2" Grid.Column="3" Content="Teller Verriegeln" DataContext="{Binding ChuckLockCmdButtonEtching2Vm}" HorizontalAlignment="Center" Width="320" Height="140" FontSize="30"/>
|
||||
<Button Grid.Row="3" Grid.Column="3" Content="Teller Auswerfen" DataContext="{Binding ChuckEjectCmdButtonEtching2Vm}" HorizontalAlignment="Center" Width="320" Height="140" FontSize="30"/>
|
||||
|
||||
<common:PackMLControl Grid.Row="0" Grid.Column="6" Grid.ColumnSpan="2" HorizontalAlignment="Right" Grid.RowSpan="6" Width="Auto" Margin="20" DataContext="{Binding Etching2PackMLControlVm}"/>
|
||||
</Grid>
|
||||
</Page>
|
||||
|
||||
@@ -1,22 +1,21 @@
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace InfineonHMI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class EtchingStation2Page : Page
|
||||
{
|
||||
public EtchingStation2Page()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
namespace InfineonHMI;
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class EtchingStation2Page : Page
|
||||
{
|
||||
public EtchingStation2Page()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
@@ -5,24 +5,28 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:InfineonHMI"
|
||||
xmlns:hmiToolkit="clr-namespace:HMIToolkit"
|
||||
xmlns:common="clr-namespace:Common"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=local:HighVoltageStationPageVM, IsDesignTimeCreatable=True}"
|
||||
d:DesignHeight="800" d:DesignWidth="1850"
|
||||
d:DesignHeight="1554" d:DesignWidth="3390"
|
||||
Title="High Voltage Test Station">
|
||||
|
||||
<Grid>
|
||||
<Grid Margin="20">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
@@ -30,23 +34,26 @@
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="0" Content="Hochvolt Test Station Heiß" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="35"/>
|
||||
<Label Grid.Row="0" Grid.Column="3" Content="Hochvolt Test Station Kalt" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="35"/>
|
||||
<Border Grid.Row="0" Grid.Column="2" Grid.RowSpan="9" BorderBrush="White" BorderThickness="0,0,1,0"></Border>
|
||||
<Border Grid.Row="0" Grid.Column="3" Grid.RowSpan="9" BorderBrush="White" BorderThickness="1,0,0,0"></Border>
|
||||
<Label Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Content="Hochvolt Test Stationen" VerticalAlignment="Top" HorizontalAlignment="Left" FontSize="40" />
|
||||
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="0" Grid.Row="1" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding DoorValveHotControlVm }"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="3" Grid.Row="1" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding DoorValveColdControlVm }"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="1" Grid.Row="1" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding TestChamberHotValveVm }"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="4" Grid.Row="1" Grid.RowSpan="4" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding TestChamberColdValveVm }"/>
|
||||
<Label Grid.Row="0" Grid.Column="0" Content="Hochvolt Test Station Heiß" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="30"/>
|
||||
<Label Grid.Row="0" Grid.Column="5" Content="Hochvolt Test Station Kalt" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="30"/>
|
||||
|
||||
<Border Grid.Row="0" Grid.Column="4" Grid.RowSpan="9" BorderBrush="White" BorderThickness="2,0,0,0" Margin="20 0 20 0 "/> <!--<Border Grid.Row="0" Grid.Column="4" Grid.RowSpan="9" BorderBrush="White" BorderThickness="1,0,0,0"></Border>-->
|
||||
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="0" Grid.Row="2" Margin="10" Grid.RowSpan="4" VerticalAlignment="Center" DataContext="{Binding DoorValveHotControlVm }"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="1" Grid.Row="2" Margin="10" Grid.RowSpan="4" VerticalAlignment="Center" DataContext="{Binding TestChamberHotValveVm }"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="5" Grid.Row="2" Margin="10" Grid.RowSpan="4" VerticalAlignment="Center" DataContext="{Binding DoorValveColdControlVm }"/>
|
||||
<hmiToolkit:BinaryValveControl Grid.Column="6" Grid.Row="2" Margin="10" Grid.RowSpan="4" VerticalAlignment="Center" DataContext="{Binding TestChamberColdValveVm }"/>
|
||||
|
||||
|
||||
<Label Grid.Column="0" Grid.Row="1" FontSize="40" Content="Solltemperatur" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="5"/>
|
||||
<hmiToolkit:AnalogValue Grid.Column="1" Grid.Row="1" Height="60" Width="260" HorizontalAlignment="Left" Margin="5" VerticalAlignment="Center" DataContext="{Binding TempSPHotVm}"/>
|
||||
<Label Grid.Column="5" Grid.Row="1" FontSize="40" Content="Solltemperatur" VerticalAlignment="Center" Margin="5"/>
|
||||
<hmiToolkit:AnalogValue Grid.Column="6" Grid.Row="1" Height="60" Width="260" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding TempSPColdVm}"/>
|
||||
|
||||
<Label Grid.Column="2" Grid.Row="1" FontSize="40" Content="Solltemperatur" HorizontalAlignment="left" Margin="5"/>
|
||||
<hmiToolkit:AnalogValue Grid.Column="2" Grid.Row="1" Height="60" Width="260" HorizontalAlignment="Left" Margin="60" VerticalAlignment="Center" DataContext="{Binding TempSPHotVm}"/>
|
||||
<Label Grid.Column="5" Grid.Row="1" FontSize="40" Content="Solltemperatur" Margin="5"/>
|
||||
<hmiToolkit:AnalogValue Grid.Column="5" Grid.Row="1" Height="60" Width="260" Margin="60" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding TempSPColdVm}"/>
|
||||
<common:PackMLControl Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="2" HorizontalAlignment="Right" Grid.RowSpan="6" Width="Auto" Margin="20" DataContext="{Binding HighVoltageHotPackMLControlVm}"/>
|
||||
<common:PackMLControl Grid.Row="0" Grid.Column="7" Grid.ColumnSpan="2" HorizontalAlignment="Right" Grid.RowSpan="6" Width="Auto" Margin="20" DataContext="{Binding HighVoltageColdPackMLControlVm}"/>
|
||||
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Page>
|
||||
|
||||
@@ -1,22 +1,21 @@
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace InfineonHMI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class HighVoltageStationPage : Page
|
||||
{
|
||||
public HighVoltageStationPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
namespace InfineonHMI;
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class HighVoltageStationPage : Page
|
||||
{
|
||||
public HighVoltageStationPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
@@ -4,18 +4,22 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:InfineonHMI"
|
||||
xmlns:common="clr-namespace:Common"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=local:HotCoolPlatePageVM, IsDesignTimeCreatable=True}"
|
||||
d:DesignHeight="800" d:DesignWidth="1850"
|
||||
d:DesignHeight="1554" d:DesignWidth="3390"
|
||||
Title="HotCoolPlatePage">
|
||||
|
||||
<Grid>
|
||||
<Grid Margin="20">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
@@ -31,31 +35,33 @@
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
<Border Grid.Row="0" Grid.RowSpan="9" Grid.Column="4" BorderBrush="WhiteSmoke" BorderThickness="2,0,0,0" />
|
||||
<Border Grid.Row="0" Grid.RowSpan="9" Grid.Column="3" BorderBrush="WhiteSmoke" BorderThickness="0,0,2,0" />
|
||||
<Label Grid.Row="0" Grid.Column="0" FontSize="35" Content="Heizplatte" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10"/>
|
||||
<Label Grid.Row="0" Grid.Column="4" FontSize="35" Content="Kühlplatte" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10"/>
|
||||
<Border Grid.Row="0" Grid.RowSpan="9" Grid.Column="5" BorderBrush="WhiteSmoke" BorderThickness="2,0,0,0" />
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="0" FontSize="35" Content="Heizplatte" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10"/>
|
||||
<Label Grid.Row="0" Grid.Column="6" FontSize="35" Content="Kühlplatte" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10"/>
|
||||
|
||||
|
||||
<Button Grid.Row="0" Grid.Column="1" Content="Einschalten" DataContext="{Binding EnableHotPlateButtonVm}" HorizontalAlignment="Center" Width="280" Height="100" FontSize="35" />
|
||||
<Button Grid.Row="0" Grid.Column="2" Content="Ausschalten" DataContext="{Binding DisableHotPlateButtonVm}" HorizontalAlignment="Center" Width="280" Height="100" FontSize="35" />
|
||||
|
||||
<Button Grid.Row="0" Grid.Column="5" Content="Einschalten" DataContext="{Binding EnableCoolPlateButtonVm}" HorizontalAlignment="Center" Width="280" Height="100" FontSize="35" />
|
||||
<Button Grid.Row="0" Grid.Column="6" Content="Ausschalten" DataContext="{Binding DisableCoolPlateButtonVm}" HorizontalAlignment="Center" Width="280" Height="100" FontSize="35" />
|
||||
<Button Grid.Row="0" Grid.Column="7" Content="Einschalten" DataContext="{Binding EnableCoolPlateButtonVm}" HorizontalAlignment="Center" Width="280" Height="100" FontSize="35" />
|
||||
<Button Grid.Row="0" Grid.Column="8" Content="Ausschalten" DataContext="{Binding DisableCoolPlateButtonVm}" HorizontalAlignment="Center" Width="280" Height="100" FontSize="35" />
|
||||
|
||||
|
||||
<common:PackMLControl Grid.Row="0" Grid.Column="3" Grid.ColumnSpan="2" HorizontalAlignment="Right" Grid.RowSpan="6" Width="Auto" Margin="20" DataContext="{Binding HotplatePackMLControlVm}"/>
|
||||
<common:PackMLControl Grid.Row="0" Grid.Column="9" Grid.ColumnSpan="2" HorizontalAlignment="Right" Grid.RowSpan="6" Width="Auto" Margin="20" DataContext="{Binding CoolplatePackMLControlVm}"/>
|
||||
|
||||
<Label Grid.Row="2" Grid.Column="0" FontSize="35" Content="Belegung:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10" />
|
||||
<Label Grid.Row="2" Grid.Column="4" FontSize="35" Content="Belegung:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10" />
|
||||
<Label Grid.Row="2" Grid.Column="0" FontSize="35" Content="Belegung:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10" />
|
||||
<Label Grid.Row="2" Grid.Column="6" FontSize="35" Content="Belegung:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10" />
|
||||
|
||||
<Label Grid.Row="1" Grid.Column="1" FontSize="40" Content="Temperatur Soll" VerticalAlignment="Top" HorizontalAlignment="Center"/>
|
||||
<Label Grid.Row="1" Grid.Column="1" Content="Temperatur Soll" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="35"/>
|
||||
<HMIToolkit:AnalogValue Grid.Column="1" Grid.Row="1" Height="80" Width="160" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding HotPlateTargetTemperature}"/>
|
||||
<Label Grid.Row="1" Grid.Column="2" Content="Temperatur Ist" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="40" />
|
||||
<Label Grid.Row="1" Grid.Column="2" Content="Temperatur Ist" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="35" />
|
||||
<HMIToolkit:AnalogValue Grid.Column="2" Grid.Row="1" Height="80" Width="160" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding HotPlateActualTemperature}"/>
|
||||
<Label Grid.Row="1" Grid.Column="5" Content="Temperatur Soll" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="40"/>
|
||||
<HMIToolkit:AnalogValue Grid.Column="5" Grid.Row="1" Height="80" Width="160" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding CoolPlateTargetTemperature}"/>
|
||||
<Label Grid.Row="1" Grid.Column="6" Content="Temperatur Ist" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="40"/>
|
||||
<HMIToolkit:AnalogValue Grid.Column="6" Grid.Row="1" Height="80" Width="160" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding CoolPlateActualTemperature}"/>
|
||||
<Label Grid.Row="1" Grid.Column="7" Content="Temperatur Soll" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="35"/>
|
||||
<HMIToolkit:AnalogValue Grid.Column="7" Grid.Row="1" Height="80" Width="160" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding CoolPlateTargetTemperature}"/>
|
||||
<Label Grid.Row="1" Grid.Column="8" Content="Temperatur Ist" VerticalAlignment="Top" HorizontalAlignment="Center" FontSize="35"/>
|
||||
<HMIToolkit:AnalogValue Grid.Column="8" Grid.Row="1" Height="80" Width="160" HorizontalAlignment="Center" VerticalAlignment="Center" DataContext="{Binding CoolPlateActualTemperature}"/>
|
||||
<Ellipse Grid.Column="0" Grid.Row="2" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="1" Grid.Row="2" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="2" Grid.Row="2" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
@@ -75,24 +81,24 @@
|
||||
<Ellipse Grid.Column="1" Grid.Row="6" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding HotPlateVisibility8}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="2" Grid.Row="6" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding HotPlateVisibility9}" VerticalAlignment="Center" Width="120"/>
|
||||
|
||||
<Ellipse Grid.Column="4" Grid.Row="2" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="5" Grid.Row="2" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="6" Grid.Row="2" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="4" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="5" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="7" Grid.Row="2" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="8" Grid.Row="2" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="6" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="4" Grid.Row="6" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="5" Grid.Row="6" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="7" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="8" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="6" Grid.Row="6" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="4" Grid.Row="2" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility1}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="5" Grid.Row="2" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility2}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="6" Grid.Row="2" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility3}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="4" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility4}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="5" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility5}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="6" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility6}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="4" Grid.Row="6" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility7}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="5" Grid.Row="6" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility8}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="6" Grid.Row="6" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility9}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="7" Grid.Row="6" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="8" Grid.Row="6" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="150" Margin="10" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="150"/>
|
||||
<Ellipse Grid.Column="6" Grid.Row="2" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility1}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="7" Grid.Row="2" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility2}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="8" Grid.Row="2" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility3}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="6" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility4}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="7" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility5}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="8" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility6}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="6" Grid.Row="6" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility7}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="7" Grid.Row="6" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility8}" VerticalAlignment="Center" Width="120"/>
|
||||
<Ellipse Grid.Column="8" Grid.Row="6" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="120" Margin="10" Stroke="WhiteSmoke" Fill="Gray" Visibility="{Binding CoolPlateVisibility9}" VerticalAlignment="Center" Width="120"/>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,22 +1,21 @@
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace InfineonHMI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class HotCoolPlatePage : Page
|
||||
{
|
||||
public HotCoolPlatePage()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
namespace InfineonHMI;
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class HotCoolPlatePage : Page
|
||||
{
|
||||
public HotCoolPlatePage()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
@@ -4,166 +4,202 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:InfineonHMI"
|
||||
xmlns:common="clr-namespace:Common"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=local:KukaRobotPageVM, IsDesignTimeCreatable=True}"
|
||||
d:DesignHeight="800" d:DesignWidth="1850"
|
||||
d:DesignHeight="1600" d:DesignWidth="3800"
|
||||
Title="KukaRobotPage">
|
||||
|
||||
<Page.Resources>
|
||||
<Style x:Name="RobotLabelStyle" x:Key="RobotLabelStyle" TargetType="Label">
|
||||
<Setter Property="FontSize" Value="40"/>
|
||||
<Setter Property="Margin" Value="5"/>
|
||||
</Style>
|
||||
<Style x:Key="RobotComboStyle" TargetType="ComboBox" BasedOn="{StaticResource MahApps.Styles.ComboBox}">
|
||||
<Setter Property="FontSize" Value="40"/>
|
||||
<Setter Property="Margin" Value="10"/>
|
||||
<Setter Property="Height" Value="120"/>
|
||||
</Style>
|
||||
|
||||
<Style x:Key="RobotTextBoxStyle" TargetType="TextBox" BasedOn="{StaticResource MahApps.Styles.TextBox}">
|
||||
<Setter Property="FontSize" Value="40"/>
|
||||
<Setter Property="Margin" Value="10"/>
|
||||
<Setter Property="Height" Value="120"/>
|
||||
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
||||
<Setter Property="TextAlignment" Value="Right"/>
|
||||
<Setter Property="MaxLines" Value="1"/>
|
||||
</Style>
|
||||
|
||||
</Page.Resources>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition Width="750"/>
|
||||
<ColumnDefinition Width="40" />
|
||||
<ColumnDefinition Width="500"/>
|
||||
<ColumnDefinition Width="40"/>
|
||||
<ColumnDefinition Width="500"/>
|
||||
<ColumnDefinition Width="40"/>
|
||||
<ColumnDefinition Width="400"/>
|
||||
<ColumnDefinition Width="360"/>
|
||||
<ColumnDefinition Width="320"/>
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition Height="250"/>
|
||||
<RowDefinition Height="250"/>
|
||||
<RowDefinition Height="250"/>
|
||||
<RowDefinition Height="250"/>
|
||||
<RowDefinition Height="250"/>
|
||||
<RowDefinition Height="250"/>
|
||||
<RowDefinition Height="50"/>
|
||||
<RowDefinition Height="*"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Border Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="4,4,1,4" Margin="5,5,0,5"/>
|
||||
<Border Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="1,4,1,4" Margin="0,5,0,5"/>
|
||||
<Border Grid.Row="0" Grid.Column="4" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="1,4,1,4" Margin="0,5,0,5"/>
|
||||
<Border Grid.Row="0" Grid.Column="6" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="1,4,4,4" Margin="0,5,5,5"/>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="0" Content="Roboter Jobnummer" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0" />
|
||||
<ComboBox Grid.Row="0" Grid.Column="1" Margin="10,15" IsEnabled="{Binding CanChangeRobotJob}" ItemsSource="{Binding RobotJobs}" SelectedItem="{Binding SelectedRobotJob}"/>
|
||||
<Label Grid.Row="0" Grid.Column="2" Content="Roboter aktiver Job " VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0" />
|
||||
<ComboBox Grid.Row="0" Grid.Column="3" Margin="10,15" ItemsSource="{Binding RobotJobs}" SelectedItem="{Binding RobotJobActiveValue}" IsReadOnly="True" IsEnabled="False" />
|
||||
<ComboBox Grid.Row="0" Grid.Column="5" Margin="10,15" ItemsSource="{Binding RobotJobs}" SelectedItem="{Binding RobotJobFinishedValue}" IsReadOnly="True" IsEnabled="False"/>
|
||||
<Label Grid.Row="0" Grid.Column="4" Content="Roboter Job fertig " VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0" />
|
||||
|
||||
<Button Grid.Row="0" Grid.Column="6" Command="{Binding StartRobotJobCommand}" Content="Start" Margin="10,15,10,15" />
|
||||
<Button Grid.Row="0" Grid.Column="7" Command="{Binding AbortRobotJobCommand}" Content="Abbruch" Margin="10,15,15,15" />
|
||||
|
||||
|
||||
<Border Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="4" Margin="5" />
|
||||
<Label Grid.Row="1" Grid.Column="0" Content="Greiferseite für Job:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0"/>
|
||||
<TextBox Grid.Row="1" Grid.Column="1" IsEnabled="{Binding CanChangeJobGrippSide}" Text="{Binding JobGrippSide}" MaxLines="1" Margin="10,15,15,15" TextAlignment="Right"/>
|
||||
<StackPanel Grid.Row="0" Grid.Column="0">
|
||||
<Label Content="Roboter Jobnummer" Style="{StaticResource RobotLabelStyle}"/>
|
||||
<ComboBox IsEnabled="{Binding CanChangeRobotJob}" ItemsSource="{Binding RobotJobs}" SelectedItem="{Binding SelectedRobotJob}" Style="{StaticResource RobotComboStyle}"/>
|
||||
</StackPanel>
|
||||
|
||||
|
||||
<Border Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="4" Margin="5" />
|
||||
<Label Grid.Row="1" Grid.Column="2" Content="Greifertyp:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0"/>
|
||||
<TextBox Grid.Row="1" Grid.Column="3" IsEnabled="{Binding CanChangeJobGrippType}" Text="{Binding JobGrippType}" MaxLines="1" Margin="10,15,15,15" TextAlignment="Right"/>
|
||||
<StackPanel Grid.Row="0" Grid.Column="2">
|
||||
<Label Content="Roboter aktiver Job " Style="{StaticResource RobotLabelStyle}"/>
|
||||
<ComboBox ItemsSource="{Binding RobotJobs}" SelectedItem="{Binding RobotJobActiveValue}" IsReadOnly="True" IsEnabled="False" Style="{StaticResource RobotComboStyle}"/>
|
||||
</StackPanel>
|
||||
|
||||
|
||||
<Border Grid.Row="1" Grid.Column="4" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="4" Margin="5" />
|
||||
<Label Grid.Row="1" Grid.Column="4" Content="Drehteller Magazinplatz:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0"/>
|
||||
<TextBox Grid.Row="1" Grid.Column="5" IsEnabled="{Binding CanChangeChuckMagazinPlace}" Text="{Binding ChuckMagazinPlace}" MaxLines="1" Margin="10,15,15,15" TextAlignment="Right"/>
|
||||
<StackPanel Grid.Row="0" Grid.Column="4">
|
||||
<Label Content="Roboter Job fertig " Style="{StaticResource RobotLabelStyle}"/>
|
||||
<ComboBox ItemsSource="{Binding RobotJobs}" SelectedItem="{Binding RobotJobFinishedValue}" IsReadOnly="True" IsEnabled="False" Style="{StaticResource RobotComboStyle}"/>
|
||||
</StackPanel>
|
||||
|
||||
|
||||
<Border Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="4,4,4,4" Margin="5,5,5,5"/>
|
||||
<Label Grid.Row="2" Grid.Column="0" Content="Teiledicke in mm: " VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0"/>
|
||||
<TextBox Grid.Row="2" Grid.Column="1" IsEnabled="{Binding CanChangePieceThickness}" Text="{Binding PieceThickness}" MaxLines="1" Margin="10,15,15,15" TextAlignment="Right"/>
|
||||
<StackPanel Grid.Row="0" Grid.Column="6" Grid.RowSpan="2">
|
||||
<Label Content="Roboter Job" Style="{StaticResource RobotLabelStyle}"/>
|
||||
<Button Height="120" Command="{Binding StartRobotJobCommand}" Content="Start" Margin="10" FontSize="30"/>
|
||||
<Button Height="120" Command="{Binding AbortRobotJobCommand}" Content="Abbruch" Margin="10" FontSize="30" />
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Row="1" Grid.Column="0">
|
||||
<Label Content="Greiferseite für Job:" Style="{StaticResource RobotLabelStyle}"/>
|
||||
<TextBox IsEnabled="{Binding CanChangeJobGrippSide}" Text="{Binding JobGrippSide}" Style="{StaticResource RobotTextBoxStyle}"/>
|
||||
</StackPanel>
|
||||
|
||||
|
||||
<Border Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="4,4,4,4" Margin="5,5,5,5"/>
|
||||
<Label Grid.Row="3" Grid.Column="0" Content="Angefragter Sps Job :" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5,0,0,0" />
|
||||
<ComboBox Grid.Row="3" Grid.Column="1" Margin="10,15,15,15" ItemsSource="{Binding PLCJobs}" SelectedItem="{Binding SelectedPLCJob}" IsReadOnly="True" IsEnabled="False"/>
|
||||
<StackPanel Grid.Row="1" Grid.Column="2">
|
||||
<Label FontSize="40" Content="Greifertyp:" Style="{StaticResource RobotLabelStyle}"/>
|
||||
<TextBox IsEnabled="{Binding CanChangeJobGrippType}" Text="{Binding JobGrippType}" Style="{StaticResource RobotTextBoxStyle}"/>
|
||||
</StackPanel>
|
||||
|
||||
|
||||
<Border Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" Grid.RowSpan="2" BorderBrush="WhiteSmoke" BorderThickness="4,4,4,4" Margin="5,5,5,5"/>
|
||||
<Label Grid.Row="4" Grid.Column="0" Content="Aktueller Status der Statemachine" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5,0,0,0" />
|
||||
<ComboBox Grid.Row="4" Grid.Column="1" Margin="10,15,15,10" ItemsSource="{Binding StatemachineStates}" SelectedItem="{Binding ActiveState}" IsReadOnly="True" />
|
||||
<Button Grid.Row="5" Grid.Column="0" Command="{Binding ClearStateCommand}" Content="Clear" Margin="15,15,10,15" />
|
||||
<Button Grid.Row="5" Grid.Column="1" Command="{Binding ResetStateCommand}" Content="Reset" Margin="10,15,15,15" />
|
||||
|
||||
<Border Grid.Row="2" Grid.Column="2" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="4,4,1,1" Margin="5,5,0,0"/>
|
||||
<Border Grid.Row="2" Grid.Column="4" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="1,4,4,1" Margin="0,5,5,0"/>
|
||||
<Label Grid.Row="2" Grid.Column="2" Content="Offset Abholen in mm (X):" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0"/>
|
||||
<Label Grid.Row="2" Grid.Column="4" Content="Offset Abholen in mm (Y):" VerticalAlignment="Center" HorizontalAlignment="Left"/>
|
||||
<TextBox Grid.Row="2" Grid.Column="5" IsEnabled="{Binding CanChangeOffsetPick}" Text="{Binding OffsetPick_Y}" MaxLines="1" Margin="10,15,15,10" TextAlignment="Right" />
|
||||
<TextBox Grid.Row="2" Grid.Column="3" IsEnabled="{Binding CanChangeOffsetPick}" Text="{Binding OffsetPick_X}" MaxLines="1" Margin="10,15,15,10" TextAlignment="Right" />
|
||||
<Border Grid.Row="3" Grid.Column="2" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="4,1,1,1" Margin="5,0,0,0"/>
|
||||
<Border Grid.Row="3" Grid.Column="4" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="1,1,4,1" Margin="0,0,5,0"/>
|
||||
<Label Grid.Row="3" Grid.Column="2" Content="Offset Ablegen in mm (X):" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0"/>
|
||||
<Label Grid.Row="3" Grid.Column="4" Content="Offset Ablegen in mm (Y):" VerticalAlignment="Center" HorizontalAlignment="Left"/>
|
||||
<TextBox Grid.Row="3" Grid.Column="5" IsEnabled="{Binding CanChangeOffsetPlace}" Text="{Binding OffsetPlace_Y}" MaxLines="1" Margin="10,10,15,10" TextAlignment="Right" />
|
||||
<TextBox Grid.Row="3" Grid.Column="3" IsEnabled="{Binding CanChangeOffsetPlace}" Text="{Binding OffsetPlace_X}" MaxLines="1" Margin="10,10,15,10" TextAlignment="Right" />
|
||||
|
||||
<Border Grid.Row="4" Grid.Column="2" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="4,1,1,1" Margin="5,0,0,0"/>
|
||||
<Border Grid.Row="4" Grid.Column="4" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="1,1,4,1" Margin="0,0,5,0"/>
|
||||
<Label Grid.Row="4" Grid.Column="2" Content="Offset NIO Abholen in mm (X):" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0"/>
|
||||
<Label Grid.Row="4" Grid.Column="4" Content="Offset NIO Abholen in mm (Y):" VerticalAlignment="Center" HorizontalAlignment="Left"/>
|
||||
<TextBox Grid.Row="4" Grid.Column="5" IsEnabled="{Binding CanChangeOffsetNIOPick}" Text="{Binding OffsetNIOPick_Y}" MaxLines="1" Margin="10,10,15,10" TextAlignment="Right" />
|
||||
<TextBox Grid.Row="4" Grid.Column="3" IsEnabled="{Binding CanChangeOffsetNIOPick}" Text="{Binding OffsetNIOPick_X}" MaxLines="1" Margin="10,10,15,10" TextAlignment="Right" />
|
||||
|
||||
<Border Grid.Row="5" Grid.Column="2" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="4,1,1,4" Margin="5,0,0,5"/>
|
||||
<Border Grid.Row="5" Grid.Column="4" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="1,1,4,4" Margin="0,0,5,5"/>
|
||||
<Label Grid.Row="5" Grid.Column="2" Content="Offset NIO Ablegen in mm (X):" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0"/>
|
||||
<Label Grid.Row="5" Grid.Column="4" Content="Offset NIO Ablegen in mm (Y):" VerticalAlignment="Center" HorizontalAlignment="Left"/>
|
||||
<TextBox Grid.Row="5" Grid.Column="5" IsEnabled="{Binding CanChangeOffsetNIOPlace}" Text="{Binding OffsetNIOPlace_Y}" MaxLines="1" Margin="10,10,15,15" TextAlignment="Right" />
|
||||
<TextBox Grid.Row="5" Grid.Column="3" IsEnabled="{Binding CanChangeOffsetNIOPlace}" Text="{Binding OffsetNIOPlace_X}" MaxLines="1" Margin="10,10,15,15" TextAlignment="Right" />
|
||||
<StackPanel Grid.Row="1" Grid.Column="4">
|
||||
<Label Content="Drehteller Magazinplatz:" Style="{StaticResource RobotLabelStyle}"/>
|
||||
<TextBox IsEnabled="{Binding CanChangeChuckMagazinPlace}" Text="{Binding ChuckMagazinPlace}" Style="{StaticResource RobotTextBoxStyle}"/>
|
||||
</StackPanel>
|
||||
|
||||
|
||||
|
||||
<Border Grid.Row="6" Grid.Column="0" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="4,4,4,1" Margin="5,5,5,0"/>
|
||||
<Border Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="2" BorderBrush="WhiteSmoke" BorderThickness="4,1,4,4" Margin="5,0,5,5"/>
|
||||
<Label Grid.Row="6" Grid.Column="0" Content="Platz Heizplatte (1-9)" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,5,0,0" />
|
||||
<Label Grid.Row="7" Grid.Column="0" Content="Platz Kühlplatte (1-9)" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,5"/>
|
||||
<TextBox Grid.Row="6" Grid.Column="1" IsEnabled="{Binding CanChangeHotPlateIndex}" Text="{Binding HotplateIndex}" MaxLines="1" Margin="10,15,15,10" TextAlignment="Right" />
|
||||
<TextBox Grid.Row="7" Grid.Column="1" IsEnabled="{Binding CanChangeCoolPlateIndex}" Text="{Binding CoolplateIndex}" MaxLines="1" Margin="10,10,15,15" TextAlignment="Right" />
|
||||
<StackPanel Grid.Row="2" Grid.Column="0">
|
||||
<Label Content="Teiledicke in mm: " Style="{StaticResource RobotLabelStyle}"/>
|
||||
<TextBox IsEnabled="{Binding CanChangePieceThickness}" Text="{Binding PieceThickness}" Style="{StaticResource RobotTextBoxStyle}"/>
|
||||
</StackPanel>
|
||||
|
||||
<Label Grid.Row="6" Grid.Column="3" Content="Magazinbelegung: " VerticalAlignment="Center" HorizontalAlignment="Center" />
|
||||
<StackPanel Grid.Row="3" Grid.Column="0">
|
||||
<Label Content="Angefragter Sps Job :" Style="{StaticResource RobotLabelStyle}"/>
|
||||
<ComboBox ItemsSource="{Binding PLCJobs}" SelectedItem="{Binding SelectedPLCJob}" IsReadOnly="True" IsEnabled="False" Style="{StaticResource RobotComboStyle}"/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Row="2" Grid.Column="2">
|
||||
<Label Content="Offset Abholen in mm (X):" Style="{StaticResource RobotLabelStyle}"/>
|
||||
<TextBox IsEnabled="{Binding CanChangeOffsetPick}" Text="{Binding OffsetPick_X}" Style="{StaticResource RobotTextBoxStyle}"/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Row="2" Grid.Column="4">
|
||||
<Label Content="Offset Abholen in mm (Y):" Style="{StaticResource RobotLabelStyle}"/>
|
||||
<TextBox IsEnabled="{Binding CanChangeOffsetPick}" Text="{Binding OffsetPick_Y}" Style="{StaticResource RobotTextBoxStyle}"/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Row="3" Grid.Column="2">
|
||||
<Label Content="Offset Ablegen in mm (X):" Style="{StaticResource RobotLabelStyle}"/>
|
||||
<TextBox IsEnabled="{Binding CanChangeOffsetPlace}" Text="{Binding OffsetPlace_X}" Style="{StaticResource RobotTextBoxStyle}"/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Row="3" Grid.Column="4">
|
||||
<Label Content="Offset Ablegen in mm (Y):" Style="{StaticResource RobotLabelStyle}"/>
|
||||
<TextBox IsEnabled="{Binding CanChangeOffsetPlace}" Text="{Binding OffsetPlace_Y}" Style="{StaticResource RobotTextBoxStyle}" />
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Row="4" Grid.Column="2">
|
||||
<Label Content="Offset NIO Abholen in mm (X):" Style="{StaticResource RobotLabelStyle}"/>
|
||||
<TextBox IsEnabled="{Binding CanChangeOffsetNIOPick}" Text="{Binding OffsetNIOPick_X}" Style="{StaticResource RobotTextBoxStyle}"/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Row="4" Grid.Column="4">
|
||||
<Label Content="Offset NIO Abholen in mm (Y):" Style="{StaticResource RobotLabelStyle}"/>
|
||||
<TextBox IsEnabled="{Binding CanChangeOffsetNIOPick}" Text="{Binding OffsetNIOPick_Y}" Style="{StaticResource RobotTextBoxStyle}"/>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Row="5" Grid.Column="2">
|
||||
<Label Content="Offset NIO Ablegen in mm (X):" Style="{StaticResource RobotLabelStyle}"/>
|
||||
<TextBox IsEnabled="{Binding CanChangeOffsetNIOPlace}" Text="{Binding OffsetNIOPlace_X}" Style="{StaticResource RobotTextBoxStyle}"/>
|
||||
|
||||
</StackPanel>
|
||||
|
||||
|
||||
<Grid Grid.Column ="4" Grid.Row="6" Grid.RowSpan="3" Grid.ColumnSpan="4" >
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Content="Tellerplatz 1" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="10" />
|
||||
<Label Grid.Row="0" Grid.Column="3" Grid.ColumnSpan="2" Content="Tellerplatz 2" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="10" />
|
||||
<Label Grid.Row="0" Grid.Column="6" Grid.ColumnSpan="2" Content="Tellerplatz 3" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="10" />
|
||||
<Label Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" Content="Tellerplatz 4" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="10" />
|
||||
<Label Grid.Row="3" Grid.Column="3" Grid.ColumnSpan="2" Content="Tellerplatz 5" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="10" />
|
||||
<Label Grid.Row="3" Grid.Column="6" Grid.ColumnSpan="2" Content="Tellerplatz 6" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="10" />
|
||||
<StackPanel Grid.Row="5" Grid.Column="4">
|
||||
<Label Content="Offset NIO Ablegen in mm (Y):" Style="{StaticResource RobotLabelStyle}"/>
|
||||
<TextBox IsEnabled="{Binding CanChangeOffsetNIOPlace}" Text="{Binding OffsetNIOPlace_Y}" Style="{StaticResource RobotTextBoxStyle}"/>
|
||||
</StackPanel>
|
||||
|
||||
<Ellipse Grid.Column="0" Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="85" Margin="0" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="85"/>
|
||||
<Ellipse Grid.Column="3" Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="85" Margin="0" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="85"/>
|
||||
<Ellipse Grid.Column="6" Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="85" Margin="0" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="85"/>
|
||||
<Ellipse Grid.Column="0" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="85" Margin="0" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="85"/>
|
||||
<Ellipse Grid.Column="3" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="85" Margin="0" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="85"/>
|
||||
<Ellipse Grid.Column="6" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="85" Margin="0" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center" Width="85"/>
|
||||
<Ellipse Grid.Column="0" Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="80" Margin="0" Stroke="WhiteSmoke" Fill="DarkCyan" Visibility="{Binding MagazinPlace1}" VerticalAlignment="Center" Width="80"/>
|
||||
<Ellipse Grid.Column="3" Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="80" Margin="0" Stroke="WhiteSmoke" Fill="DarkCyan" Visibility="{Binding MagazinPlace2}" VerticalAlignment="Center" Width="80"/>
|
||||
<Ellipse Grid.Column="6" Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="80" Margin="0" Stroke="WhiteSmoke" Fill="DarkCyan" Visibility="{Binding MagazinPlace3}" VerticalAlignment="Center" Width="80"/>
|
||||
<Ellipse Grid.Column="0" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="80" Margin="0" Stroke="WhiteSmoke" Fill="DarkCyan" Visibility="{Binding MagazinPlace4}" VerticalAlignment="Center" Width="80"/>
|
||||
<Ellipse Grid.Column="3" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="80" Margin="0" Stroke="WhiteSmoke" Fill="DarkCyan" Visibility="{Binding MagazinPlace5}" VerticalAlignment="Center" Width="80"/>
|
||||
<Ellipse Grid.Column="6" Grid.Row="4" Grid.RowSpan="2" Grid.ColumnSpan="2" HorizontalAlignment="Center" Height="80" Margin="0" Stroke="WhiteSmoke" Fill="DarkCyan" Visibility="{Binding MagazinPlace6}" VerticalAlignment="Center" Width="80"/>
|
||||
<StackPanel Grid.Row="4" Grid.Column="0">
|
||||
<Label Content="Platz Heizplatte (1-9)" Style="{StaticResource RobotLabelStyle}" />
|
||||
<TextBox IsEnabled="{Binding CanChangeHotPlateIndex}" Text="{Binding HotplateIndex}" Style="{StaticResource RobotTextBoxStyle}"/>
|
||||
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Row="5" Grid.Column="0">
|
||||
<Label Content="Platz Kühlplatte (1-9)" Style="{StaticResource RobotLabelStyle}"/>
|
||||
<TextBox IsEnabled="{Binding CanChangeCoolPlateIndex}" Text="{Binding CoolplateIndex}" Style="{StaticResource RobotTextBoxStyle}"/>
|
||||
</StackPanel>
|
||||
|
||||
<common:PackMLControl Grid.Row="0" Grid.Column="7" Grid.ColumnSpan="2" HorizontalAlignment="Right" Grid.RowSpan="4" Width="Auto" Margin="20 20 0 20" DataContext="{Binding KukaRobotPackMLControlVm}"/>
|
||||
|
||||
<Label Grid.Row="3" Grid.Column="6" Grid.ColumnSpan="2" Content="Magazinbelegung:" Style="{StaticResource RobotLabelStyle}" VerticalAlignment="Bottom" />
|
||||
|
||||
<Border Grid.Column="6" Grid.Row="4" Grid.RowSpan="3" Grid.ColumnSpan="3" BorderBrush="White" BorderThickness="4">
|
||||
<Grid >
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="10"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="10"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="80"/>
|
||||
<RowDefinition Height="180"/>
|
||||
<RowDefinition Height="10"/>
|
||||
<RowDefinition Height="80"/>
|
||||
<RowDefinition Height="180"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="0" Content="Tellerplatz 1" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="35" />
|
||||
<Ellipse Grid.Column="0" Grid.Row="1" HorizontalAlignment="Center" Height="150" Width="150" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center"/>
|
||||
<Ellipse Grid.Column="0" Grid.Row="1" HorizontalAlignment="Center" Height="150" Width="150" Stroke="WhiteSmoke" Fill="DarkCyan" Visibility="{Binding MagazinPlace1}" VerticalAlignment="Center"/>
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="2" Content="Tellerplatz 2" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="35" />
|
||||
<Ellipse Grid.Column="2" Grid.Row="1" HorizontalAlignment="Center" Height="150" Width="150" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center"/>
|
||||
<Ellipse Grid.Column="2" Grid.Row="1" HorizontalAlignment="Center" Height="150" Width="150" Stroke="WhiteSmoke" Fill="DarkCyan" Visibility="{Binding MagazinPlace2}" VerticalAlignment="Center" />
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="4" Content="Tellerplatz 3" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="35" />
|
||||
<Ellipse Grid.Column="4" Grid.Row="1" HorizontalAlignment="Center" Height="150" Width="150" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center"/>
|
||||
<Ellipse Grid.Column="4" Grid.Row="1" HorizontalAlignment="Center" Height="150" Width="150" Stroke="WhiteSmoke" Fill="DarkCyan" Visibility="{Binding MagazinPlace3}" VerticalAlignment="Center" />
|
||||
|
||||
</Grid>
|
||||
<Label Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" Content="Tellerplatz 4" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="35" />
|
||||
<Ellipse Grid.Column="0" Grid.Row="4" HorizontalAlignment="Center" Height="150" Width="150" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center"/>
|
||||
<Ellipse Grid.Column="0" Grid.Row="4" HorizontalAlignment="Center" Height="150" Width="150" Stroke="WhiteSmoke" Fill="DarkCyan" Visibility="{Binding MagazinPlace4}" VerticalAlignment="Center" />
|
||||
|
||||
<Label Grid.Row="3" Grid.Column="2" Content="Tellerplatz 5" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="35" />
|
||||
<Ellipse Grid.Column="2" Grid.Row="4" HorizontalAlignment="Center" Height="150" Width="150" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center"/>
|
||||
<Ellipse Grid.Column="2" Grid.Row="4" HorizontalAlignment="Center" Height="150" Width="150" Stroke="WhiteSmoke" Fill="DarkCyan" Visibility="{Binding MagazinPlace5}" VerticalAlignment="Center" />
|
||||
|
||||
</Grid>
|
||||
<Label Grid.Row="3" Grid.Column="4" Content="Tellerplatz 6" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="35" />
|
||||
<Ellipse Grid.Column="4" Grid.Row="4" HorizontalAlignment="Center" Height="150" Width="150" Stroke="WhiteSmoke" Fill="WhiteSmoke" VerticalAlignment="Center"/>
|
||||
<Ellipse Grid.Column="4" Grid.Row="4" HorizontalAlignment="Center" Height="150" Width="150" Stroke="WhiteSmoke" Fill="DarkCyan" Visibility="{Binding MagazinPlace6}" VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Grid>
|
||||
</Page>
|
||||
|
||||
@@ -1,22 +1,21 @@
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace InfineonHMI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class KukaRobotPage : Page
|
||||
{
|
||||
public KukaRobotPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
namespace InfineonHMI;
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class KukaRobotPage : Page
|
||||
{
|
||||
public KukaRobotPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
@@ -4,103 +4,125 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:uniperHmi="clr-namespace:InfineonHMI"
|
||||
xmlns:common="clr-namespace:Common"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=uniperHmi:MachineOverviewPageVM, IsDesignTimeCreatable=True}"
|
||||
Title="Production Overview">
|
||||
|
||||
<Viewbox Stretch="none">
|
||||
<Grid Width="3840" Height="1650">
|
||||
<Grid Width="3840" Height="1554">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.12*"/>
|
||||
<ColumnDefinition Width="0.93*"/>
|
||||
<ColumnDefinition Width="450"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Grid Grid.Column="0" Margin="25 0 0 0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Image Grid.Column="1" Source="/Anlagenuebersicht.png" Stretch="Fill" Height="1504" Width="1936"/>
|
||||
|
||||
<Button Grid.Row="0"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
FontFamily="Arial"
|
||||
Content="Trayfeeder
Ein-/Ausgabe"
|
||||
Command="{Binding TrayfeederPageClickedCommand}"/>
|
||||
|
||||
<Button Grid.Row="1"
|
||||
Margin="5"
|
||||
FontSize="39"
|
||||
Content="Ausrichtstation"
|
||||
Command="{Binding AlignerPageClickedCommand}"/>
|
||||
|
||||
<Button Grid.Row="2"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
Content="Ätzer 1"
|
||||
Command="{Binding Etching1PageClickedCommand}"/>
|
||||
|
||||
<Button Grid.Row="3"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
Content="Ätzer 2"
|
||||
Command="{Binding Etching2PageClickedCommand}"/>
|
||||
|
||||
<Button Grid.Row="4"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
Content="HV Test"
|
||||
Command="{Binding HVTestPageClickedCommand}"/>
|
||||
|
||||
<Button Grid.Row="5"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
Content="Heiz-
/Kühlplatte"
|
||||
Command="{Binding HotCoolplatePageClickedCommand}"/>
|
||||
|
||||
<Button Grid.Row="6"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
Content="NOK Station"
|
||||
Command="{Binding NIOStationPageClickedCommand}"/>
|
||||
|
||||
<Border Grid.Row="7"
|
||||
BorderBrush="White"
|
||||
BorderThickness="0,5,0,0"/>
|
||||
|
||||
<Button Grid.Row="7"
|
||||
Margin="5,15,5,5"
|
||||
FontSize="36" Content="Kuka Roboter"
|
||||
Command="{Binding KukaPageClickedCommand}"/>
|
||||
|
||||
<Button Grid.Row="8"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
FontFamily="Arial"
|
||||
Content="Medienschrank"
|
||||
Command="{Binding MediaCabinetPageClickedCommand}"/>
|
||||
|
||||
</Grid>
|
||||
<!-- DETAIL PAGE -->
|
||||
|
||||
|
||||
<Frame x:Name="DetailFrame"
|
||||
Grid.Column="1"
|
||||
NavigationUIVisibility="Hidden"
|
||||
Content="{Binding CurrentDetailPage}"/>
|
||||
|
||||
<Image Grid.Column="1" Source="/Anlagenuebersicht.png" Stretch="Fill" Height="1504" Width="1936"/>
|
||||
<Button Command="{Binding TrayfeederPageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="2203,572,820,780"/>
|
||||
<Button Command="{Binding KukaPageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="1822,610,1380,780"/>
|
||||
<Button Command="{Binding Etching1PageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="1480,819,1749,644" RenderTransformOrigin="0.5,0.5">
|
||||
<Grid Grid.Column="0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Button IsEnabled="{Binding CanUserChangePageTrayFeeder}" Grid.Row="0"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
FontFamily="Arial"
|
||||
Content="Trayfeeder
Ein-/Ausgabe"
|
||||
Command="{Binding TrayfeederPageClickedCommand}"/>
|
||||
|
||||
<Button IsEnabled="{Binding CanUserChangePageAlignment}"
|
||||
Grid.Row="1"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="39"
|
||||
Content="Ausrichtstation"
|
||||
Command="{Binding AlignerPageClickedCommand}"/>
|
||||
|
||||
<Button IsEnabled="{Binding CanUserChangePageEtching1}"
|
||||
Grid.Row="2"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
Content="Ätzer 1"
|
||||
Command="{Binding Etching1PageClickedCommand}"/>
|
||||
|
||||
<Button IsEnabled="{Binding CanUserChangePageEtching2}"
|
||||
Grid.Row="3"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
Content="Ätzer 2"
|
||||
Command="{Binding Etching2PageClickedCommand}"/>
|
||||
|
||||
<Button IsEnabled="{Binding CanUserChangePageHighVoltage}"
|
||||
Grid.Row="4"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
Content="HV Test"
|
||||
Command="{Binding HVTestPageClickedCommand}"/>
|
||||
|
||||
<Button IsEnabled="{Binding CanUserChangePageHotCoolplate}"
|
||||
Grid.Row="5"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
Content="Heiz-
/Kühlplatte"
|
||||
Command="{Binding HotCoolplatePageClickedCommand}"/>
|
||||
|
||||
<Button IsEnabled="{Binding CanUserChangePageNIOStation}"
|
||||
Grid.Row="6"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
Content="NOK Station"
|
||||
Command="{Binding NIOStationPageClickedCommand}"/>
|
||||
|
||||
<Border Grid.Row="7"
|
||||
Margin="5"
|
||||
BorderBrush="White"
|
||||
BorderThickness="0,5,0,0"/>
|
||||
|
||||
<Button IsEnabled="{Binding CanUserChangePageKukaRobot}"
|
||||
Grid.Row="8"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="36" Content="Kuka Roboter"
|
||||
Command="{Binding KukaPageClickedCommand}"/>
|
||||
|
||||
<Button IsEnabled="{Binding CanUserChangePageMediaCabinet}"
|
||||
Grid.Row="9"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
FontFamily="Arial"
|
||||
Content="Medienschrank"
|
||||
Command="{Binding MediaCabinetPageClickedCommand}"/>
|
||||
|
||||
</Grid>
|
||||
|
||||
<Button IsEnabled="{Binding CanUserChangePageTrayFeeder}"
|
||||
Command="{Binding TrayfeederPageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="2203,572,820,780"/>
|
||||
<Button IsEnabled="{Binding CanUserChangePageKukaRobot}"
|
||||
Command="{Binding KukaPageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="1822,610,1380,780"/>
|
||||
<Button IsEnabled="{Binding CanUserChangePageEtching1}"
|
||||
Command="{Binding Etching1PageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="1480,819,1749,644" RenderTransformOrigin="0.5,0.5">
|
||||
<Button.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform/>
|
||||
@@ -109,7 +131,8 @@
|
||||
</TransformGroup>
|
||||
</Button.RenderTransform>
|
||||
</Button>
|
||||
<Button Command="{Binding Etching2PageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="1431,473,1770,971" RenderTransformOrigin="0.5,0.5">
|
||||
<Button IsEnabled="{Binding CanUserChangePageEtching2}"
|
||||
Command="{Binding Etching2PageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="1431,473,1770,971" RenderTransformOrigin="0.5,0.5">
|
||||
<Button.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform/>
|
||||
@@ -118,7 +141,8 @@
|
||||
</TransformGroup>
|
||||
</Button.RenderTransform>
|
||||
</Button>
|
||||
<Button Command="{Binding HVTestPageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="1706,183,1472,1202" RenderTransformOrigin="0.5,0.5">
|
||||
<Button IsEnabled="{Binding CanUserChangePageHighVoltage}"
|
||||
Command="{Binding HVTestPageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="1706,183,1472,1202" RenderTransformOrigin="0.5,0.5">
|
||||
<Button.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform/>
|
||||
@@ -127,7 +151,8 @@
|
||||
</TransformGroup>
|
||||
</Button.RenderTransform>
|
||||
</Button>
|
||||
<Button Command="{Binding HotCoolplatePageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="2039,316,1175,1106" RenderTransformOrigin="0.5,0.5">
|
||||
<Button IsEnabled="{Binding CanUserChangePageHotCoolplate}"
|
||||
Command="{Binding HotCoolplatePageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="2039,316,1175,1106" RenderTransformOrigin="0.5,0.5">
|
||||
<Button.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform/>
|
||||
@@ -136,9 +161,11 @@
|
||||
</TransformGroup>
|
||||
</Button.RenderTransform>
|
||||
</Button>
|
||||
<Button Command="{Binding MediaCabinetPageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="878,565,2350,641"/>
|
||||
<Button IsEnabled="{Binding CanUserChangePageMediaCabinet}"
|
||||
Command="{Binding MediaCabinetPageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="878,565,2350,641"/>
|
||||
|
||||
<Button Command="{Binding AlignerPageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="1633,1048,1594,474" RenderTransformOrigin="0.5,0.5">
|
||||
<Button IsEnabled="{Binding CanUserChangePageAlignment}"
|
||||
Command="{Binding AlignerPageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="1633,1048,1594,474" RenderTransformOrigin="0.5,0.5">
|
||||
<Button.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform/>
|
||||
@@ -148,7 +175,8 @@
|
||||
</TransformGroup>
|
||||
</Button.RenderTransform>
|
||||
</Button>
|
||||
<Button Command="{Binding NIOStationPageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="1707,932,1543,601" RenderTransformOrigin="0.5,0.5">
|
||||
<Button IsEnabled="{Binding CanUserChangePageNIOStation}"
|
||||
Command="{Binding NIOStationPageClickedCommand}" Background="Transparent" Grid.Column="1" Margin="1707,932,1543,601" RenderTransformOrigin="0.5,0.5">
|
||||
<Button.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform/>
|
||||
@@ -158,6 +186,11 @@
|
||||
</TransformGroup>
|
||||
</Button.RenderTransform>
|
||||
</Button>
|
||||
|
||||
<common:PackMLControl Margin="20 7 10 5"
|
||||
IsEnabled="{Binding CanUserInteract}"
|
||||
Grid.Column="1"
|
||||
DataContext="{Binding MachinePackMLControlVM}" HorizontalAlignment="Left" VerticalAlignment="Top" />
|
||||
|
||||
</Grid>
|
||||
</Viewbox>
|
||||
</Page>
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace InfineonHMI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class MachineOverviewPage : Page
|
||||
{
|
||||
public MachineOverviewPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
namespace InfineonHMI;
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class MachineOverviewPage : Page
|
||||
{
|
||||
public MachineOverviewPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -20,19 +20,20 @@
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="2*"/>
|
||||
<RowDefinition Height="33*" />
|
||||
<RowDefinition Height="33*" />
|
||||
<RowDefinition Height="4*"/>
|
||||
<RowDefinition Height="30*" />
|
||||
<RowDefinition Height="30*" />
|
||||
<RowDefinition Height="33*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="0" Content="Mediacabinet Page" VerticalAlignment="Center" HorizontalAlignment="Left" />
|
||||
<Label Grid.Row="0" Grid.Column="0" Content="Mediacabinet Page" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="35" />
|
||||
|
||||
<common:MediaContainer Grid.Row="1" Grid.Column="0" Height="400" Width="300" Margin="10" HorizontalAlignment="Center" DataContext="{Binding Container1Vm}"/>
|
||||
<common:MediaContainer Grid.Row="2" Grid.Column="0" Height="400" Width="300" Margin="10" HorizontalAlignment="Center" DataContext="{Binding Container2Vm}"/>
|
||||
<common:MediaContainer Grid.Row="3" Grid.Column="0" Height="400" Width="300" Margin="10" HorizontalAlignment="Center" DataContext="{Binding Container3Vm}"/>
|
||||
|
||||
|
||||
<common:MediaContainer Grid.Row="1" Grid.Column="1" Height="400" Width="300" Margin="10" HorizontalAlignment="Center" DataContext="{Binding Container4Vm}"/>
|
||||
|
||||
<common:MediaContainer Grid.Row="1" Grid.Column="1" Height="400" Width="300" Margin="10" HorizontalAlignment="Center" DataContext="{Binding Container4Vm}"/>
|
||||
<common:MediaContainer Grid.Row="2" Grid.Column="1" Height="400" Width="300" Margin="10" HorizontalAlignment="Center" DataContext="{Binding Container5Vm}"/>
|
||||
<common:MediaContainer Grid.Row="3" Grid.Column="1" Height="400" Width="300" Margin="10" HorizontalAlignment="Center" DataContext="{Binding Container6Vm}"/>
|
||||
|
||||
@@ -41,5 +42,9 @@
|
||||
<common:MediaContainer Grid.Row="2" Grid.Column="2" Height="400" Width="300" Margin="10" HorizontalAlignment="Center" DataContext="{Binding Container8Vm}"/>
|
||||
<common:MediaContainer Grid.Row="3" Grid.Column="2" Height="400" Width="300" Margin="10" HorizontalAlignment="Center" DataContext="{Binding Container9Vm}"/>
|
||||
|
||||
<common:MediaContainer Grid.Row="1" Grid.Column="3" Height="400" Width="300" Margin="10" HorizontalAlignment="Center" DataContext="{Binding Container10Vm}"/>
|
||||
<common:MediaContainer Grid.Row="2" Grid.Column="3" Height="400" Width="300" Margin="10" HorizontalAlignment="Center" DataContext="{Binding Container11Vm}"/>
|
||||
<common:MediaContainer Grid.Row="3" Grid.Column="3" Height="400" Width="300" Margin="10" HorizontalAlignment="Center" DataContext="{Binding Container12Vm}"/>
|
||||
|
||||
</Grid>
|
||||
</Page>
|
||||
|
||||
@@ -1,22 +1,21 @@
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace InfineonHMI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class MediaCabinetPage : Page
|
||||
{
|
||||
public MediaCabinetPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
namespace InfineonHMI;
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class MediaCabinetPage : Page
|
||||
{
|
||||
public MediaCabinetPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
@@ -4,13 +4,15 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:InfineonHMI"
|
||||
xmlns:HMIToolkit="clr-namespace:HMIToolkit" x:Class="InfineonHMI.NIOStationPage"
|
||||
xmlns:HMIToolkit="clr-namespace:HMIToolkit"
|
||||
xmlns:common="clr-namespace:Common"
|
||||
x:Class="InfineonHMI.NIOStationPage"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance IsDesignTimeCreatable=True, Type={x:Type local:NIOStationPageVM}}"
|
||||
d:DesignHeight="800" d:DesignWidth="1850"
|
||||
d:DesignHeight="1554" d:DesignWidth="3390"
|
||||
Title="NIOStationPage">
|
||||
|
||||
<Grid>
|
||||
<Grid Margin="20">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
@@ -31,16 +33,16 @@
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Content="NOK Station" VerticalAlignment="Top" HorizontalAlignment="Left" FontSize="40" />
|
||||
|
||||
<Label Grid.Row="0" Grid.Column="0" Content="NIO Station" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
||||
<HMIToolkit:BinaryValveControl DataContext="{Binding ClampDiagValveVm}" Grid.Column="0" HorizontalAlignment="Center" Grid.Row="1" Grid.RowSpan="4" VerticalAlignment="Top" />
|
||||
<HMIToolkit:BinaryValveControl DataContext="{Binding ClampAcrossValveVm}" Grid.Column="1" HorizontalAlignment="Center" Grid.Row="1" Grid.RowSpan="4" VerticalAlignment="Top" />
|
||||
|
||||
<Button Grid.Row="1" Grid.Column="2" Content="Tray Fixieren" DataContext="{Binding ClampCmdButtonVm}" HorizontalAlignment="Center" Width="180" Height="60" />
|
||||
<Button Grid.Row="2" Grid.Column="2" Content="Tray Lösen" DataContext="{Binding UnclampCmdButtonVm}" HorizontalAlignment="Center" Width="180" Height="60" />
|
||||
<Button Grid.Row="1" Grid.Column="2" Content="Tray Fixieren" DataContext="{Binding ClampCmdButtonVm}" HorizontalAlignment="Center" Width="320" Height="140" FontSize="30" />
|
||||
<Button Grid.Row="2" Grid.Column="2" Content="Tray Lösen" DataContext="{Binding UnclampCmdButtonVm}" HorizontalAlignment="Center" Width="320" Height="140" FontSize="30" />
|
||||
|
||||
<common:PackMLControl Grid.Row="0" Grid.Column="6" Grid.ColumnSpan="2" HorizontalAlignment="Right" Grid.RowSpan="6" Width="Auto" Margin="20" DataContext="{Binding NIOStationPackMLControlVm}"/>
|
||||
|
||||
</Grid>
|
||||
</Page>
|
||||
|
||||
@@ -1,22 +1,21 @@
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace InfineonHMI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class NIOStationPage : Page
|
||||
{
|
||||
public NIOStationPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
namespace InfineonHMI;
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class NIOStationPage : Page
|
||||
{
|
||||
public NIOStationPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
@@ -8,80 +8,91 @@
|
||||
d:DataContext="{d:DesignInstance Type=uniperHmi:ProductionOverviewPageVM, IsDesignTimeCreatable=True}"
|
||||
Title="Production Overview">
|
||||
|
||||
<Viewbox Stretch="none">
|
||||
<Grid Width="3840" Height="1650">
|
||||
|
||||
<Grid Width="3840" Height="1554">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.12*"/>
|
||||
<ColumnDefinition Width="0.93*"/>
|
||||
<ColumnDefinition Width="450"/>
|
||||
<ColumnDefinition Width="*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Grid Grid.Column="0" Margin="25 0 0 0">
|
||||
<Grid Grid.Column="0" >
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Button Grid.Row="0"
|
||||
Margin="5"
|
||||
<Button Grid.Row="0"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
FontFamily="Arial"
|
||||
Content="Trayfeeder
Ein-/Ausgabe"
|
||||
Command="{Binding TrayfeederPageClickedCommand}"/>
|
||||
|
||||
<Button Grid.Row="1"
|
||||
<Button Grid.Row="1"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="39"
|
||||
Content="Ausrichtstation"
|
||||
Command="{Binding AlignerPageClickedCommand}"/>
|
||||
|
||||
<Button Grid.Row="2"
|
||||
<Button Grid.Row="2"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
Content="Ätzer 1"
|
||||
Command="{Binding Etching1PageClickedCommand}"/>
|
||||
|
||||
<Button Grid.Row="3"
|
||||
<Button Grid.Row="3"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
Content="Ätzer 2"
|
||||
Command="{Binding Etching2PageClickedCommand}"/>
|
||||
|
||||
<Button Grid.Row="4"
|
||||
<Button Grid.Row="4"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
Content="HV Test"
|
||||
Command="{Binding HVTestPageClickedCommand}"/>
|
||||
|
||||
<Button Grid.Row="5"
|
||||
<Button Grid.Row="5"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
Content="Heiz-
/Kühlplatte"
|
||||
Command="{Binding HotCoolplatePageClickedCommand}"/>
|
||||
|
||||
<Button Grid.Row="6"
|
||||
<Button Grid.Row="6"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
Content="NOK Station"
|
||||
Command="{Binding NIOStationPageClickedCommand}"/>
|
||||
|
||||
<Border Grid.Row="7"
|
||||
BorderBrush="White"
|
||||
BorderThickness="0,5,0,0"/>
|
||||
<Border Grid.Row="7"
|
||||
Margin="5"
|
||||
BorderBrush="White"
|
||||
BorderThickness="0,5,0,0"/>
|
||||
|
||||
<Button Grid.Row="7"
|
||||
Margin="5,15,5,5"
|
||||
<Button Grid.Row="8"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="36" Content="Kuka Roboter"
|
||||
Command="{Binding KukaPageClickedCommand}"/>
|
||||
|
||||
<Button Grid.Row="8"
|
||||
<Button Grid.Row="9"
|
||||
Height="160"
|
||||
Margin="5"
|
||||
FontSize="36"
|
||||
FontFamily="Arial"
|
||||
@@ -96,5 +107,4 @@
|
||||
Content="{Binding CurrentDetailPage}"/>
|
||||
|
||||
</Grid>
|
||||
</Viewbox>
|
||||
</Page>
|
||||
|
||||
@@ -1,22 +1,21 @@
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace InfineonHMI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class ProductionOverviewPage : Page
|
||||
{
|
||||
public ProductionOverviewPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
namespace InfineonHMI;
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class ProductionOverviewPage : Page
|
||||
{
|
||||
public ProductionOverviewPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
// Unloaded += OnUnloaded;
|
||||
}
|
||||
|
||||
private void OnUnloaded(object? sender, EventArgs e)
|
||||
{
|
||||
var disposable = DataContext as IDisposable;
|
||||
disposable?.Dispose();
|
||||
}
|
||||
}
|
||||
@@ -7,17 +7,19 @@
|
||||
xmlns:common="clr-namespace:Common"
|
||||
d:DataContext="{d:DesignInstance Type=uniperHmi:ReceipePageVM, IsDesignTimeCreatable=True}"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="1900" d:DesignWidth="3800">
|
||||
d:DesignHeight="1554" d:DesignWidth="3840">
|
||||
|
||||
<Page.Resources>
|
||||
<CollectionViewSource x:Key="FlowStations" Source="{Binding FlowStationsVm}"></CollectionViewSource>
|
||||
<CollectionViewSource x:Key="FlowStations" Source="{Binding FlowStationsVm}"/>
|
||||
<Style x:Key="Foo" TargetType="DataGridCell">
|
||||
<Setter Property="FontSize" Value="30"/>
|
||||
</Style>
|
||||
</Page.Resources>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="33*"/>
|
||||
<ColumnDefinition Width="33*"/>
|
||||
<ColumnDefinition Width="17*"/>
|
||||
<ColumnDefinition Width="17*"/>
|
||||
<ColumnDefinition Width="0.25*"/>
|
||||
<ColumnDefinition Width="0.25*"/>
|
||||
<ColumnDefinition Width="0.5*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
@@ -40,34 +42,40 @@
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<StackPanel Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Orientation="Horizontal">
|
||||
<Button Grid.Row="0" x:Name="BtnReadReceipeFile"
|
||||
Content="Rezept aus Datei Laden"
|
||||
Width="120"
|
||||
Width="450" Height="140" FontSize="30"
|
||||
Command="{Binding ReadReceipeFileCommand}"
|
||||
HorizontalAlignment="Left"
|
||||
Margin="10"/>
|
||||
|
||||
<Button Grid.Row="0" x:Name="BtnWriteReceipeFile"
|
||||
Content="Rezept speichern"
|
||||
Width="120"
|
||||
Width="450" Height="140" FontSize="30"
|
||||
Command="{Binding WriteReceipeFileCommand}"
|
||||
HorizontalAlignment="Left"
|
||||
Margin="10"/>
|
||||
<Button Grid.Row="0" x:Name="BtnWriteToPlc"
|
||||
Content="Sende Daten an SPS"
|
||||
Width="120"
|
||||
Command="{Binding WriteToPlcCommand}"
|
||||
HorizontalAlignment="Left"
|
||||
Margin="10"/>
|
||||
<Button Grid.Row="0" x:Name="BtnWriteToPlc"
|
||||
Content="Sende Daten an SPS"
|
||||
Width="450" Height="140" FontSize="30"
|
||||
Command="{Binding WriteToPlcCommand}"
|
||||
HorizontalAlignment="Left"
|
||||
Margin="10"/>
|
||||
<Button Grid.Row="0" x:Name="BtnReadToPlc"
|
||||
Content="Lese Daten von SPS"
|
||||
Width="450" Height="140" FontSize="30"
|
||||
Command="{Binding ReadFromPlcCommand}"
|
||||
HorizontalAlignment="Left"
|
||||
Margin="10"
|
||||
Visibility ="Collapsed"
|
||||
/>
|
||||
</StackPanel>
|
||||
<Label Grid.Column="0" Grid.Row="1" Content="Allgemein: " VerticalAlignment="Center" FontSize="24"></Label>
|
||||
<common:ParamControlFloat Grid.Column="0" Grid.Row="2" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding CameraProgramsVm}"/>
|
||||
<common:ParamControlFloat Grid.Column="0" Grid.Row="3" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding ChucksVm}"/>
|
||||
<common:ParamControlFloat Grid.Column="0" Grid.Row="4" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding GripperVm}"/>
|
||||
<common:ParamControlInt Grid.Column="0" Grid.Row="2" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding CameraProgramsVm}"/>
|
||||
<common:ParamControlInt Grid.Column="0" Grid.Row="3" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding ChucksVm}"/>
|
||||
<common:ParamControlInt Grid.Column="0" Grid.Row="4" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding GripperVm}"/>
|
||||
<common:ParamControlFloat Grid.Column="0" Grid.Row="6" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding DiameterVm}"/>
|
||||
<common:ParamControlFloat Grid.Column="0" Grid.Row="7" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding ThicknessVm}"/>
|
||||
|
||||
@@ -88,8 +96,8 @@
|
||||
<Label Grid.Column="1" Grid.Row="1" Content="Hochvolt Parameter: " VerticalAlignment="Center" FontSize="24"></Label>
|
||||
<common:ParamControlFloat Grid.Column="1" Grid.Row="2" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding HvmaxTestCurrentVm}"/>
|
||||
<common:ParamControlFloat Grid.Column="1" Grid.Row="3" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding Hvn2PrePurgeTimeVm}"/>
|
||||
<common:ParamControlFloat Grid.Column="1" Grid.Row="4" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding HvnumRetriesVm}"/>
|
||||
<common:ParamControlFloat Grid.Column="1" Grid.Row="5" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding HvpolarityVm}"/>
|
||||
<common:ParamControlInt Grid.Column="1" Grid.Row="4" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding HvnumRetriesVm}"/>
|
||||
<common:ParamControlInt Grid.Column="1" Grid.Row="5" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding HvpolarityVm}"/>
|
||||
<common:ParamControlFloat Grid.Column="1" Grid.Row="6" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding HvrampTimeVm}"/>
|
||||
<common:ParamControlFloat Grid.Column="1" Grid.Row="7" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding HvtestFrequencyVm}"/>
|
||||
<common:ParamControlFloat Grid.Column="1" Grid.Row="8" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding HvTestOkCurrentVm}"/>
|
||||
@@ -97,22 +105,59 @@
|
||||
<common:ParamControlFloat Grid.Column="1" Grid.Row="10" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding HvtestTemperatureVm}"/>
|
||||
<common:ParamControlFloat Grid.Column="1" Grid.Row="11" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding HvtestVoltageVm}"/>
|
||||
<common:ParamControlFloat Grid.Column="1" Grid.Row="12" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" DataContext="{Binding HvtestPressureN2Vm}"/>
|
||||
|
||||
<Label Grid.Column="1" Grid.Row="14" Content="Durchlaufrezept Tabelle"></Label>
|
||||
<Grid Grid.Column="1" Grid.Row="15" Grid.RowSpan="6">
|
||||
|
||||
<Label Grid.Column="1" Grid.Row="14" Content="Traypositionen" FontSize="35"></Label>
|
||||
<Grid Grid.Column="1" Grid.Row="15" Grid.RowSpan="5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.8*"/>
|
||||
<ColumnDefinition Width="0.2*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<DataGrid Grid.Column="0" ItemsSource="{Binding TrayPositions}"
|
||||
SelectedItem="{Binding SelectedTrayPosition}"
|
||||
AutoGenerateColumns="False" CanUserAddRows="False" FontSize="30" >
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="Pos Nr." Binding="{Binding PosId}"/>
|
||||
<DataGridTextColumn Header="Pos X" Binding="{Binding PosX}" Width="170"/>
|
||||
<DataGridTextColumn Header="Pos Y" Binding="{Binding PosY}" Width="170"/>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
<StackPanel Grid.Column="1" Orientation="Vertical">
|
||||
<Button Content="+" FontSize="24" Width="60" Height="60" HorizontalAlignment="Left" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Margin="10" Command="{Binding AddTrayPositionCommand}" IsEnabled="{Binding CanAddTrayPosition}"/>
|
||||
<Button Content="-" FontSize="24" Width="60" Height="60" HorizontalAlignment="Left" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Margin="10" Command="{Binding RemoveTrayPositionCommand}" IsEnabled="{Binding CanRemoveTrayPosition}"/>
|
||||
<Button Content="↑" FontSize="24" Width="60" Height="60" HorizontalAlignment="Left" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Margin="10" Command="{Binding TrayPositionUpCommand}"/>
|
||||
<Button Content="↓" FontSize="24" Width="60" Height="60" HorizontalAlignment="Left" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Margin="10" Command="{Binding TrayPositionDownCommand}"/>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
<Label Grid.Column="2" Grid.Row="1" Content="Durchlaufrezept Tabelle" FontSize="30"/>
|
||||
<Grid Grid.Column="2" Grid.Row="2" Grid.RowSpan="6">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="90*"/>
|
||||
<ColumnDefinition Width="10*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<DataGrid Grid.Column="0" ItemsSource="{Binding FlowReceipeEntries}"
|
||||
SelectedItem="{Binding SelectedFlowReceipeEntry, UpdateSourceTrigger=PropertyChanged}"
|
||||
AutoGenerateColumns="False" CanUserAddRows="False">
|
||||
AutoGenerateColumns="False" CanUserAddRows="False" FontSize="30">
|
||||
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="NodeID" Binding="{Binding NodeId}"/>
|
||||
<DataGridTextColumn Header="Priorität" Binding="{Binding Priority}"/>
|
||||
<DataGridComboBoxColumn Header="Station"
|
||||
<DataGridTextColumn Header="Prio" Binding="{Binding Priority}"/>
|
||||
<DataGridComboBoxColumn Header="Station"
|
||||
ItemsSource="{Binding Source={StaticResource FlowStations}}"
|
||||
SelectedValueBinding="{Binding Station, NotifyOnTargetUpdated=True, NotifyOnSourceUpdated=True}"/>
|
||||
SelectedValueBinding="{Binding Station, NotifyOnTargetUpdated=True, NotifyOnSourceUpdated=True}">
|
||||
<DataGridComboBoxColumn.ElementStyle>
|
||||
<Style TargetType="ComboBox">
|
||||
<Setter Property="FontSize" Value="30"/>
|
||||
<Setter Property="IsHitTestVisible" Value="False"/>
|
||||
<Setter Property="Focusable" Value="False"/>
|
||||
</Style>
|
||||
</DataGridComboBoxColumn.ElementStyle>
|
||||
<DataGridComboBoxColumn.EditingElementStyle>
|
||||
<Style TargetType="ComboBox">
|
||||
<Setter Property="FontSize" Value="30"/>
|
||||
</Style>
|
||||
</DataGridComboBoxColumn.EditingElementStyle>
|
||||
</DataGridComboBoxColumn>
|
||||
<DataGridTextColumn Header="Max. Wdh." Binding="{Binding MaxRetries}"/>
|
||||
<DataGridTextColumn Header="Nächste Node" Binding="{Binding NextNodeSuccess}"/>
|
||||
<DataGridTextColumn Header="Nächste Node bei Wdh." Binding="{Binding NextNodeRetry}"/>
|
||||
@@ -129,39 +174,16 @@
|
||||
|
||||
|
||||
|
||||
|
||||
<Label Grid.Column="2" Grid.Row="1" Content="Traypositionen" FontSize="24"></Label>
|
||||
<Grid Grid.Column="2" Grid.Row="1" Grid.RowSpan="6">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="80*"/>
|
||||
<ColumnDefinition Width="20*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<DataGrid Grid.Column="0" ItemsSource="{Binding TrayPositions}"
|
||||
SelectedItem="{Binding SelectedTrayPosition}"
|
||||
AutoGenerateColumns="False" CanUserAddRows="False">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="Pos Nr." Binding="{Binding PosId}"/>
|
||||
<DataGridTextColumn Header="Pos X" Binding="{Binding PosX}"/>
|
||||
<DataGridTextColumn Header="Pos Y" Binding="{Binding PosY}"></DataGridTextColumn>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
<StackPanel Grid.Column="1" Orientation="Vertical">
|
||||
<Button Content="+" FontSize="24" Width="60" Height="60" HorizontalAlignment="Left" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Margin="10" Command="{Binding AddTrayPositionCommand}" IsEnabled="{Binding CanAddTrayPosition}"></Button>
|
||||
<Button Content="-" FontSize="24" Width="60" Height="60" HorizontalAlignment="Left" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Margin="10" Command="{Binding RemoveTrayPositionCommand}" IsEnabled="{Binding CanRemoveTrayPosition}"></Button>
|
||||
<Button Content="↑" FontSize="24" Width="60" Height="60" HorizontalAlignment="Left" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Margin="10" Command="{Binding TrayPositionUpCommand}"></Button>
|
||||
<Button Content="↓" FontSize="24" Width="60" Height="60" HorizontalAlignment="Left" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Margin="10" Command="{Binding TrayPositionDownCommand}"></Button>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
|
||||
<Label Grid.Column="2" Grid.Row="9" Content="Ätzschritte Mecademic Roboter"></Label>
|
||||
<Grid Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="10" Grid.RowSpan="7">
|
||||
|
||||
<Label Grid.Column="2" Grid.Row="9" Content="Ätzschritte Mecademic Roboter" FontSize="30"></Label>
|
||||
<Grid Grid.Column="2" Grid.ColumnSpan="1" Grid.Row="10" Grid.RowSpan="7">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="90*"/>
|
||||
<ColumnDefinition Width="10*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<DataGrid Grid.Column="0" ItemsSource="{Binding EtcherRobotSteps}"
|
||||
SelectedItem="{Binding SelectedEtchRobotStep, UpdateSourceTrigger=PropertyChanged}"
|
||||
AutoGenerateColumns="False" CanUserAddRows="False">
|
||||
AutoGenerateColumns="False" CanUserAddRows="False" FontSize="30">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Header="Pos X" Binding="{Binding PosX}"/>
|
||||
<DataGridTextColumn Header="Pos Y" Binding="{Binding PosY}"/>
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace InfineonHMI.Pages.Views
|
||||
namespace InfineonHMI.Pages.Views;
|
||||
|
||||
/// <summary>
|
||||
/// Receipes Overview Page
|
||||
/// </summary>
|
||||
public partial class ReceipePage : Page
|
||||
{
|
||||
/// <summary>
|
||||
/// Receipes Overview Page
|
||||
/// </summary>
|
||||
public partial class ReceipePage : Page
|
||||
public ReceipePage()
|
||||
{
|
||||
public ReceipePage()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,17 +4,22 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:InfineonHMI"
|
||||
xmlns:common="clr-namespace:Common"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=local:TrayFeederPageVM, IsDesignTimeCreatable=True}"
|
||||
d:DesignHeight="800" d:DesignWidth="1850"
|
||||
d:DesignHeight="1554" d:DesignWidth="3390"
|
||||
Title="Trayfeeder">
|
||||
|
||||
<Grid>
|
||||
<Grid Margin="20">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition />
|
||||
@@ -27,7 +32,10 @@
|
||||
<RowDefinition />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="0" Content="TrayFeederPage" VerticalAlignment="Center" HorizontalAlignment="Left" />
|
||||
<Label Grid.Row="0" Grid.Column="0" Content="TrayFeederPage" VerticalAlignment="Top" HorizontalAlignment="Left" FontSize="40"/>
|
||||
|
||||
<common:PackMLControl Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="2" HorizontalAlignment="Right" Grid.RowSpan="6" Width="Auto" Margin="20" DataContext="{Binding TrayfeederInPackMLControlVm}"/>
|
||||
<common:PackMLControl Grid.Row="0" Grid.Column="6" Grid.ColumnSpan="2" HorizontalAlignment="Right" Grid.RowSpan="6" Width="Auto" Margin="20" DataContext="{Binding TrayfeederOutPackMLControlVm}"/>
|
||||
|
||||
</Grid>
|
||||
</Page>
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace InfineonHMI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class TrayFeederPage : Page
|
||||
{
|
||||
public TrayFeederPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
namespace InfineonHMI;
|
||||
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Interaktionslogik für AutomaticModePage.xaml
|
||||
/// </summary>
|
||||
public partial class TrayFeederPage : Page
|
||||
{
|
||||
public TrayFeederPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user