Started kuka robot integration with hardware

- Modified PackML state machine to be able to disable unused states
- Added PackTag datatypes for recipe handling
- Started recipe parameter description in json file
- Added schema file for recipe json
- Added state machine drawing for packml
This commit is contained in:
2026-01-30 09:09:30 +01:00
parent 3946e45c65
commit 67ba80893f
44 changed files with 2006 additions and 1366 deletions

View File

@@ -8,8 +8,23 @@ VAR
_fbEtcher1 : FB_Etcher;
_fbEtcher2 : FB_Etcher;
_stRobotCmd : ST_PMLc;
_xConfirmAlarms : BOOL;
_xClear : BOOL;
_xReset : BOOL;
_xStart : BOOL;
_stRobotStatus : ST_PMLs;
_stRobotAdmin : ST_PMLa;
_xFirstCycle : BOOL := TRUE;
_stRecipeGripperChange : ST_PackMLRecipe := (
diID := 0,
sName := 'Change gripper'
);
END_VAR
]]></Declaration>
<Implementation>
@@ -17,18 +32,52 @@ END_VAR
_xFirstCycle := FALSE;
END_IF
_fbRobot(xExecute:= , eCMD:= , eCurrentState=> , eCurrentCMD=> );
IF _xClear THEN
_xClear := FALSE;
_stRobotCmd.eCntrlCmd := E_PackMLCmd.CLEAR;
_stRobotCmd.xCmdChangeRequest := TRUE;
END_IF
IF _xReset THEN
_xReset := FALSE;
_stRobotCmd.eCntrlCmd := E_PackMLCmd.RESET;
_stRobotCmd.xCmdChangeRequest := TRUE;
END_IF
IF _xStart THEN
_xStart := FALSE;
_stRobotCmd.eCntrlCmd := E_PackMLCmd.START;
_stRobotCmd.xCmdChangeRequest := TRUE;
END_IF
_fbRobot(
stCommand:= _stRobotCmd,
xReleaseAlarms:= TRUE,
xConfirmAlarms:= _xConfirmAlarms,
stStatus => _stRobotStatus,
stAdmin => _stRobotAdmin,
xReady=> ,
xError=> );
IF _stRobotCmd.xCmdChangeRequest THEN
_stRobotCmd.xCmdChangeRequest := FALSE;
END_IF
_fbHVTester(xOpenChambers:= GVL_SCADA.xOpenAllChambers);
_fbEtcher1(xOpenDoor:= GVL_SCADA.xOpenAllChambers);
_fbEtcher2(xOpenDoor:= GVL_SCADA.xOpenAllChambers);
// Call safety program
PRG_Safety(xConfirmAlarms := GVL_SCADA.xErrAck);
// Reset alarm reset request
GVL_SCADA.xErrAck := FALSE;]]></ST>
GVL_SCADA.xErrAck := FALSE;
IF _xConfirmAlarms THEN
_xConfirmAlarms := FALSE;
END_IF]]></ST>
</Implementation>
</POU>
</TcPlcObject>