Started fixes for HMI

This commit is contained in:
2026-03-06 08:39:54 +01:00
parent 64f561b0c5
commit bcff5a1132
16 changed files with 899 additions and 270 deletions

View File

@@ -17,6 +17,7 @@ VAR
_fbCoolplate : FB_Coolplate;
_fbHVTesterHot : FB_HVTester;
_fbHVTesterCold : FB_HVTester;
//_fbInput : FB_Input;
//_fbNOK : FB_NOK;
//_fbTrayFeederOutput : FB_TrayFeeder(sIPAddr := '192.168.1.11', udiPort := 5000);
@@ -26,7 +27,6 @@ VAR
// =======================
_xReleaseAlarms : BOOL;
_xConfirmAlarms : BOOL;
_stRobotCmd : ST_PMLc;
_stRobotStatus : ST_PMLs;
_stRobotAdmin : ST_PMLa;
@@ -35,14 +35,6 @@ VAR
stCamResult AT %I* : ST_TrayFeederCamPosData;
_rtStopRobotFromSafety : R_TRIG;
// commands
_xClear : BOOL;
_xReset : BOOL;
_xStart : BOOL;
_xHold : BOOL;
_xUnhold : BOOL;
_xStop : BOOL;
_xStartCycle : BOOL;
_xStartTrigger : BOOL;
@@ -56,36 +48,6 @@ END_VAR
<ST><![CDATA[// Data from safety
_xReleaseAlarms := PRG_Safety.xEStopOk;
IF _xClear THEN
_xClear := FALSE;
_fbRobot.M_CmdClear();
END_IF
IF _xReset THEN
_xReset := FALSE;
_fbRobot.M_CmdReset();
END_IF
IF _xStart THEN
_xStart := FALSE;
_fbRobot.M_CmdStart();
END_IF
IF _xHold THEN
_xHold := FALSE;
_fbRobot.M_CmdHold();
END_IF
IF _xUnhold THEN
_xUnhold := FALSE;
_fbRobot.M_CmdUnhold();
END_IF
IF _xStop THEN
_xStop := FALSE;
_fbRobot.M_CmdStop();
END_IF
_rtStopRobotFromSafety(CLK := PRG_Safety.xStopRobot);
IF _rtStopRobotFromSafety.Q THEN
_stRobotCmd.eCntrlCmd := E_PackMLCmd.STOP;
@@ -100,7 +62,7 @@ _fbRobot(
stJobParams := _stRobotJobParams,
stUnitFeedbacks := _stUnitFeedbacks,
xReleaseAlarms:= _xReleaseAlarms,
xConfirmAlarms:= GVL_SCADA.xErrAck,
xConfirmAlarms:= GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest,
stStatus => _stRobotStatus,
stAdmin => _stRobotAdmin,
stHMIInterface := GVL_SCADA.stMachine.stKukaRobot);
@@ -117,42 +79,40 @@ _fbEtcher1(
xOpenDoor:= GVL_SCADA.xOpenAllChambers,
xOpenChuckClamp := GVL_SCADA.xOpenChuckClampEtcher1,
xReleaseAlarms := _xReleaseAlarms,
xConfirmAlarms := GVL_SCADA.xErrAck,
xConfirmAlarms := GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest,
stHMIInterface := GVL_SCADA.stMachine.stEtcher1);
_fbEtcher2(
xOpenDoor:= GVL_SCADA.xOpenAllChambers,
xOpenChuckClamp := GVL_SCADA.xOpenChuckClampEtcher2,
xReleaseAlarms := _xReleaseAlarms,
xConfirmAlarms := GVL_SCADA.xErrAck,
xConfirmAlarms := GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest,
stHMIInterface := GVL_SCADA.stMachine.stEtcher2);
_fbTrayFeederInput(
stCommand:= ,
xReleaseAlarms := _xReleaseAlarms,
xConfirmAlarms := GVL_SCADA.xErrAck,
stStatus=> GVL_SCADA.stTrayFeederInputState,
stAdmin=> GVL_SCADA.stTRayFeederInputAdmin,
xConfirmAlarms := GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest,
stHMIInterface := GVL_SCADA.stMachine.stTrayFeederIn);
_fbTrayFeederInput(
stCommand:= ,
xReleaseAlarms := _xReleaseAlarms,
xConfirmAlarms := GVL_SCADA.xErrAck,
stStatus=> GVL_SCADA.stTrayFeederInputState,
stAdmin=> GVL_SCADA.stTRayFeederInputAdmin,
stHMIInterface := GVL_SCADA.stMachine.stTrayFeederOut);
// _fbTrayFeederOut(
// stCommand:= ,
// xReleaseAlarms := _xReleaseAlarms,
// xConfirmAlarms := GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest,
// stStatus=> GVL_SCADA.stTrayFeederInputState,
// stAdmin=> GVL_SCADA.stTRayFeederInputAdmin,
// stHMIInterface := GVL_SCADA.stMachine.stTrayFeederOut);
_fbHotplate(stHMIInterface := GVL_SCADA.stMachine.stHotplate);
_fbCoolplate(stHMIInterface := GVL_SCADA.stMachine.stCoolplate);
_fbAligner(stCommand:= , stStatus=> , stAdmin=> , xConfirmAlarms:= GVL_SCADA.xErrAck, stHMIInterface := GVL_SCADA.stMachine.stAligner);
_fbAligner(stCommand:= , stStatus=> , stAdmin=> , xConfirmAlarms:= GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest, stHMIInterface := GVL_SCADA.stMachine.stAligner);
// Call safety program
PRG_Safety(
xConfirmAlarms := GVL_SCADA.xErrAck,
xConfirmAlarms := GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest,
xRobotStopped := (_stRobotStatus.eStateCurrent <> E_PackMLState.EXECUTE));
// Handle robot cmds
@@ -249,11 +209,7 @@ END_IF
xTriggerCamera := _tofTriggerTime.Q;
// Reset alarm reset request
GVL_SCADA.xErrAck := FALSE;
IF _xConfirmAlarms THEN
_xConfirmAlarms := FALSE;
END_IF]]></ST>
GVL_SCADA.stMachine.stConfirmAlarmsBtn.xRequest := FALSE;]]></ST>
</Implementation>
<Method Name="M_HandleRobotCmd" Id="{14934aaa-b667-4ddb-915d-1d84e8eb799d}">
<Declaration><![CDATA[METHOD PRIVATE M_HandleRobotCmd