Bugfixes in TrayFeeder and Aligner

Aligner
=======
- Fixed Aligner during resetting with library update to 1.3.4
- Added Vacuum valve to HMI

Etcher
======
- Added Vacuum valve to HMI

TrayFeeder
==========
- Fixed a bug in protocoll parsing
- Added automatic reconnect tries to protocoll handler
- Added buttons to hmi interface for tray feeding and unloading
This commit is contained in:
2026-03-13 14:51:58 +01:00
parent f7bb4f2920
commit 4e923aa101
11 changed files with 1356 additions and 1210 deletions

View File

@@ -10,6 +10,7 @@ VAR
_fbRobot : FB_KukaRobot;
_fbTrayFeederInput : FB_TrayFeeder(sIPAddr := '192.168.1.10', udiPort := 5000);
_fbTrayFeederOutput : FB_TrayFeeder(sIPAddr := '192.168.1.11', udiPort := 5000);
_fbAligner : FB_Aligner;
_fbEtcher1 : FB_Etcher;
_fbEtcher2 : FB_Etcher;
@@ -46,6 +47,9 @@ VAR
_tofTriggerTime : TOF;
xTriggerCamera AT %Q* : BOOL;
_xTRiggeredEV : BOOL;
_xTRiggerDV : BOOL;
_iState : INT;
END_VAR
]]></Declaration>
@@ -103,6 +107,11 @@ _fbTrayFeederInput(
xConfirmAlarms := GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest,
stHMIInterface := GVL_SCADA.stMachine.stTrayFeederIn);
_fbTrayFeederOutput(
xReleaseAlarms := _xReleaseAlarms,
xConfirmAlarms := GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest,
stHMIInterface := GVL_SCADA.stMachine.stTrayFeederOut);
// _fbTrayFeederOut(
// stCommand:= ,
// xReleaseAlarms := _xReleaseAlarms,
@@ -268,6 +277,7 @@ CASE _iState OF
CASE _fbRobot.eCmdFromRobot OF
E_KukaRobot_JobNumerPLC.ENABLE_VACUUM_ALIGNER:
_fbAligner.xEnableVacuum := TRUE;
ADSLOGSTR(msgCtrlMask := ADSLOG_MSGTYPE_LOG, msgFmtStr := 'ENABLE_VACUUM_ALIGNER', strArg := '');
// Check for timeout
_tonTimeout(IN := TRUE, PT := T#10S);
@@ -302,7 +312,7 @@ CASE _iState OF
_fbEtcher1.xEnableVacuum := TRUE;
// Check for timeout
_tonTimeout(IN := TRUE, PT := T#20S);
//_tonTimeout(IN := TRUE, PT := T#20S);
IF _tonTimeout.Q THEN
_fbRobot.xAckPLCCmd := TRUE;
_fbRobot.xPLCJobFailed := TRUE;
@@ -318,7 +328,7 @@ CASE _iState OF
_fbEtcher1.xEnableVacuum := FALSE;
// Check for timeout
_tonTimeout(IN := TRUE, PT := T#20S);
//_tonTimeout(IN := TRUE, PT := T#20S);
IF _tonTimeout.Q THEN
_fbRobot.xAckPLCCmd := TRUE;
_fbRobot.xPLCJobFailed := TRUE;
@@ -332,6 +342,7 @@ CASE _iState OF
E_KukaRobot_JobNumerPLC.ENABLE_VACUUM_ETCHER2:
_fbEtcher2.xEnableVacuum := TRUE;
_xTRiggeredEV := TRUE;
// Check for timeout
_tonTimeout(IN := TRUE, PT := T#20S);
@@ -348,6 +359,7 @@ CASE _iState OF
E_KukaRobot_JobNumerPLC.DISABLE_VACUUM_ETCHER2:
_fbEtcher2.xEnableVacuum := FALSE;
_xTriggerDV := TRUE;
// Check for timeout
_tonTimeout(IN := TRUE, PT := T#20S);