Push Alpha Version

This commit is contained in:
2026-02-27 16:09:59 +01:00
parent a0ef457995
commit d2665d17fa
209 changed files with 13423 additions and 1034 deletions

View File

@@ -6,10 +6,11 @@ using CommunityToolkit.Mvvm.Input;
using TwinCAT.TypeSystem;
using System.Collections.ObjectModel;
using System.Security.Policy;
using UniperHMI.Model;
using System.Printing;
using System.Windows;
using InfineonHMI.Model;
namespace UniperHMI
namespace InfineonHMI
{
public sealed partial class KukaRobotPageVM : ObservableValidator, IDisposable
{
@@ -21,27 +22,27 @@ namespace UniperHMI
private const string sResetState = "_adsVariable_kukaResetState";
private const string sClearState = "_adsVariable_kukaClearState";
private const string sAcknPLCJob = "_adsVariable_kukaAcknPLCJob";
private const string sCoolplateIndex = "_adsVariable_kukaCoolplateIndex";
private const string sHotplateIndex = "_adsVariable_kukaHotPlateIndex";
private const string sCoolplateIndex = "GVL_SCADA.stMachine.stKukaRobot.stJobParams.byPlaceOnCoolPlate";
private const string sHotplateIndex = "GVL_SCADA.stMachine.stKukaRobot.stJobParams.byPlaceOnHotPlate";
private const string sPieceThickness = "_adsVariable_kukaPieceThickness";
private const string sJobGrippSide = "_adsVariable_kukaJobGrippSide";
private const string sJobGrippType = "_adsVariable_kukaJobGrippType";
private const string sChuckMagazinPlace = "_adsVariable_kukaChuckMagazinPlace";
private const string sSelectedRobotJob = "_adsVariable_kukaRobotJob";
private const string sJobGrippSide = "GVL_SCADA.stMachine.stKukaRobot.stJobParams.byGripperNumber";
private const string sJobGrippType = "GVL_SCADA.stMachine.stKukaRobot.stJobParams.byGripperNumber";
private const string sChuckMagazinPlace = "GVL_SCADA.stMachine.stKukaRobot.stJobParams.byChuckNumber";
private const string sSelectedRobotJob = "GVL_SCADA.stMachine.stKukaRobot.stJobParams.eJob";
private const string sActiveRobotJob = "_adsVariable_kukaActiveRobotJob";
private const string sFinishedRobotJob = "_adsVariable_kukaFinishedRobotJob";
private const string sSelectedPLCJob = "_adsVariable_kukaPLCJob";
private const string sOffsetPick_X = "_adsVariable_kukaOffsetPick_X";
private const string sOffsetPick_Y = "_adsVariable_kukaOffsetPick_Y";
private const string sOffsetPlace_X = "_adsVariable_kukaOffsetPlace_X";
private const string sOffsetPlace_Y = "_adsVariable_kukaOffsetPlace_Y";
private const string sOffsetNIOPick_X = "_adsVariable_kukaOffsetNIOPick_X";
private const string sOffsetNIOPick_Y = "_adsVariable_kukaOffsetNIOPick_Y";
private const string sOffsetNIOPlace_X = "_adsVariable_kukaOffsetNIOPlace_X";
private const string sOffsetNIOPlace_Y = "_adsVariable_kukaOffsetNIOPlace_Y";
private const string sOffsetPick_X = "GVL_SCADA.stMachine.stKukaRobot.stJobParams.rPosX";
private const string sOffsetPick_Y = "GVL_SCADA.stMachine.stKukaRobot.stJobParams.rPosY";
private const string sOffsetPlace_X = "GVL_SCADA.stMachine.stKukaRobot.stJobParams.rPosX";
private const string sOffsetPlace_Y = "GVL_SCADA.stMachine.stKukaRobot.stJobParams.rPosY";
private const string sOffsetNIOPick_X = "GVL_SCADA.stMachine.stKukaRobot.stJobParams.rPosX";
private const string sOffsetNIOPick_Y = "GVL_SCADA.stMachine.stKukaRobot.stJobParams.rPosY";
private const string sOffsetNIOPlace_X = "GVL_SCADA.stMachine.stKukaRobot.stJobParams.rPosX";
private const string sOffsetNIOPlace_Y = "GVL_SCADA.stMachine.stKukaRobot.stJobParams.rPosY";
private BMSControlModeEntry currentControlMode;
private BMSControlModeEntry currentControlMode;
public BMSControlModeEntry CurrentControlMode
{
get { return currentControlMode; }
@@ -74,6 +75,30 @@ namespace UniperHMI
[ObservableProperty]
private HMIControlButtonVM? abortButton;
private const string sChuckOnPlace1 = "_adsVariable_MagazinPlace1";
private const string sChuckOnPlace2 = "_adsVariable_MagazinPlace2";
private const string sChuckOnPlace3 = "_adsVariable_MagazinPlace3";
private const string sChuckOnPlace4 = "_adsVariable_MagazinPlace4";
private const string sChuckOnPlace5 = "_adsVariable_MagazinPlace5";
private const string sChuckOnPlace6 = "_adsVariable_MagazinPlace6";
[ObservableProperty]
private Visibility magazinPlace1;
[ObservableProperty]
private Visibility magazinPlace2;
[ObservableProperty]
private Visibility magazinPlace3;
[ObservableProperty]
private Visibility magazinPlace4;
[ObservableProperty]
private Visibility magazinPlace5;
[ObservableProperty]
private Visibility magazinPlace6;
private int jobGrippSide;
public int JobGrippSide
@@ -81,7 +106,7 @@ namespace UniperHMI
get { return jobGrippSide; }
set
{
jobGrippSide = value;
SetProperty(ref jobGrippSide, value);
_adsManager?.WriteValue(sJobGrippSide, value);
}
}
@@ -96,7 +121,7 @@ namespace UniperHMI
get { return jobGrippType; }
set
{
jobGrippType = value;
SetProperty(ref jobGrippType, value);
_adsManager?.WriteValue(sJobGrippType, value);
}
@@ -112,7 +137,7 @@ namespace UniperHMI
get { return chuckMagazinPlace; }
set
{
chuckMagazinPlace = value;
SetProperty(ref chuckMagazinPlace, value);
_adsManager?.WriteValue(sChuckMagazinPlace, value);
}
}
@@ -127,7 +152,7 @@ namespace UniperHMI
get { return pieceThickness; }
set
{
pieceThickness = value;
SetProperty(ref pieceThickness, value);
_adsManager?.WriteValue(sPieceThickness, value);
}
}
@@ -142,7 +167,7 @@ namespace UniperHMI
get { return offsetPick_X; }
set
{
offsetPick_X = value;
SetProperty(ref offsetPick_X, value);
_adsManager?.WriteValue(sOffsetPick_X, value);
}
}
@@ -154,7 +179,7 @@ namespace UniperHMI
get { return offsetPick_Y; }
set
{
offsetPick_Y = value;
SetProperty(ref offsetPick_Y, value);
_adsManager?.WriteValue(sOffsetPick_Y, value);
}
}
@@ -168,7 +193,7 @@ namespace UniperHMI
get { return offsetPlace_X; }
set
{
offsetPlace_X = value;
SetProperty(ref offsetPlace_X, value);
_adsManager?.WriteValue(sOffsetPlace_X, value);
}
}
@@ -179,7 +204,7 @@ namespace UniperHMI
get { return offsetPlace_Y; }
set
{
offsetPlace_Y = value;
SetProperty(ref offsetPlace_Y, value);
_adsManager?.WriteValue(sOffsetPlace_Y, value);
}
}
@@ -195,7 +220,7 @@ namespace UniperHMI
get { return offsetNIOPick_X; }
set
{
offsetNIOPick_X = value;
SetProperty(ref offsetNIOPick_X, value);
_adsManager?.WriteValue(sOffsetNIOPick_X, value);
}
}
@@ -206,7 +231,7 @@ namespace UniperHMI
get { return offsetNIOPick_Y; }
set
{
offsetNIOPick_Y = value;
SetProperty(ref offsetNIOPick_Y, value);
_adsManager?.WriteValue(sOffsetNIOPick_Y, value);
}
}
@@ -220,7 +245,7 @@ namespace UniperHMI
get { return offsetNIOPlace_X; }
set
{
offsetNIOPlace_X = value;
SetProperty(ref offsetNIOPlace_X, value);
_adsManager?.WriteValue(sOffsetNIOPlace_X, value);
}
}
@@ -231,7 +256,7 @@ namespace UniperHMI
get { return offsetNIOPlace_Y; }
set
{
offsetNIOPlace_Y = value;
SetProperty(ref offsetNIOPlace_Y, value);
_adsManager?.WriteValue(sOffsetNIOPlace_Y, value);
}
}
@@ -243,9 +268,9 @@ namespace UniperHMI
public int HotplateIndex
{
get { return hotplateIndex; }
set
set
{
hotplateIndex = value;
SetProperty(ref hotplateIndex, value);
_adsManager?.WriteValue(sHotplateIndex, value);
}
@@ -261,7 +286,7 @@ namespace UniperHMI
get { return coolplateIndex; }
set
{
coolplateIndex = value;
SetProperty(ref coolplateIndex, value);
_adsManager?.WriteValue(sCoolplateIndex, value);
}
}
@@ -330,7 +355,7 @@ namespace UniperHMI
get { return selectedRobotJob; }
set
{
selectedRobotJob = value;
SetProperty(ref selectedRobotJob, value);
CanChangeChuckMagazinPlace = (value == RobotJobs.First(i => i.eJob == RobotJobenum.PICK_CHUCK_MAGAZIN))
|| (value == RobotJobs.First(i => i.eJob == RobotJobenum.PUT_CHUCK_MAGAZIN));
CanChangeJobGrippType = value == RobotJobs.First(i => i.eJob == RobotJobenum.PICK_GRIPPER);
@@ -352,10 +377,9 @@ namespace UniperHMI
selectedRobotJob = RobotJobs.First(i => i.eJob == RobotJobenum.WARMUP);
robotJobActiveValue = RobotJobs.First(i => i.eJob == RobotJobenum.PUT_HVTEST_COLD);
robotJobFinishedValue = RobotJobs.First(i => i.eJob == RobotJobenum.PICK_HOTPLATE);
canChangeRobotJob = true;
selectedPLCJob = PLCJobs.First(i => i.eJob == PLCJobenum.NONE);
currentControlMode = new BMSControlModeEntry(E_BMS_CONTROL_MODE.MANUAL, "Manual");
canChangeRobotJob = true;currentControlMode = new BMSControlModeEntry(E_BMS_CONTROL_MODE.MANUAL, "Manual");
}
@@ -369,6 +393,11 @@ namespace UniperHMI
currentControlMode = new BMSControlModeEntry(E_BMS_CONTROL_MODE.MANUAL, "Manual");
CurrentControlMode = new BMSControlModeEntry(E_BMS_CONTROL_MODE.MANUAL, "Manual");
selectedRobotJob = RobotJobs.First(i => i.eJob == RobotJobenum.NONE);
robotJobActiveValue = RobotJobs.First(i => i.eJob == RobotJobenum.NONE);
robotJobFinishedValue = RobotJobs.First(i => i.eJob == RobotJobenum.NONE);
selectedPLCJob = PLCJobs.First(i => i.eJob == PLCJobenum.NONE);
_adsManager.Register(sJobGrippSide, OnJobGrippSideValueChanged);
_adsManager.Register(sJobGrippType, OnJobGrippTypeValueChanged);
_adsManager.Register(sChuckMagazinPlace, OnChuckMagazinPlaceValueChanged);
@@ -377,8 +406,8 @@ namespace UniperHMI
_adsManager.Register(sSelectedRobotJob, OnSelectedRobotJobValueChanged);
_adsManager.Register(sActiveRobotJob, OnActiveRobotJobValueChanged);
_adsManager.Register(sFinishedRobotJob, OnFinishedRobotJobValueChanged);
_adsManager.Register(sOffsetPick_X, OnOffsetPickYValueChanged);
_adsManager.Register(sOffsetPick_Y, OnOffsetPickXValueChanged);
_adsManager.Register(sOffsetPick_X, OnOffsetPickXValueChanged);
_adsManager.Register(sOffsetPick_Y, OnOffsetPickYValueChanged);
_adsManager.Register(sCoolplateIndex, OnCoolPlateIndexValueChanged);
_adsManager.Register(sHotplateIndex, OnHotPlateIndexValueChanged);
_adsManager.Register(sOffsetNIOPlace_Y, OnOffsetNIOPlaceYValueChanged);
@@ -386,9 +415,16 @@ namespace UniperHMI
_adsManager.Register(sOffsetNIOPick_Y, OnOffsetNIOPickYValueChanged);
_adsManager.Register(sOffsetNIOPick_X, OnOffsetNIOPickXValueChanged);
_adsManager.Register(sOffsetPlace_Y, OnOffsetPlaceYValueChanged);
_adsManager.Register(sOffsetPlace_X, OnOffsetNIOPlaceXValueChanged);
_adsManager.Register(sOffsetPlace_X, OnOffsetPlaceXValueChanged);
canChangeRobotJob = true;
_adsManager.Register(sChuckOnPlace1, ChuckOnPlace1Changed);
_adsManager.Register(sChuckOnPlace2, ChuckOnPlace2Changed);
_adsManager.Register(sChuckOnPlace3, ChuckOnPlace3Changed);
_adsManager.Register(sChuckOnPlace4, ChuckOnPlace4Changed);
_adsManager.Register(sChuckOnPlace5, ChuckOnPlace5Changed);
_adsManager.Register(sChuckOnPlace6, ChuckOnPlace6Changed);
canChangeRobotJob = true;
canChangeJobGrippType = false;
canChangeChuckMagazinPlace = false;
@@ -400,75 +436,142 @@ namespace UniperHMI
private void OnJobGrippSideValueChanged(object sender, ValueChangedEventArgs e)
{
jobGrippSide = (int)e.Value;
JobGrippSide = (byte)e.Value;
}
private void OnJobGrippTypeValueChanged(object sender, ValueChangedEventArgs e)
{
jobGrippType = (int)e.Value;
JobGrippType = (byte)e.Value;
}
private void OnChuckMagazinPlaceValueChanged(object sender, ValueChangedEventArgs e)
{
chuckMagazinPlace = (int)e.Value;
ChuckMagazinPlace = (byte)e.Value;
}
private void OnPieceThicknessValueChanged(object sender, ValueChangedEventArgs e)
{
pieceThickness = (int)e.Value;
PieceThickness = (int)e.Value;
}
private void OnSelectedPLCJobValueChanged(object sender, ValueChangedEventArgs e)
{
selectedPLCJob = PLCJobs.First(i => (int)i.eJob == (int)e.Value);
SelectedPLCJob = PLCJobs.First(i => (ushort)i.eJob == (ushort)e.Value);
}
private void OnSelectedRobotJobValueChanged(object sender, ValueChangedEventArgs e)
{
selectedRobotJob = RobotJobs.First(i => (int)i.eJob == (int)e.Value);
SelectedRobotJob = RobotJobs.First(i => (ushort)i.eJob == (ushort)e.Value);
}
private void OnActiveRobotJobValueChanged(object sender, ValueChangedEventArgs e)
{
robotJobActiveValue = RobotJobs.First(i => (int)i.eJob == (int)e.Value);
RobotJobActiveValue = RobotJobs.First(i => (ushort)i.eJob == (ushort)e.Value);
}
private void OnFinishedRobotJobValueChanged(object sender, ValueChangedEventArgs e)
{
robotJobFinishedValue = RobotJobs.First(i => (int)i.eJob == (int)e.Value);
RobotJobFinishedValue = RobotJobs.First(i => (ushort)i.eJob == (ushort)e.Value);
}
private void OnHotPlateIndexValueChanged(object sender, ValueChangedEventArgs e)
{
hotplateIndex = (int)e.Value;
HotplateIndex = (byte)e.Value;
}
private void OnCoolPlateIndexValueChanged(object sender, ValueChangedEventArgs e)
{
coolplateIndex = (int)e.Value;
CoolplateIndex = (byte)e.Value;
}
private void OnOffsetPickXValueChanged(object sender, ValueChangedEventArgs e)
{
offsetPick_X = (double)e.Value;
OffsetPick_X = (float)e.Value;
}
private void OnOffsetPickYValueChanged(object sender, ValueChangedEventArgs e)
{
offsetPick_Y = (double)e.Value;
OffsetPick_Y = (float)e.Value;
}
private void OnOffsetPlaceXValueChanged(object sender, ValueChangedEventArgs e)
{
offsetPlace_X = (double)e.Value;
OffsetPlace_X = (float)e.Value;
}
private void OnOffsetPlaceYValueChanged(object sender, ValueChangedEventArgs e)
{
offsetPlace_X = (double)e.Value;
OffsetPlace_Y = (float)e.Value;
}
private void OnOffsetNIOPickXValueChanged(object sender, ValueChangedEventArgs e)
{
offsetNIOPick_X = (double)e.Value;
OffsetNIOPick_X = (float)e.Value;
}
private void OnOffsetNIOPickYValueChanged(object sender, ValueChangedEventArgs e)
{
offsetNIOPick_Y = (double)e.Value;
OffsetNIOPick_Y = (float)e.Value;
}
private void OnOffsetNIOPlaceXValueChanged(object sender, ValueChangedEventArgs e)
{
offsetNIOPlace_X = (double)e.Value;
OffsetNIOPlace_X = (float)e.Value;
}
private void OnOffsetNIOPlaceYValueChanged(object sender, ValueChangedEventArgs e)
{
OffsetNIOPlace_Y = (double)e.Value;
OffsetNIOPlace_Y = (float)e.Value;
}
private void ChuckOnPlace1Changed(object? sender, ValueChangedEventArgs e)
{
if ((bool)e.Value)
{
MagazinPlace1 = Visibility.Visible;
}
else
{
MagazinPlace1 = Visibility.Hidden;
}
}
private void ChuckOnPlace2Changed(object? sender, ValueChangedEventArgs e)
{
if ((bool)e.Value)
{
MagazinPlace2 = Visibility.Visible;
}
else
{
MagazinPlace2 = Visibility.Hidden;
}
}
private void ChuckOnPlace3Changed(object? sender, ValueChangedEventArgs e)
{
if ((bool)e.Value)
{
MagazinPlace3 = Visibility.Visible;
}
else
{
MagazinPlace3 = Visibility.Hidden;
}
}
private void ChuckOnPlace4Changed(object? sender, ValueChangedEventArgs e)
{
if ((bool)e.Value)
{
MagazinPlace4 = Visibility.Visible;
}
else
{
MagazinPlace4 = Visibility.Hidden;
}
}
private void ChuckOnPlace5Changed(object? sender, ValueChangedEventArgs e)
{
if ((bool)e.Value)
{
MagazinPlace5 = Visibility.Visible;
}
else
{
MagazinPlace5 = Visibility.Hidden;
}
}
private void ChuckOnPlace6Changed(object? sender, ValueChangedEventArgs e)
{
if ((bool)e.Value)
{
MagazinPlace6 = Visibility.Visible;
}
else
{
MagazinPlace6 = Visibility.Hidden;
}
}
public void Dispose()
@@ -486,8 +589,8 @@ namespace UniperHMI
_adsManager?.Deregister(sSelectedRobotJob, OnSelectedRobotJobValueChanged);
_adsManager?.Deregister(sActiveRobotJob, OnActiveRobotJobValueChanged);
_adsManager?.Deregister(sFinishedRobotJob, OnFinishedRobotJobValueChanged);
_adsManager?.Deregister(sOffsetPick_X, OnOffsetPickYValueChanged);
_adsManager?.Deregister(sOffsetPick_Y, OnOffsetPickXValueChanged);
_adsManager?.Deregister(sOffsetPick_X, OnOffsetPickXValueChanged);
_adsManager?.Deregister(sOffsetPick_Y, OnOffsetPickYValueChanged);
_adsManager?.Deregister(sCoolplateIndex, OnCoolPlateIndexValueChanged);
_adsManager?.Deregister(sHotplateIndex, OnHotPlateIndexValueChanged);
_adsManager?.Deregister(sOffsetNIOPlace_Y, OnOffsetNIOPlaceYValueChanged);
@@ -495,7 +598,14 @@ namespace UniperHMI
_adsManager?.Deregister(sOffsetNIOPick_Y, OnOffsetNIOPickYValueChanged);
_adsManager?.Deregister(sOffsetNIOPick_X, OnOffsetNIOPickXValueChanged);
_adsManager?.Deregister(sOffsetPlace_Y, OnOffsetPlaceYValueChanged);
_adsManager?.Deregister(sOffsetPlace_X, OnOffsetNIOPlaceXValueChanged);
_adsManager?.Deregister(sOffsetPlace_X, OnOffsetPlaceXValueChanged);
_adsManager?.Deregister(sChuckOnPlace1, ChuckOnPlace1Changed);
_adsManager?.Deregister(sChuckOnPlace2, ChuckOnPlace2Changed);
_adsManager?.Deregister(sChuckOnPlace3, ChuckOnPlace3Changed);
_adsManager?.Deregister(sChuckOnPlace4, ChuckOnPlace4Changed);
_adsManager?.Deregister(sChuckOnPlace5, ChuckOnPlace5Changed);
_adsManager?.Deregister(sChuckOnPlace6, ChuckOnPlace6Changed);
_adsManager?.Deregister("GVL_SCADA.eCurrentControlMode", CurrentControlModeChanged);