Impl HotCoolplate Page, Start Impl. NIOStation Page, Impll ChuckMagazinPage

This commit is contained in:
2026-02-13 15:41:46 +01:00
parent f8174d752c
commit a0ef457995
11 changed files with 415 additions and 355 deletions

View File

@@ -28,6 +28,9 @@ namespace UniperHMI
private const string sJobGrippType = "_adsVariable_kukaJobGrippType";
private const string sChuckMagazinPlace = "_adsVariable_kukaChuckMagazinPlace";
private const string sSelectedRobotJob = "_adsVariable_kukaRobotJob";
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";
@@ -51,25 +54,25 @@ namespace UniperHMI
private E_BMS_CONTROL_MODE bmsControlMode;
[ObservableProperty]
public bool canChangeRobotJob;
private bool canChangeRobotJob;
[ObservableProperty]
public RobotJobentry robotJobActiveValue;
private RobotJobentry robotJobActiveValue;
[ObservableProperty]
public RobotJobentry robotJobFinishedValue;
private RobotJobentry robotJobFinishedValue;
[ObservableProperty]
public bool canStartRobotJob;
private bool canStartRobotJob;
[ObservableProperty]
public HMIControlButtonVM? startButton;
private HMIControlButtonVM? startButton;
[ObservableProperty]
public bool canAbortRobotJob;
private bool canAbortRobotJob;
[ObservableProperty]
public HMIControlButtonVM? abortButton;
private HMIControlButtonVM? abortButton;
private int jobGrippSide;
@@ -84,7 +87,7 @@ namespace UniperHMI
}
[ObservableProperty]
public bool canChangeJobGrippSide;
private bool canChangeJobGrippSide;
private int jobGrippType;
@@ -100,7 +103,7 @@ namespace UniperHMI
}
[ObservableProperty]
public bool canChangeJobGrippType;
private bool canChangeJobGrippType;
private int chuckMagazinPlace;
@@ -115,7 +118,7 @@ namespace UniperHMI
}
[ObservableProperty]
public bool canChangeChuckMagazinPlace;
private bool canChangeChuckMagazinPlace;
private double pieceThickness;
@@ -130,7 +133,7 @@ namespace UniperHMI
}
[ObservableProperty]
public bool canChangePieceThickness;
private bool canChangePieceThickness;
private double offsetPick_X;
@@ -156,7 +159,7 @@ namespace UniperHMI
}
}
[ObservableProperty]
public bool canChangeOffsetPick;
private bool canChangeOffsetPick;
private double offsetPlace_X;
@@ -183,7 +186,7 @@ namespace UniperHMI
[ObservableProperty]
public bool canChangeOffsetPlace;
private bool canChangeOffsetPlace;
private double offsetNIOPick_X;
@@ -208,7 +211,7 @@ namespace UniperHMI
}
}
[ObservableProperty]
public bool canChangeOffsetNIOPick;
private bool canChangeOffsetNIOPick;
private double offsetNIOPlace_X;
@@ -233,7 +236,7 @@ namespace UniperHMI
}
}
[ObservableProperty]
public bool canChangeOffsetNIOPlace;
private bool canChangeOffsetNIOPlace;
private int hotplateIndex;
@@ -249,7 +252,7 @@ namespace UniperHMI
}
[ObservableProperty]
public bool canChangeHotPlateIndex;
private bool canChangeHotPlateIndex;
private int coolplateIndex;
@@ -265,13 +268,13 @@ namespace UniperHMI
[ObservableProperty]
public bool canChangeCoolPlateIndex;
private bool canChangeCoolPlateIndex;
[ObservableProperty]
private RobotJobenum robotJob;
[ObservableProperty]
public ObservableCollection<RobotJobentry> robotJobs =
private ObservableCollection<RobotJobentry> robotJobs =
[
new RobotJobentry(RobotJobenum.NONE, " ------- "),
new RobotJobentry(RobotJobenum.PICK_TRAYFEEDER, "10 - Hole Teil von Trayfeeder 'Eingabe' "),
@@ -305,7 +308,7 @@ namespace UniperHMI
];
[ObservableProperty]
public ObservableCollection<PLCJobentry> pLCJobs =
private ObservableCollection<PLCJobentry> pLCJobs =
[
new PLCJobentry(PLCJobenum.NONE, " ------- "),
new PLCJobentry(PLCJobenum.SCAN_QR_CODE, "10 - QR Code Scannen"),
@@ -366,54 +369,136 @@ 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.WARMUP);
_adsManager.Register(sJobGrippSide, OnJobGrippSideValueChanged);
_adsManager.Register(sJobGrippType, OnJobGrippTypeValueChanged);
_adsManager.Register(sChuckMagazinPlace, OnChuckMagazinPlaceValueChanged);
_adsManager.Register(sPieceThickness, OnPieceThicknessValueChanged);
_adsManager.Register(sSelectedPLCJob, OnSelectedPLCJobValueChanged);
_adsManager.Register(sSelectedRobotJob, OnSelectedRobotJobValueChanged);
_adsManager.Register(sActiveRobotJob, OnActiveRobotJobValueChanged);
_adsManager.Register(sFinishedRobotJob, OnFinishedRobotJobValueChanged);
_adsManager.Register(sOffsetPick_X, OnOffsetPickYValueChanged);
_adsManager.Register(sOffsetPick_Y, OnOffsetPickXValueChanged);
_adsManager.Register(sCoolplateIndex, OnCoolPlateIndexValueChanged);
_adsManager.Register(sHotplateIndex, OnHotPlateIndexValueChanged);
_adsManager.Register(sOffsetNIOPlace_Y, OnOffsetNIOPlaceYValueChanged);
_adsManager.Register(sOffsetNIOPlace_X, OnOffsetNIOPlaceXValueChanged);
_adsManager.Register(sOffsetNIOPick_Y, OnOffsetNIOPickYValueChanged);
_adsManager.Register(sOffsetNIOPick_X, OnOffsetNIOPickXValueChanged);
_adsManager.Register(sOffsetPlace_Y, OnOffsetPlaceYValueChanged);
_adsManager.Register(sOffsetPlace_X, OnOffsetNIOPlaceXValueChanged);
canChangeRobotJob = true;
selectedPLCJob = PLCJobs.First(i => i.eJob == PLCJobenum.NONE);
canChangeJobGrippType = false;
jobGrippSide = 1;
jobGrippType = 2;
canChangeJobGrippType = false;
robotJobActiveValue = RobotJobs.First(i => i.eJob == RobotJobenum.PUT_HVTEST_COLD);
robotJobFinishedValue = RobotJobs.First(i => i.eJob == RobotJobenum.PICK_HOTPLATE);
chuckMagazinPlace = 2;
canChangeChuckMagazinPlace = false;
canChangeJobGrippType = false;
_adsManager.Register("GVL_SCADA.eCurrentControlMode", CurrentControlModeChanged);
pieceThickness = 2.7;
offsetPlace_X = 88;
offsetPlace_Y = 79;
offsetPick_X = 89;
offsetPick_Y = 81;
offsetNIOPick_X = 176;
offsetNIOPick_Y = 90;
offsetNIOPlace_X = 123;
offsetNIOPlace_Y = 313;
hotplateIndex = 3;
coolplateIndex = 5;
//_adsManager.Register("GVL_SCADA.eCurrentControlMode", CurrentControlModeChanged);
//_adsManager.Register(_variableName + ".diSetpointAutomatic", SetpointChanged);
}
public void Dispose()
private void OnJobGrippSideValueChanged(object sender, ValueChangedEventArgs e)
{
jobGrippSide = (int)e.Value;
}
private void OnJobGrippTypeValueChanged(object sender, ValueChangedEventArgs e)
{
jobGrippType = (int)e.Value;
}
private void OnChuckMagazinPlaceValueChanged(object sender, ValueChangedEventArgs e)
{
chuckMagazinPlace = (int)e.Value;
}
private void OnPieceThicknessValueChanged(object sender, ValueChangedEventArgs e)
{
pieceThickness = (int)e.Value;
}
private void OnSelectedPLCJobValueChanged(object sender, ValueChangedEventArgs e)
{
selectedPLCJob = PLCJobs.First(i => (int)i.eJob == (int)e.Value);
}
private void OnSelectedRobotJobValueChanged(object sender, ValueChangedEventArgs e)
{
selectedRobotJob = RobotJobs.First(i => (int)i.eJob == (int)e.Value);
}
private void OnActiveRobotJobValueChanged(object sender, ValueChangedEventArgs e)
{
robotJobActiveValue = RobotJobs.First(i => (int)i.eJob == (int)e.Value);
}
private void OnFinishedRobotJobValueChanged(object sender, ValueChangedEventArgs e)
{
robotJobFinishedValue = RobotJobs.First(i => (int)i.eJob == (int)e.Value);
}
private void OnHotPlateIndexValueChanged(object sender, ValueChangedEventArgs e)
{
hotplateIndex = (int)e.Value;
}
private void OnCoolPlateIndexValueChanged(object sender, ValueChangedEventArgs e)
{
coolplateIndex = (int)e.Value;
}
private void OnOffsetPickXValueChanged(object sender, ValueChangedEventArgs e)
{
offsetPick_X = (double)e.Value;
}
private void OnOffsetPickYValueChanged(object sender, ValueChangedEventArgs e)
{
offsetPick_Y = (double)e.Value;
}
private void OnOffsetPlaceXValueChanged(object sender, ValueChangedEventArgs e)
{
offsetPlace_X = (double)e.Value;
}
private void OnOffsetPlaceYValueChanged(object sender, ValueChangedEventArgs e)
{
offsetPlace_X = (double)e.Value;
}
private void OnOffsetNIOPickXValueChanged(object sender, ValueChangedEventArgs e)
{
offsetNIOPick_X = (double)e.Value;
}
private void OnOffsetNIOPickYValueChanged(object sender, ValueChangedEventArgs e)
{
offsetNIOPick_Y = (double)e.Value;
}
private void OnOffsetNIOPlaceXValueChanged(object sender, ValueChangedEventArgs e)
{
offsetNIOPlace_X = (double)e.Value;
}
private void OnOffsetNIOPlaceYValueChanged(object sender, ValueChangedEventArgs e)
{
OffsetNIOPlace_Y = (double)e.Value;
}
public void Dispose()
{
StartButton?.Dispose();
StartButton = null;
AbortButton?.Dispose();
AbortButton = null;
_adsManager?.Deregister(sJobGrippSide, OnJobGrippSideValueChanged);
_adsManager?.Deregister(sJobGrippType, OnJobGrippTypeValueChanged);
_adsManager?.Deregister(sChuckMagazinPlace, OnChuckMagazinPlaceValueChanged);
_adsManager?.Deregister(sPieceThickness, OnPieceThicknessValueChanged);
_adsManager?.Deregister(sSelectedPLCJob, OnSelectedPLCJobValueChanged);
_adsManager?.Deregister(sSelectedRobotJob, OnSelectedRobotJobValueChanged);
_adsManager?.Deregister(sActiveRobotJob, OnActiveRobotJobValueChanged);
_adsManager?.Deregister(sFinishedRobotJob, OnFinishedRobotJobValueChanged);
_adsManager?.Deregister(sOffsetPick_X, OnOffsetPickYValueChanged);
_adsManager?.Deregister(sOffsetPick_Y, OnOffsetPickXValueChanged);
_adsManager?.Deregister(sCoolplateIndex, OnCoolPlateIndexValueChanged);
_adsManager?.Deregister(sHotplateIndex, OnHotPlateIndexValueChanged);
_adsManager?.Deregister(sOffsetNIOPlace_Y, OnOffsetNIOPlaceYValueChanged);
_adsManager?.Deregister(sOffsetNIOPlace_X, OnOffsetNIOPlaceXValueChanged);
_adsManager?.Deregister(sOffsetNIOPick_Y, OnOffsetNIOPickYValueChanged);
_adsManager?.Deregister(sOffsetNIOPick_X, OnOffsetNIOPickXValueChanged);
_adsManager?.Deregister(sOffsetPlace_Y, OnOffsetPlaceYValueChanged);
_adsManager?.Deregister(sOffsetPlace_X, OnOffsetNIOPlaceXValueChanged);
_adsManager?.Deregister("GVL_SCADA.eCurrentControlMode", CurrentControlModeChanged);
//_adsManager?.Deregister(_variableName + ".diSetpointAutomatic", SetpointChanged);
}
private void CurrentControlModeChanged(object? sender, ValueChangedEventArgs e)