Added first hmi interface implementation

This commit is contained in:
2026-02-19 00:20:05 +01:00
parent 0c40092d8f
commit a3ad956f0d
29 changed files with 591 additions and 240 deletions

View File

@@ -3,31 +3,39 @@
<POU Name="PRG_Main" Id="{e44f5145-cb67-4abd-8a28-92b41a0d9dbd}" SpecialFunc="None">
<Declaration><![CDATA[PROGRAM PRG_Main
VAR
// ========
// Stations
// ========
_fbRobot : FB_KukaRobot;
_fbHVTester : FB_HVTester;
_fbTrayFeederInput : FB_TrayFeeder(sIPAddr := '192.168.1.10', udiPort := 5000);
_fbAligner : FB_Aligner;
_fbEtcher1 : FB_Etcher;
_fbEtcher2 : FB_Etcher;
_fbTrayFeederInput : FB_TrayFeeder(sIPAddr := '192.168.1.10', udiPort := 5000);
_fbHeatCoolPlates : FB_HeatCoolPlates;
_fbAligner : FB_Aligner;
_fbHotplate : FB_Hotplate;
_fbCoolplate : FB_Coolplate;
_fbHVTesterHot : FB_HVTester;
_fbHVTesterCold : FB_HVTester;
//_fbNOK : FB_NOK;
//_fbTrayFeederOutput : FB_TrayFeeder(sIPAddr := '192.168.1.11', udiPort := 5000);
// =======================
// DEBUG AND TESTING STUFF
// =======================
_xReleaseAlarms : BOOL;
_xConfirmAlarms : BOOL;
_stRobotCmd : ST_PMLc;
_stRobotStatus : ST_PMLs;
_stRobotAdmin : ST_PMLa;
_stRobotJobParams : ST_KukaRobot_JobParams;
_stUnitFeedbacks : ST_KukaRobot_UnitFeedbacks;
stCamResult AT %I* : ST_TrayFeederCamPosData;
_rtStopRobotFromSafety : R_TRIG;
// DEBUG commands
// commands
_xClear : BOOL;
_xReset : BOOL;
_xStart : BOOL;
@@ -95,27 +103,29 @@ _fbRobot(
xConfirmAlarms:= GVL_SCADA.xErrAck,
stStatus => _stRobotStatus,
stAdmin => _stRobotAdmin,
stPackMLHMIInterface := GVL_SCADA.stMachine.stKukaRobot);
stHMIInterface := GVL_SCADA.stMachine.stKukaRobot);
IF _stRobotCmd.xCmdChangeRequest THEN
_stRobotCmd.xCmdChangeRequest := FALSE;
END_IF
_fbHVTester(xOpenChambers:= GVL_SCADA.xOpenAllChambers, stPackMLHMIInterface := GVL_SCADA.stMachine.stHVTester);
_fbHVTesterHot(xOpenChambers:= GVL_SCADA.xOpenAllChambers, stHMIInterface := GVL_SCADA.stMachine.stHVTesterHot);
_fbHVTesterCold(xOpenChambers:= GVL_SCADA.xOpenAllChambers, stHMIInterface := GVL_SCADA.stMachine.stHVTesterCold);
_fbEtcher1(
xOpenDoor:= GVL_SCADA.xOpenAllChambers,
xOpenChuckClamp := GVL_SCADA.xOpenChuckClampEtcher1,
xReleaseAlarms := _xReleaseAlarms,
xConfirmAlarms := GVL_SCADA.xErrAck,
stPackMLHMIInterface := GVL_SCADA.stMachine.stEtcher1);
stHMIInterface := GVL_SCADA.stMachine.stEtcher1);
_fbEtcher2(
xOpenDoor:= GVL_SCADA.xOpenAllChambers,
xOpenChuckClamp := GVL_SCADA.xOpenChuckClampEtcher2,
xReleaseAlarms := _xReleaseAlarms,
xConfirmAlarms := GVL_SCADA.xErrAck,
stPackMLHMIInterface := GVL_SCADA.stMachine.stEtcher2);
stHMIInterface := GVL_SCADA.stMachine.stEtcher2);
_fbTrayFeederInput(
stCommand:= ,
@@ -123,14 +133,21 @@ _fbTrayFeederInput(
xConfirmAlarms := GVL_SCADA.xErrAck,
stStatus=> GVL_SCADA.stTrayFeederInputState,
stAdmin=> GVL_SCADA.stTRayFeederInputAdmin,
stPackMLHMIInterface := GVL_SCADA.stMachine.stTrayFeeder);
_fbHeatCoolPlates(
stHMIInterface := GVL_SCADA.stHCPlatesHMIInterface,
stHMIInterface := GVL_SCADA.stMachine.stTrayFeederIn);
_fbTrayFeederInput(
stCommand:= ,
xReleaseAlarms := _xReleaseAlarms,
xConfirmAlarms:= GVL_SCADA.xErrAck);
xConfirmAlarms := GVL_SCADA.xErrAck,
stStatus=> GVL_SCADA.stTrayFeederInputState,
stAdmin=> GVL_SCADA.stTRayFeederInputAdmin,
stHMIInterface := GVL_SCADA.stMachine.stTrayFeederOut);
_fbAligner(stCommand:= , stStatus=> , stAdmin=> , xConfirmAlarms:= GVL_SCADA.xErrAck, stPackMLHMIInterface := GVL_SCADA.stMachine.stAligner);
_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);
// Call safety program