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

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="E_PackMLCmd" Id="{3ba7a228-f199-4355-be17-fd46fc967487}">
<Declaration><![CDATA[{attribute 'qualified_only'}
{attribute 'strict'}
{attribute 'to_string'}
TYPE E_PackMLCmd :
(
UNDEFINED := 0,
RESET := 1,
START := 2,
STOP := 3,
HOLD := 4,
UNHOLD := 5,
SUSPEND := 6,
UNSUSPEND := 7,
ABORT := 8,
CLEAR := 9,
COMPLETE := 10
) DINT;
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="E_PackMLState" Id="{563a2f85-ab5d-400a-a6dd-3d1839155f82}">
<Declaration><![CDATA[{attribute 'qualified_only'}
{attribute 'strict'}
{attribute 'to_string'}
TYPE E_PackMLState :
(
UNDEFINED := 0,
CLEARING := 1,
STOPPED := 2,
STARTING := 3,
IDLE := 4,
SUSPENDED := 5,
EXECUTE := 6,
STOPPING := 7,
ABORTING := 8,
ABORTED := 9,
HOLDING := 10,
HELD := 11,
UNHOLDING := 12,
SUSPENDING := 13,
UNSUSPENDING := 14,
RESETTING := 15,
COMPLETING := 16,
COMPLETED := 17
) DINT := STOPPED;
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="E_PackMLUnitMode" Id="{56f8b8e3-48e3-4607-ac73-c965d4d0058d}">
<Declaration><![CDATA[{attribute 'qualified_only'}
{attribute 'strict'}
{attribute 'to_string'}
TYPE E_PackMLUnitMode :
(
INVALID := 0,
PRODUCTION := 1,
MAINTENANCE := 2,
MANUAL := 3,
CHANGE_OVER := 4,
CLEAN := 5,
SET_UP := 6,
EMPTY_OUT := 7
) DINT := PRODUCTION;
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_PMLa" Id="{16746b45-38ff-4f58-95c8-eb6734adb976}">
<Declaration><![CDATA[TYPE ST_PMLa :
STRUCT
astProductData : ARRAY[0..(GVL_PackML_Conf.MAX_PRODUCT_DATA-1)] OF ST_PackML_ProductData;
diStopReason : DINT;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_PMLc" Id="{5cf4c850-57ba-42f8-9986-b146207e1b2f}">
<Declaration><![CDATA[TYPE ST_PMLc :
STRUCT
eUnitMode : E_PackMLUnitMode;
xUnitModeChangeRequest : BOOL;
rMachSpeed : REAL;
eCntrlCmd : E_PackMLCmd;
xCmdChangeRequest : BOOL;
// Parameters
astParameterReal : ARRAY[0..(GVL_PackML_Conf.MAX_PARAMS-1)] OF ST_PackMLParamREAL;
astParameterString : ARRAY[0..(GVL_PackML_Conf.MAX_PARAMS-1)] OF ST_PackMLParamSTRING;
astParameterLReal : ARRAY[0..(GVL_PackML_Conf.MAX_PARAMS-1)] OF ST_PackMLParamLREAL;
astParameterDInt : ARRAY[0..(GVL_PackML_Conf.MAX_PARAMS-1)] OF ST_PackMLParamDINT;
// Recipe data
diSelectedRecipe : DINT;
xRecipeChangeRequest : BOOL;
astRecipe : ARRAY[0..(GVL_PackML_Conf.MAX_RECIPES_PER_UNIT - 1)] OF ST_PackMLRecipe;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_PMLs" Id="{dace328e-4599-42b5-ac3b-2a705ec8e2f3}">
<Declaration><![CDATA[TYPE ST_PMLs :
STRUCT
eUnitModeCurrent : E_PackMLUnitMode;
eStateCurrent : E_PackMLState;
rMachSpeed : REAL;
rCurMachSpeed : REAL;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_PackMLPI" Id="{e7198eb6-2cd3-41c0-be59-e7dbcf10a569}">
<Declaration><![CDATA[TYPE ST_PackMLPI :
STRUCT
astParameterReal : ARRAY[0..(GVL_PackML_Conf.MAX_PARAMS-1)] OF ST_PackMLParamREAL;
astParameterString : ARRAY[0..(GVL_PackML_Conf.MAX_PARAMS-1)] OF ST_PackMLParamSTRING;
astParameterLReal : ARRAY[0..(GVL_PackML_Conf.MAX_PARAMS-1)] OF ST_PackMLParamLREAL;
astParameterDInt : ARRAY[0..(GVL_PackML_Conf.MAX_PARAMS-1)] OF ST_PackMLParamDINT;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_PackMLParamDINT" Id="{f9801bf5-a73d-450f-b9fc-a5d8229e4946}">
<Declaration><![CDATA[TYPE ST_PackMLParamDINT :
STRUCT
diID : DINT;
sName : STRING;
sUnit : STRING(6);
Value : DINT;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_PackMLParamLREAL" Id="{195fabe8-44c0-43ec-8434-75e38b68efb7}">
<Declaration><![CDATA[TYPE ST_PackMLParamLREAL :
STRUCT
diID : DINT;
sName : STRING;
sUnit : STRING(6);
Value : LREAL;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_PackMLParamREAL" Id="{373303ba-9979-4979-a439-c899a36baa12}">
<Declaration><![CDATA[TYPE ST_PackMLParamREAL :
STRUCT
diID : DINT;
sName : STRING;
sUnit : STRING(6);
Value : REAL;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_PackMLParamSTRING" Id="{85353d3e-e4c9-4e83-857e-8ce7ed43abaf}">
<Declaration><![CDATA[TYPE ST_PackMLParamSTRING :
STRUCT
diID : DINT;
sName : STRING;
sUnit : STRING(6);
Value : STRING;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_PackMLRecipe" Id="{b453a4b5-bb40-4669-97f2-8d8ab8d3dc26}">
<Declaration><![CDATA[TYPE ST_PackMLRecipe :
STRUCT
diID : DINT;
sName : STRING;
rPrimaryQty : REAL;
stProcessVariables : ST_PackMLPI;
stIngredients : ST_PackMLPI;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_PackML_ProductData" Id="{2af30e31-0927-41d2-9df4-7ed222070c13}">
<Declaration><![CDATA[TYPE ST_PackML_ProductData :
STRUCT
diProcessedCount : DINT;
diDefectiveCount : DINT;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1">
<DUT Name="ST_PackMLStateMachineConfig" Id="{ced5a276-0ad8-4ce9-8d27-4b268a010876}">
<Declaration><![CDATA[TYPE ST_PackMLStateMachineConfig :
STRUCT
xClearingDisabled : BOOL;
// xStoppedDisabled : BOOL;
xStartingDisabled : BOOL;
// xIdleDisabled : BOOL;
xSuspededDisabled : BOOL;
// xExecuteDisabled : BOOL;
xStoppingDisabled : BOOL;
xAbortingDisabled : BOOL;
// xAbortedDisabled : BOOL;
xHoldingDisabled : BOOL;
xHeldDisabled : BOOL;
xUnholdingDisabled : BOOL;
xSuspendingDisabled : BOOL;
xUnsuspendingDisabled : BOOL;
xResettingDisabled : BOOL;
xCompletingDisabled : BOOL;
xCompletedDisabled : BOOL;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>