From 67ba80893f9dd7acc612d57e39a94eeea2120a01 Mon Sep 17 00:00:00 2001 From: "m.heisig" Date: Fri, 30 Jan 2026 09:09:30 +0100 Subject: [PATCH] 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 --- .gitignore | 5 +- Infineon.sln | 1 - Infineon.tmc | 43 ++ Infineon.tsproj | 8 +- PLC/00_Main/PRG_Main.TcPOU | 53 +- .../E_KukaRobot_JobNumberRobot.TcDUT | 4 +- .../Kuka_Robot/FB_KukaRobot.TcPOU | 246 +++++++- .../InterfaceStructs/ST_KukaRobot_Ctrl.TcDUT | 13 + PLC/GlobalTextList.TcGTLO | 29 - .../PackML/{ => DUTs}/E_PackMLCmd.TcDUT | 0 .../PackML/{ => DUTs}/E_PackMLState.TcDUT | 2 +- .../PackML/{ => DUTs}/E_PackMLUnitMode.TcDUT | 0 .../PackML/DUTs/PackTags/ST_PMLa.TcDUT | 12 + .../PackML/DUTs/PackTags/ST_PMLc.TcDUT | 26 + .../PackML/DUTs/PackTags/ST_PMLs.TcDUT | 14 + .../PackML/DUTs/PackTags/ST_PackMLPI.TcDUT | 14 + .../DUTs/PackTags/ST_PackMLParamDINT.TcDUT | 14 + .../DUTs/PackTags/ST_PackMLParamLREAL.TcDUT | 14 + .../DUTs/PackTags/ST_PackMLParamREAL.TcDUT | 14 + .../DUTs/PackTags/ST_PackMLParamSTRING.TcDUT | 14 + .../DUTs/PackTags/ST_PackMLRecipe.TcDUT | 15 + .../DUTs/PackTags/ST_PackML_ProductData.TcDUT | 12 + .../DUTs/ST_PackMLStateMachineConfig.TcDUT | 27 + .../PackML/FB_PackMLStateMachine.TcPOU | 244 ------- .../PackML/GVL_PackML_Conf.TcGVL | 11 + .../PackML/{ => POUs}/FB_PackMLGeneric.TcPOU | 98 ++- .../PackML/POUs/FB_PackMLStateMachine.TcPOU | 428 +++++++++++++ .../FB_PackMLStateMachine_Test.TcPOU | 8 +- PLC/PLC.plcproj | 61 +- PLC/PLC.tmc | 392 ++++++++++++ PLC/PlcTask.TcTTO | 2 +- PLC/Visu/Visualization.TcVIS | 397 ------------ PLC/Visualization Manager.TcVMO | 593 ------------------ TwinSAFE/GVLs/GVL1.sgvl | 17 +- TwinSAFE/TargetSystemConfig.xml | 4 +- TwinSAFE/TwinSafeGroup1/TwinSafeGroup1.sal | 10 +- _Config/IO/Device 1 (EtherCAT).xti | 17 +- _Config/NC/NC.xti | 12 +- _Config/PLC/PLC Instance.xti | 51 ++ _Config/SPLC/TwinSAFE.xti | 2 +- doc/.vscode/settings.json | 10 + doc/StateMachines.drawio | 285 +++++++++ doc/recipe_data.json | 63 ++ doc/recipe_data_schema.json | 87 +++ 44 files changed, 2006 insertions(+), 1366 deletions(-) create mode 100644 Infineon.tmc delete mode 100644 PLC/GlobalTextList.TcGTLO rename PLC/LibraryCandidates/PackML/{ => DUTs}/E_PackMLCmd.TcDUT (100%) rename PLC/LibraryCandidates/PackML/{ => DUTs}/E_PackMLState.TcDUT (97%) rename PLC/LibraryCandidates/PackML/{ => DUTs}/E_PackMLUnitMode.TcDUT (100%) create mode 100644 PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PMLa.TcDUT create mode 100644 PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PMLc.TcDUT create mode 100644 PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PMLs.TcDUT create mode 100644 PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLPI.TcDUT create mode 100644 PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLParamDINT.TcDUT create mode 100644 PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLParamLREAL.TcDUT create mode 100644 PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLParamREAL.TcDUT create mode 100644 PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLParamSTRING.TcDUT create mode 100644 PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLRecipe.TcDUT create mode 100644 PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackML_ProductData.TcDUT create mode 100644 PLC/LibraryCandidates/PackML/DUTs/ST_PackMLStateMachineConfig.TcDUT delete mode 100644 PLC/LibraryCandidates/PackML/FB_PackMLStateMachine.TcPOU create mode 100644 PLC/LibraryCandidates/PackML/GVL_PackML_Conf.TcGVL rename PLC/LibraryCandidates/PackML/{ => POUs}/FB_PackMLGeneric.TcPOU (76%) create mode 100644 PLC/LibraryCandidates/PackML/POUs/FB_PackMLStateMachine.TcPOU create mode 100644 PLC/PLC.tmc delete mode 100644 PLC/Visu/Visualization.TcVIS delete mode 100644 PLC/Visualization Manager.TcVMO create mode 100644 doc/.vscode/settings.json create mode 100644 doc/StateMachines.drawio create mode 100644 doc/recipe_data.json create mode 100644 doc/recipe_data_schema.json diff --git a/.gitignore b/.gitignore index ea6bb11..850f680 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,7 @@ LineIDs.dbg.bak # TwinCAT C++ and shared types # ignoring the TMC file is only useful for plain PLC programming # as soon as shared data types (via tmc), C++ or in general TcCom-Module are used, the TMC file has to be part of the repository -*.tmc +#*.tmc *.tmcRefac # TwinCAT project files @@ -57,4 +57,5 @@ commit.txt *.xlsx # TwinCAT HMI, filter downloaded JSON schema files json-schema.org - +# Drawio backup file +*.bkp diff --git a/Infineon.sln b/Infineon.sln index d3f05e2..9201561 100644 --- a/Infineon.sln +++ b/Infineon.sln @@ -148,7 +148,6 @@ Global {16E7B360-DCD5-431E-9380-EF0E96A38071}.Release|TwinCAT OS (ARMV8-A).ActiveCfg = Release|TwinCAT OS (ARMV8-A) {16E7B360-DCD5-431E-9380-EF0E96A38071}.Release|TwinCAT OS (ARMV8-A).Build.0 = Release|TwinCAT OS (ARMV8-A) {16E7B360-DCD5-431E-9380-EF0E96A38071}.Release|TwinCAT OS (x64).ActiveCfg = Release|TwinCAT OS (x64) - {16E7B360-DCD5-431E-9380-EF0E96A38071}.Release|TwinCAT OS (x64).Build.0 = Release|TwinCAT OS (x64) {16E7B360-DCD5-431E-9380-EF0E96A38071}.Release|TwinCAT OS (x64-E).ActiveCfg = Release|TwinCAT OS (x64-E) {16E7B360-DCD5-431E-9380-EF0E96A38071}.Release|TwinCAT OS (x64-E).Build.0 = Release|TwinCAT OS (x64-E) {16E7B360-DCD5-431E-9380-EF0E96A38071}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) diff --git a/Infineon.tmc b/Infineon.tmc new file mode 100644 index 0000000..ab58274 --- /dev/null +++ b/Infineon.tmc @@ -0,0 +1,43 @@ + + + + + KukaRobot + + + NotInExtMode + + Error + + + EStopActive + + Error + + + OperatorSafetyNotOk + + Error + + + ErrorResetTimeout + + Error + + + DrivesEnableTimeout + + Error + + + + + + + + + + + + + diff --git a/Infineon.tsproj b/Infineon.tsproj index 36f65d6..e6b6071 100644 --- a/Infineon.tsproj +++ b/Infineon.tsproj @@ -1,7 +1,10 @@ - + + + + {2752D285-16AD-4E89-AE6C-80E72784D264} @@ -39,4 +42,7 @@ + + + diff --git a/PLC/00_Main/PRG_Main.TcPOU b/PLC/00_Main/PRG_Main.TcPOU index 1a0ab51..e9f6aa1 100644 --- a/PLC/00_Main/PRG_Main.TcPOU +++ b/PLC/00_Main/PRG_Main.TcPOU @@ -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 ]]> @@ -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;]]> +GVL_SCADA.xErrAck := FALSE; + +IF _xConfirmAlarms THEN + _xConfirmAlarms := FALSE; +END_IF]]> \ No newline at end of file diff --git a/PLC/01_Stationen/Kuka_Robot/E_KukaRobot_JobNumberRobot.TcDUT b/PLC/01_Stationen/Kuka_Robot/E_KukaRobot_JobNumberRobot.TcDUT index c54c7c4..3ba6e15 100644 --- a/PLC/01_Stationen/Kuka_Robot/E_KukaRobot_JobNumberRobot.TcDUT +++ b/PLC/01_Stationen/Kuka_Robot/E_KukaRobot_JobNumberRobot.TcDUT @@ -59,7 +59,9 @@ TYPE E_KukaRobot_JobNumberRobot : PUT_CHUCK_ETCHER1 := 62, PUT_CHUCK_ETCHER2 := 63, PUT_CHUCK_INTO_MAGAZINE := 64, - GET_CHUCK_FROM_MAGAZINE := 65 + GET_CHUCK_FROM_MAGAZINE := 65, + + WARMUP := 80 ) WORD := NO_JOB; END_TYPE ]]> diff --git a/PLC/01_Stationen/Kuka_Robot/FB_KukaRobot.TcPOU b/PLC/01_Stationen/Kuka_Robot/FB_KukaRobot.TcPOU index 7023e8d..2c17b14 100644 --- a/PLC/01_Stationen/Kuka_Robot/FB_KukaRobot.TcPOU +++ b/PLC/01_Stationen/Kuka_Robot/FB_KukaRobot.TcPOU @@ -4,6 +4,9 @@ 0.001mm FUNCTION_BLOCK FINAL FB_KukaRobot EXTENDS FB_PackMLGeneric VAR_INPUT + eRobotJob : E_KukaRobot_JobNumberRobot; + + xReleaseAlarms : BOOL; xConfirmAlarms : BOOL; END_VAR VAR_OUTPUT @@ -56,13 +59,16 @@ VAR _xError : BOOL; + // ====== // Alarms // ====== - _fbAlarmNotInExtMode : FB_AlarmMessage(stEventEntry := TC_EVENTS.RobotEvents.RobotNotInExtMode, xWithConfirmation := FALSE); - _fbAlarmEStopActive : FB_AlarmMessage(stEventEntry := TC_EVENTS.RobotEvents.RobotEStopActive, xWithConfirmation := FALSE); - _fbAlarmOperatorSafetyNotOk : FB_AlarmMessage(stEventEntry := TC_EVENTS.RobotEvents.OperatorSafetyNotOk, xWithConfirmation := FALSE); + _fbAlarmNotInExtMode : FB_AlarmMessage(stEventEntry := TC_EVENTS.KukaRobot.NotInExtMode, xWithConfirmation := FALSE); + _fbAlarmEStopActive : FB_AlarmMessage(stEventEntry := TC_EVENTS.KukaRobot.EStopActive, xWithConfirmation := FALSE); + _fbAlarmOperatorSafetyNotOk : FB_AlarmMessage(stEventEntry := TC_EVENTS.KukaRobot.OperatorSafetyNotOk, xWithConfirmation := FALSE); + _fbAlarmRobotErrorResetTimeout : FB_AlarmMessage(stEventEntry := TC_EVENTS.KukaRobot.ErrorResetTimeout, xWithConfirmation := TRUE); + _fbAlarmDrivesEnableTimeout : FB_AlarmMessage(stEventEntry := TC_EVENTS.KukaRobot.DrivesEnableTimeout, xWithConfirmation := TRUE); END_VAR ]]> @@ -91,12 +97,22 @@ _fbAlarmOperatorSafetyNotOk( timOnDelay:= T#0S, timOffDelay:= T#0S); +// Handled by M_Resetting +_fbAlarmDrivesEnableTimeout( + xRelease:= xReleaseAlarms, + xAcknowledge:= xConfirmAlarms); + +// Handled by M_Resetting +_fbAlarmRobotErrorResetTimeout( + xRelease:= xReleaseAlarms, + xAcknowledge:= xConfirmAlarms); + // ======================= // Check if robot is ready // ======================= -_xRobotReady := _uState.stState.bExt +_xRobotReady := _uState.stState.bExt AND _uState.stState.bAlarmStop AND _uState.stState.bUserSAF AND _uState.stState.bPeriRdy @@ -118,9 +134,7 @@ SUPER^(); _uCtrl.stCtrl.bNotDisableAxes := 1; // Disable move if in T2 for safety reasons -IF (NOT _uState.stState.bT2) THEN - _uCtrl.stCtrl.bEnableMove := 1; -ELSE +IF _uState.stState.bT2 THEN _uCtrl.stCtrl.bEnableMove := 0; END_IF @@ -129,8 +143,8 @@ END_IF // Write job outputs // ================== -_uJobs.stJobs.wJobNrForRobot := _eRobotJob; -_uJobs.stJobs.wFinishedJobNrFromPlc := _ePlcJob; +//_uJobs.stJobs.wJobNrForRobot := _eRobotJob; +//_uJobs.stJobs.wFinishedJobNrFromPlc := _ePlcJob; // ================= @@ -140,15 +154,225 @@ _uJobs.stJobs.wFinishedJobNrFromPlc := _ePlcJob; xReady := _xRobotReady; xError := _xError;]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Abort +// IF _awJobStatesFromRobot[0] <> 0 AND _awJobStatesFromRobot[0] <> E_KukaRobot_JobNumberRobot.WARMUP THEN +// _eCmd := E_PackMLCmd.ABORT; +// END_IF +// +// // Robot has error +// IF _dwErrorBits <> 0 THEN +// _eCmd := E_PackMLCmd.ABORT; +// END_IF]]> + + + + +_ePlcJob := E_KukaRobot_JobNumerPLC.NO_JOB;]]> + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PLC/01_Stationen/Kuka_Robot/InterfaceStructs/ST_KukaRobot_Ctrl.TcDUT b/PLC/01_Stationen/Kuka_Robot/InterfaceStructs/ST_KukaRobot_Ctrl.TcDUT index 5a0bf11..2c35924 100644 --- a/PLC/01_Stationen/Kuka_Robot/InterfaceStructs/ST_KukaRobot_Ctrl.TcDUT +++ b/PLC/01_Stationen/Kuka_Robot/InterfaceStructs/ST_KukaRobot_Ctrl.TcDUT @@ -13,8 +13,21 @@ STRUCT // MOVE_ENABLE bEnableMove : BIT; + // EXT_START + bExtStart : BIT; + // CONF_MESS bConfMess : BIT; + + // Dummy bits + bDummy1 : BIT; + bDummy2 : BIT; + bDummy3 : BIT; + bDummy4 : BIT; + + // Abort job with rising edge + bAbortJob : BIT; + END_STRUCT END_TYPE ]]> diff --git a/PLC/GlobalTextList.TcGTLO b/PLC/GlobalTextList.TcGTLO deleted file mode 100644 index 31e1a87..0000000 --- a/PLC/GlobalTextList.TcGTLO +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - "134" - "Rest" - - - - - {70dbd3f8-6154-4749-9cca-681da551cf9b} - {7f241e67-9115-442d-b41b-9dac33ba1617} - {db2ea5fe-8596-4215-8845-f46ef9e4d4dc} - - - - System.Collections.ArrayList - {63784cbb-9ba0-45e6-9d69-babf3f040511} - System.Guid - System.String - {53da1be7-ad25-47c3-b0e8-e26286dad2e0} - - - - \ No newline at end of file diff --git a/PLC/LibraryCandidates/PackML/E_PackMLCmd.TcDUT b/PLC/LibraryCandidates/PackML/DUTs/E_PackMLCmd.TcDUT similarity index 100% rename from PLC/LibraryCandidates/PackML/E_PackMLCmd.TcDUT rename to PLC/LibraryCandidates/PackML/DUTs/E_PackMLCmd.TcDUT diff --git a/PLC/LibraryCandidates/PackML/E_PackMLState.TcDUT b/PLC/LibraryCandidates/PackML/DUTs/E_PackMLState.TcDUT similarity index 97% rename from PLC/LibraryCandidates/PackML/E_PackMLState.TcDUT rename to PLC/LibraryCandidates/PackML/DUTs/E_PackMLState.TcDUT index 337c9b1..090c1be 100644 --- a/PLC/LibraryCandidates/PackML/E_PackMLState.TcDUT +++ b/PLC/LibraryCandidates/PackML/DUTs/E_PackMLState.TcDUT @@ -23,7 +23,7 @@ TYPE E_PackMLState : UNSUSPENDING := 14, RESETTING := 15, COMPLETING := 16, - COMPLETE := 17 + COMPLETED := 17 ) DINT := STOPPED; END_TYPE ]]> diff --git a/PLC/LibraryCandidates/PackML/E_PackMLUnitMode.TcDUT b/PLC/LibraryCandidates/PackML/DUTs/E_PackMLUnitMode.TcDUT similarity index 100% rename from PLC/LibraryCandidates/PackML/E_PackMLUnitMode.TcDUT rename to PLC/LibraryCandidates/PackML/DUTs/E_PackMLUnitMode.TcDUT diff --git a/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PMLa.TcDUT b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PMLa.TcDUT new file mode 100644 index 0000000..c69d88f --- /dev/null +++ b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PMLa.TcDUT @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PMLc.TcDUT b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PMLc.TcDUT new file mode 100644 index 0000000..2cb6463 --- /dev/null +++ b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PMLc.TcDUT @@ -0,0 +1,26 @@ + + + + + + \ No newline at end of file diff --git a/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PMLs.TcDUT b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PMLs.TcDUT new file mode 100644 index 0000000..b331ddc --- /dev/null +++ b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PMLs.TcDUT @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLPI.TcDUT b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLPI.TcDUT new file mode 100644 index 0000000..a3ae10f --- /dev/null +++ b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLPI.TcDUT @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLParamDINT.TcDUT b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLParamDINT.TcDUT new file mode 100644 index 0000000..c866f58 --- /dev/null +++ b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLParamDINT.TcDUT @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLParamLREAL.TcDUT b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLParamLREAL.TcDUT new file mode 100644 index 0000000..5f7c2b4 --- /dev/null +++ b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLParamLREAL.TcDUT @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLParamREAL.TcDUT b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLParamREAL.TcDUT new file mode 100644 index 0000000..f99e0e0 --- /dev/null +++ b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLParamREAL.TcDUT @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLParamSTRING.TcDUT b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLParamSTRING.TcDUT new file mode 100644 index 0000000..cead119 --- /dev/null +++ b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLParamSTRING.TcDUT @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLRecipe.TcDUT b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLRecipe.TcDUT new file mode 100644 index 0000000..699d620 --- /dev/null +++ b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackMLRecipe.TcDUT @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackML_ProductData.TcDUT b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackML_ProductData.TcDUT new file mode 100644 index 0000000..a73d7ed --- /dev/null +++ b/PLC/LibraryCandidates/PackML/DUTs/PackTags/ST_PackML_ProductData.TcDUT @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/PLC/LibraryCandidates/PackML/DUTs/ST_PackMLStateMachineConfig.TcDUT b/PLC/LibraryCandidates/PackML/DUTs/ST_PackMLStateMachineConfig.TcDUT new file mode 100644 index 0000000..36810e0 --- /dev/null +++ b/PLC/LibraryCandidates/PackML/DUTs/ST_PackMLStateMachineConfig.TcDUT @@ -0,0 +1,27 @@ + + + + + + \ No newline at end of file diff --git a/PLC/LibraryCandidates/PackML/FB_PackMLStateMachine.TcPOU b/PLC/LibraryCandidates/PackML/FB_PackMLStateMachine.TcPOU deleted file mode 100644 index 214c952..0000000 --- a/PLC/LibraryCandidates/PackML/FB_PackMLStateMachine.TcPOU +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - _eMode THEN - // Only allow mode switch in stopped state - // or in aborted state when target mode ist manual mode - IF (_eState = E_PackMLState.STOPPED) OR (_eState = E_PackMLState.ABORTED AND eMode = E_PackMLUnitMode.MANUAL) THEN - _eMode := eMode; - END_IF -END_IF - - -// Base state machine -CASE _eState OF - E_PackMLState.STOPPING: - IF eCmd = E_PackMLCmd.ABORT THEN - _eState := E_PackMLState.ABORTING; - END_IF - - E_PackMLState.STOPPED: - IF eCmd = E_PackMLCmd.RESET THEN - _eState := E_PackMLState.RESETTING; - END_IF - - IF eCmd = E_PackMLCmd.ABORT THEN - _eState := E_PackMLState.ABORTING; - END_IF - - E_PackMLState.RESETTING: - IF eCmd = E_PackMLCmd.STOP THEN - _eState := E_PackMLState.STOPPING; - END_IF - - IF eCmd = E_PackMLCmd.ABORT THEN - _eState := E_PackMLState.ABORTING; - END_IF - - E_PackMLState.IDLE: - IF eCmd = E_PackMLCmd.START THEN - _eState := E_PackMLState.STARTING; - END_IF - - IF eCmd = E_PackMLCmd.STOP THEN - _eState := E_PackMLState.STOPPING; - END_IF - - IF eCmd = E_PackMLCmd.ABORT THEN - _eState := E_PackMLState.ABORTING; - END_IF - - E_PackMLState.STARTING: - IF eCmd = E_PackMLCmd.STOP THEN - _eState := E_PackMLState.STOPPING; - END_IF - - IF eCmd = E_PackMLCmd.ABORT THEN - _eState := E_PackMLState.ABORTING; - END_IF - - E_PackMLState.EXECUTE: - IF eCmd = E_PackMLCmd.SUSPEND THEN - _eState := E_PackMLState.SUSPENDING; - END_IF - - IF eCmd = E_PackMLCmd.HOLD THEN - _eState := E_PackMLState.HOLDING; - END_IF - - IF eCmd = E_PackMLCmd.STOP THEN - _eState := E_PackMLState.STOPPING; - END_IF - - IF eCmd = E_PackMLCmd.ABORT THEN - _eState := E_PackMLState.ABORTING; - END_IF - - E_PackMLState.SUSPENDING: - IF eCmd = E_PackMLCmd.STOP THEN - _eState := E_PackMLState.STOPPING; - END_IF - - IF eCmd = E_PackMLCmd.ABORT THEN - _eState := E_PackMLState.ABORTING; - END_IF - - E_PackMLState.SUSPENDED: - IF eCmd = E_PackMLCmd.UNSUSPEND THEN - _eState := E_PackMLState.UNSUSPENDING; - END_IF - - IF eCmd = E_PackMLCmd.STOP THEN - _eState := E_PackMLState.STOPPING; - END_IF - - IF eCmd = E_PackMLCmd.ABORT THEN - _eState := E_PackMLState.ABORTING; - END_IF - - E_PackMLState.UNSUSPENDING: - IF eCmd = E_PackMLCmd.STOP THEN - _eState := E_PackMLState.STOPPING; - END_IF - - IF eCmd = E_PackMLCmd.ABORT THEN - _eState := E_PackMLState.ABORTING; - END_IF - - E_PackMLState.HOLDING: - IF eCmd = E_PackMLCmd.STOP THEN - _eState := E_PackMLState.STOPPING; - END_IF - - IF eCmd = E_PackMLCmd.ABORT THEN - _eState := E_PackMLState.ABORTING; - END_IF - - E_PackMLState.HELD: - IF eCmd = E_PackMLCmd.UNHOLD THEN - _eState := E_PackMLState.UNHOLDING; - END_IF - - IF eCmd = E_PackMLCmd.STOP THEN - _eState := E_PackMLState.STOPPING; - END_IF - - IF eCmd = E_PackMLCmd.ABORT THEN - _eState := E_PackMLState.ABORTING; - END_IF - - E_PackMLState.UNHOLDING: - IF eCmd = E_PackMLCmd.STOP THEN - _eState := E_PackMLState.STOPPING; - END_IF - - IF eCmd = E_PackMLCmd.ABORT THEN - _eState := E_PackMLState.ABORTING; - END_IF - - E_PackMLState.COMPLETING: - IF eCmd = E_PackMLCmd.STOP THEN - _eState := E_PackMLState.STOPPING; - END_IF - - IF eCmd = E_PackMLCmd.ABORT THEN - _eState := E_PackMLState.ABORTING; - END_IF - - E_PackMLState.COMPLETE: - IF eCmd = E_PackMLCmd.RESET THEN - _eState := E_PackMLState.RESETTING; - END_IF - - IF eCmd = E_PackMLCmd.STOP THEN - _eState := E_PackMLState.STOPPING; - END_IF - - IF eCmd = E_PackMLCmd.ABORT THEN - _eState := E_PackMLState.ABORTING; - END_IF - - E_PackMLState.ABORTED: - IF eCmd = E_PackMLCmd.CLEAR THEN - _eState := E_PackMLState.CLEARING; - END_IF - - E_PackMLState.CLEARING: - IF eCmd = E_PackMLCmd.ABORT THEN - _eState := E_PackMLState.ABORTING; - END_IF - - ELSE - ; -END_CASE - -// Copy internal state value to fb output -eState := _eState; -eCurrentMode := _eMode;]]> - - - - - - - - - \ No newline at end of file diff --git a/PLC/LibraryCandidates/PackML/GVL_PackML_Conf.TcGVL b/PLC/LibraryCandidates/PackML/GVL_PackML_Conf.TcGVL new file mode 100644 index 0000000..4c71a5d --- /dev/null +++ b/PLC/LibraryCandidates/PackML/GVL_PackML_Conf.TcGVL @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/PLC/LibraryCandidates/PackML/FB_PackMLGeneric.TcPOU b/PLC/LibraryCandidates/PackML/POUs/FB_PackMLGeneric.TcPOU similarity index 76% rename from PLC/LibraryCandidates/PackML/FB_PackMLGeneric.TcPOU rename to PLC/LibraryCandidates/PackML/POUs/FB_PackMLGeneric.TcPOU index d01546f..be92a17 100644 --- a/PLC/LibraryCandidates/PackML/FB_PackMLGeneric.TcPOU +++ b/PLC/LibraryCandidates/PackML/POUs/FB_PackMLGeneric.TcPOU @@ -3,39 +3,90 @@ - _eState, + stStatus.eStateCurrent, + eCurrentMode => stStatus.eUnitModeCurrent, xError=> ); + +// Reset state state machine +IF _eLastState <> stStatus.eStateCurrent THEN + _iSSM := 0; + _eLastState := stStatus.eStateCurrent; +END_IF // Call state method according to current state -CASE _eState OF +CASE stStatus.eStateCurrent OF E_PackMLState.CLEARING: M_Clearing(); @@ -84,16 +135,13 @@ CASE _eState OF E_PackMLState.COMPLETING: M_Completing(); - E_PackMLState.COMPLETE: + E_PackMLState.COMPLETED: M_Complete(); ELSE ; -END_CASE - -// Copy internal flags to output -eState := _eState;]]> +END_CASE]]> - + diff --git a/PLC/LibraryCandidates/PackML/POUs/FB_PackMLStateMachine.TcPOU b/PLC/LibraryCandidates/PackML/POUs/FB_PackMLStateMachine.TcPOU new file mode 100644 index 0000000..1c73884 --- /dev/null +++ b/PLC/LibraryCandidates/PackML/POUs/FB_PackMLStateMachine.TcPOU @@ -0,0 +1,428 @@ + + + + + + _eMode THEN + // Only allow mode switch in stopped state + // or in aborted state when target mode ist manual mode + IF (_eState = E_PackMLState.STOPPED) OR (_eState = E_PackMLState.ABORTED AND eMode = E_PackMLUnitMode.MANUAL) THEN + _eMode := eMode; + END_IF +END_IF + +REPEAT + _xRerunSM := FALSE; + + // Base state machine + CASE _eState OF + E_PackMLState.STOPPING: + IF eCmd = E_PackMLCmd.ABORT THEN + IF (NOT stConfig.xAbortingDisabled) THEN + _eState := E_PackMLState.ABORTING; + ELSE + _eState := E_PackMLState.ABORTED; + END_IF + END_IF + + E_PackMLState.STOPPED: + IF eCmd = E_PackMLCmd.RESET THEN + IF (NOT stConfig.xResettingDisabled)THEN + _eState := E_PackMLState.RESETTING; + ELSE + _eState := E_PackMLState.IDLE; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.ABORT THEN + IF (NOT stConfig.xAbortingDisabled) THEN + _eState := E_PackMLState.ABORTING; + ELSE + _eState := E_PackMLState.ABORTED; + END_IF + END_IF + + E_PackMLState.RESETTING: + IF eCmd = E_PackMLCmd.STOP THEN + IF (NOT stConfig.xStoppingDisabled) THEN + _eState := E_PackMLState.STOPPING; + ELSE + _eState := E_PackMLState.STOPPED; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.ABORT THEN + IF (NOT stConfig.xAbortingDisabled) THEN + _eState := E_PackMLState.ABORTING; + ELSE + _eState := E_PackMLState.ABORTED; + END_IF + END_IF + + + E_PackMLState.IDLE: + IF eCmd = E_PackMLCmd.START THEN + IF (NOT stConfig.xStartingDisabled) THEN + _eState := E_PackMLState.STARTING; + ELSE + _eState := E_PackMLState.EXECUTE; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.STOP THEN + IF (NOT stConfig.xStoppingDisabled) THEN + _eState := E_PackMLState.STOPPING; + ELSE + _eState := E_PackMLState.STOPPED; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.ABORT THEN + IF (NOT stConfig.xAbortingDisabled) THEN + _eState := E_PackMLState.ABORTING; + ELSE + _eState := E_PackMLState.ABORTED; + END_IF + END_IF + + E_PackMLState.STARTING: + IF eCmd = E_PackMLCmd.STOP THEN + IF (NOT stConfig.xStoppingDisabled) THEN + _eState := E_PackMLState.STOPPING; + ELSE + _eState := E_PackMLState.STOPPED; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.ABORT THEN + IF (NOT stConfig.xAbortingDisabled) THEN + _eState := E_PackMLState.ABORTING; + ELSE + _eState := E_PackMLState.ABORTED; + END_IF + END_IF + + + E_PackMLState.EXECUTE: + IF eCmd = E_PackMLCmd.SUSPEND AND (NOT stConfig.xSuspededDisabled) THEN + IF (NOT stConfig.xSuspendingDisabled) THEN + _eState := E_PackMLState.SUSPENDING; + ELSE + _eState := E_PackMLState.SUSPENDED; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.HOLD AND (NOT stConfig.xHeldDisabled) THEN + IF (NOT stConfig.xHoldingDisabled) THEN + _eState := E_PackMLState.HOLDING; + ELSE + _eState := E_PackMLState.HELD; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.STOP THEN + IF (NOT stConfig.xStoppingDisabled) THEN + _eState := E_PackMLState.STOPPING; + ELSE + _eState := E_PackMLState.STOPPED; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.ABORT THEN + IF (NOT stConfig.xAbortingDisabled) THEN + _eState := E_PackMLState.ABORTING; + ELSE + _eState := E_PackMLState.ABORTED; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.COMPLETE THEN + IF (NOT stConfig.xCompletedDisabled)THEN + IF (NOT stConfig.xCompletingDisabled) THEN + _eState := E_PackMLState.COMPLETING; + ELSE + _eState := E_PackMLState.COMPLETED; + END_IF + ELSE + IF (NOT stConfig.xResettingDisabled) THEN + _eState := E_PackMLState.RESETTING; + ELSE + _eState := E_PackMLState.IDLE; + END_IF + END_IF + END_IF + + E_PackMLState.SUSPENDING: + IF eCmd = E_PackMLCmd.STOP THEN + IF (NOT stConfig.xStoppingDisabled) THEN + _eState := E_PackMLState.STOPPING; + ELSE + _eState := E_PackMLState.STOPPED; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.ABORT THEN + IF (NOT stConfig.xAbortingDisabled) THEN + _eState := E_PackMLState.ABORTING; + ELSE + _eState := E_PackMLState.ABORTED; + END_IF + END_IF + + E_PackMLState.SUSPENDED: + IF eCmd = E_PackMLCmd.UNSUSPEND THEN + IF (NOT stConfig.xUnsuspendingDisabled) THEN + _eState := E_PackMLState.UNSUSPENDING; + ELSE + _eState := E_PackMLState.EXECUTE; + END_IF + + END_IF + + IF eCmd = E_PackMLCmd.HOLD AND (NOT stConfig.xHeldDisabled) THEN + IF (NOT stConfig.xHoldingDisabled) THEN + _eState := E_PackMLState.HOLDING; + ELSE + _eState := E_PackMLState.HELD; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.STOP THEN + IF (NOT stConfig.xStoppingDisabled) THEN + _eState := E_PackMLState.STOPPING; + ELSE + _eState := E_PackMLState.STOPPED; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.ABORT THEN + IF (NOT stConfig.xAbortingDisabled) THEN + _eState := E_PackMLState.ABORTING; + ELSE + _eState := E_PackMLState.ABORTED; + END_IF + END_IF + + E_PackMLState.UNSUSPENDING: + IF eCmd = E_PackMLCmd.STOP THEN + IF (NOT stConfig.xStoppingDisabled) THEN + _eState := E_PackMLState.STOPPING; + ELSE + _eState := E_PackMLState.STOPPED; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.ABORT THEN + IF (NOT stConfig.xAbortingDisabled) THEN + _eState := E_PackMLState.ABORTING; + ELSE + _eState := E_PackMLState.ABORTED; + END_IF + END_IF + + E_PackMLState.HOLDING: + IF eCmd = E_PackMLCmd.STOP THEN + IF (NOT stConfig.xStoppingDisabled) THEN + _eState := E_PackMLState.STOPPING; + ELSE + _eState := E_PackMLState.STOPPED; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.ABORT THEN + IF (NOT stConfig.xAbortingDisabled) THEN + _eState := E_PackMLState.ABORTING; + ELSE + _eState := E_PackMLState.ABORTED; + END_IF + END_IF + + E_PackMLState.HELD: + IF eCmd = E_PackMLCmd.UNHOLD THEN + IF (NOT stConfig.xUnholdingDisabled) THEN + _eState := E_PackMLState.UNHOLDING; + ELSE + _eState := E_PackMLState.EXECUTE; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.STOP THEN + IF (NOT stConfig.xStoppingDisabled) THEN + _eState := E_PackMLState.STOPPING; + ELSE + _eState := E_PackMLState.STOPPED; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.ABORT THEN + IF (NOT stConfig.xAbortingDisabled) THEN + _eState := E_PackMLState.ABORTING; + ELSE + _eState := E_PackMLState.ABORTED; + END_IF + END_IF + + E_PackMLState.UNHOLDING: + IF eCmd = E_PackMLCmd.STOP THEN + IF (NOT stConfig.xStoppingDisabled) THEN + _eState := E_PackMLState.STOPPING; + ELSE + _eState := E_PackMLState.STOPPED; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.ABORT THEN + IF (NOT stConfig.xAbortingDisabled) THEN + _eState := E_PackMLState.ABORTING; + ELSE + _eState := E_PackMLState.ABORTED; + END_IF + END_IF + + E_PackMLState.COMPLETING: + IF eCmd = E_PackMLCmd.STOP THEN + IF (NOT stConfig.xStoppingDisabled) THEN + _eState := E_PackMLState.STOPPING; + ELSE + _eState := E_PackMLState.STOPPED; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.ABORT THEN + IF (NOT stConfig.xAbortingDisabled) THEN + _eState := E_PackMLState.ABORTING; + ELSE + _eState := E_PackMLState.ABORTED; + END_IF + END_IF + + E_PackMLState.COMPLETED: + IF eCmd = E_PackMLCmd.RESET THEN + IF (NOT stConfig.xResettingDisabled)THEN + _eState := E_PackMLState.RESETTING; + ELSE + _eState := E_PackMLState.IDLE; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.STOP THEN + IF (NOT stConfig.xStoppingDisabled) THEN + _eState := E_PackMLState.STOPPING; + ELSE + _eState := E_PackMLState.STOPPED; + END_IF + END_IF + + IF eCmd = E_PackMLCmd.ABORT THEN + IF (NOT stConfig.xAbortingDisabled) THEN + _eState := E_PackMLState.ABORTING; + ELSE + _eState := E_PackMLState.ABORTED; + END_IF + END_IF + + E_PackMLState.ABORTED: + IF eCmd = E_PackMLCmd.CLEAR THEN + IF (NOT stConfig.xClearingDisabled) THEN + _eState := E_PackMLState.CLEARING; + ELSE + _eState := E_PackMLState.STOPPED; + END_IF + END_IF + + E_PackMLState.CLEARING: + IF eCmd = E_PackMLCmd.ABORT THEN + IF (NOT stConfig.xAbortingDisabled) THEN + _eState := E_PackMLState.ABORTING; + ELSE + _eState := E_PackMLState.ABORTED; + END_IF + END_IF + + ELSE + ; + END_CASE + +UNTIL (NOT _xRerunSM) +END_REPEAT + + + +// Copy internal state value to fb output +eState := _eState; +eCurrentMode := _eMode;]]> + + + + + + + + + \ No newline at end of file diff --git a/PLC/LibraryCandidates/Unittests/FB_PackMLStateMachine_Test.TcPOU b/PLC/LibraryCandidates/Unittests/FB_PackMLStateMachine_Test.TcPOU index 6e7e40f..3c3efd1 100644 --- a/PLC/LibraryCandidates/Unittests/FB_PackMLStateMachine_Test.TcPOU +++ b/PLC/LibraryCandidates/Unittests/FB_PackMLStateMachine_Test.TcPOU @@ -194,7 +194,7 @@ fbPackML.M_StateComplete(); AssertEquals_DINT(E_PackMLState.COMPLETING, fbPackML.eState, 'Should transition to COMPLETING'); fbPackML.M_StateComplete(); -AssertEquals_DINT(E_PackMLState.COMPLETE, fbPackML.eState, 'Should transition to COMPLETE'); +AssertEquals_DINT(E_PackMLState.COMPLETED, fbPackML.eState, 'Should transition to COMPLETE'); TEST_FINISHED();]]> @@ -221,7 +221,7 @@ AssertEquals_DINT(E_PackMLState.EXECUTE, fbPackML.eState, 'Should reach EXECUTE' // EXECUTE -> COMPLETING -> COMPLETE fbPackML.M_StateComplete(); fbPackML.M_StateComplete(); -AssertEquals_DINT(E_PackMLState.COMPLETE, fbPackML.eState, 'Should reach COMPLETE'); +AssertEquals_DINT(E_PackMLState.COMPLETED, fbPackML.eState, 'Should reach COMPLETE'); // COMPLETE -> RESETTING -> IDLE fbPackML(eCmd := E_PackMLCmd.RESET); @@ -425,7 +425,7 @@ fbPackML(eCmd := E_PackMLCmd.START); fbPackML.M_StateComplete(); fbPackML.M_StateComplete(); fbPackML.M_StateComplete(); -AssertEquals_DINT(E_PackMLState.COMPLETE, fbPackML.eState, 'Setup: Should be COMPLETE'); +AssertEquals_DINT(E_PackMLState.COMPLETED, fbPackML.eState, 'Setup: Should be COMPLETE'); // Test RESET from COMPLETE fbPackML(eCmd := E_PackMLCmd.RESET); @@ -452,7 +452,7 @@ fbPackML(eCmd := E_PackMLCmd.START); fbPackML.M_StateComplete(); fbPackML.M_StateComplete(); fbPackML.M_StateComplete(); -AssertEquals_DINT(E_PackMLState.COMPLETE, fbPackML.eState, 'Setup: Should be COMPLETE'); +AssertEquals_DINT(E_PackMLState.COMPLETED, fbPackML.eState, 'Setup: Should be COMPLETE'); // Test STOP from COMPLETE fbPackML(eCmd := E_PackMLCmd.STOP); diff --git a/PLC/PLC.plcproj b/PLC/PLC.plcproj index 191b583..4c1794a 100644 --- a/PLC/PLC.plcproj +++ b/PLC/PLC.plcproj @@ -63,28 +63,56 @@ Code - - Code - Code true - + Code - + Code - + Code - + Code - + Code + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + + + Code + true + Code @@ -94,6 +122,12 @@ Code + + Code + + + Code + Code @@ -103,13 +137,6 @@ Code - - Code - - - Code - Visualization Manager.TcVMO - @@ -122,10 +149,12 @@ + + + - diff --git a/PLC/PLC.tmc b/PLC/PLC.tmc new file mode 100644 index 0000000..abc66ee --- /dev/null +++ b/PLC/PLC.tmc @@ -0,0 +1,392 @@ +ST_LibVersion288iMajorUINT160iMinorUINT1616iBuildUINT1632iRevisionUINT1648nFlagsDWORD3264sVersionSTRING(23)19296E_WATCHDOG_TIME_CONFIG16INTeWATCHDOG_TIME_DISABLED0eWATCHDOG_TIME_SECONDS1eWATCHDOG_TIME_MINUTES2INT (2..100)16INTLowerBorder2UpperBorder100E_HashPrefixTypes16INTHASHPREFIX_IEC0HASHPREFIX_STDC1E_SBCSType16INTeSBCS_WesternEuropean1eSBCS_CentralEuropean2T_AmsNetID192STRING(23)E_RouteTransportType16UINTeRouteTransport_None0eRouteTransport_TCP_IP1eRouteTransport_IIO_LIGHTBUS2eRouteTransport_PROFIBUS_DP3eRouteTransport_PCI_ISA_BUS4eRouteTransport_ADS_UDP5eRouteTransport_FATP_UDP6eRouteTransport_COM_PORT7eRouteTransport_USB8eRouteTransport_CAN_OPEN9eRouteTransport_DEVICE_NET10eRouteTransport_SSB11eRouteTransport_SOAP12ST_AmsRouteEntry1184sNameSTRING(31)2560sNetIDT_AmsNetID192256sAddressSTRING(79)640448eTransportE_RouteTransportType161088tTimeoutTIME321120dwFlagsDWORD321152E_ArgType16INTARGTYPE_UNKNOWN0ARGTYPE_BYTE1ARGTYPE_WORD2ARGTYPE_DWORD3ARGTYPE_REAL4ARGTYPE_LREAL5ARGTYPE_SINT6ARGTYPE_INT7ARGTYPE_DINT8ARGTYPE_USINT9ARGTYPE_UINT10ARGTYPE_UDINT11ARGTYPE_STRING12ARGTYPE_BOOL13ARGTYPE_BIGTYPE14ARGTYPE_ULARGE15ARGTYPE_UHUGE16ARGTYPE_LARGE17ARGTYPE_HUGE18ARGTYPE_LWORD19T_Arg128eTypeE_ArgType160E_ArgType.ARGTYPE_UNKNOWNcbLenUDINT cbLen = length of string + 1 (null delimiter). ]]>32320pDataPVOID64640T_ULARGE_INTEGER64dwLowPartDWORD320dwHighPartDWORD3232TIMESTRUCT128wYearWORD160wMonthWORD1616wDayOfWeekWORD1632wDayWORD1648wHourWORD1664wMinuteWORD1680wSecondWORD1696wMillisecondsWORD16112ST_TimeZoneInformation864biasDINT320standardNameSTRING(31)25632standardDateTIMESTRUCT128288standardBiasDINT32416daylightNameSTRING(31)256448daylightDateTIMESTRUCT128704daylightBiasDINT32832TcEventSeverity16INT01234plcAttribute_qualified_onlyplcAttribute_strictTcEventEntryFlags8BYTE0#x1plcAttribute_qualified_onlyTcEventEntry192uuidEventClassGUID1280nEventIdUDINT32128eSeverityTcEventSeverity16160eFlagsTcEventEntryFlags8176UDINT (81..10000)32UDINTLowerBorder81UpperBorder10000T_MaxString2048STRING(255)TOF256INBOOL864ItemTypeInputPTTIME3296ItemTypeInputQBOOL8128ItemTypeOutputETTIME32160ItemTypeOutputMBOOL8192StartTimeTIME32224PouTypeFunctionBlockUINT (0..GVL_Param_TcUnit.MaxNumberOfTestSuites)16UINTLowerBorder0UpperBorder1000UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16UINTLowerBorder0UpperBorder100E_AssertionType8BYTEType_UNDEFINED0Type_ANY1Type_BOOL2Type_BYTE3Type_DATE4Type_DATE_AND_TIME5Type_DINT6Type_DWORD7Type_INT8Type_LINT9Type_LREAL10Type_LTIME11Type_LWORD12Type_REAL13Type_SINT14Type_STRING15Type_TIME16Type_TIME_OF_DAY17Type_UDINT18Type_UINT19Type_ULINT20Type_USINT21Type_WORD22Type_WSTRING23Type_Array2D_LREAL24Type_Array2D_REAL25Type_Array3D_LREAL26Type_Array3D_REAL27Type_Array_BOOL28Type_Array_BYTE29Type_Array_DINT30Type_Array_DWORD31Type_Array_INT32Type_Array_LINT33Type_Array_LREAL34Type_Array_LWORD35Type_Array_REAL36Type_Array_SINT37Type_Array_UDINT38Type_Array_UINT39Type_Array_ULINT40Type_Array_USINT41Type_Array_WORD42qualified_onlystrictST_TestCaseResult6192TestNameT_MaxString20480TestClassNameT_MaxString20482048TestIsFailedBOOL84096TestIsSkippedBOOL84104FailureMessageT_MaxString20484112FailureTypeE_AssertionType86160NumberOfAssertsUINT166176ST_TestSuiteResult621296NameT_MaxString20480IdentityUINT (0..GVL_Param_TcUnit.MaxNumberOfTestSuites)162048NumberOfTestsUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)162064NumberOfFailedTestsUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)162080TestCaseResultsST_TestCaseResult11006192002096ST_TestSuiteResults621296064NumberOfTestSuitesUINT160NumberOfTestCasesUINT1616NumberOfSuccessfulTestCasesUINT1632NumberOfFailedTestCasesUINT1648TestSuiteResultsST_TestSuiteResult1100062129600064I_TestResults64PVOIDGetAreTestResultsAvailableBOOL8GetTestSuiteResultsST_TestSuiteResults64TcPlcInterfaceTypeUINT (1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16UINTLowerBorder1UpperBorder1000R_TRIG128CLKBOOL864ItemTypeInputQBOOL872ItemTypeOutputMBOOL880conditionalshowPouTypeFunctionBlockconditionalshow_all_localsFB_TestResults621296448I_TestResultsTestSuiteResultsST_TestSuiteResults621296064128StoringTestSuiteResultNumberUINT (1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16621296192StoringTestSuiteTriggerR_TRIG128621296256StoredTestSuiteResultsBOOL8621296384StoredGeneralTestResultsBOOL8621296392NumberOfTestsToAnalyseUINT (1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16621296400GetAreTestResultsAvailableBOOL8GetTestSuiteResultsST_TestSuiteResults64PouTypeFunctionBlockI_TestResultLogger64PVOIDLogTestSuiteResultsTcPlcInterfaceTypeUINT (1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16UINTLowerBorder1UpperBorder100FB_AdsTestResultLogger448I_TestResultLoggerTestResultsI_TestResults64128PrintingTestSuiteResultNumberUINT (1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16192PrintingTestSuiteTriggerR_TRIG128256PrintedFinalTestResultsBOOL8384PrintedTestSuitesResultsBOOL8392LogTestSuiteResultsTcUnitTestResultsST_TestSuiteResults64StringToPrintT_MaxString2048TestsInTestSuiteCounterUINT (1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16MaxNumberOfTestsToPrintUINT (1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16TEST_STATUS_SKIPSTRING(80)648TEST_STATUS_PASSSTRING(80)648TEST_STATUS_FAILSTRING(80)648PouTypeFunctionBlockRTS_IEC_RESULT32UDINTACCESS_MODE32UDINTAM_READ0AM_WRITE1AM_APPEND2AM_READ_PLUS3AM_WRITE_PLUS4AM_APPEND_PLUS5external_nameRTS_ACCESS_MODERTS_IEC_SIZE64BYTERTS_IEC_HANDLE64BYTEFB_FileControl192FileAccessModeACCESS_MODE3264ACCESS_MODE.AM_APPEND_PLUSFileHandleRTS_IEC_HANDLE64128ReadRTS_IEC_RESULT32BufferPointerBYTE64SizeUDINT32FileSizeRTS_IEC_SIZE64ItemTypeOutputCloseRTS_IEC_RESULT32OpenRTS_IEC_RESULT32FileNameT_MaxString2048FileAccessModeACCESS_MODE32DeleteRTS_IEC_RESULT32FileNameT_MaxString2048WriteRTS_IEC_RESULT32BufferPointerBYTE64SizeUDINT32PouTypeFunctionBlockE_XmlError8BYTEOk0ErrorMaxBufferLen1ErrorStringLen2Error3qualified_onlystrictFB_StreamBuffer192_PointerToStringBufferBYTE6464_BufferSizeUDINT32128_LengthUDINT32160CutOffT_MaxString2048StartPosUDINT32CutLenUDINT32ItemTypeOutputXmlErrorE_XmlError8ItemTypeOutputLoopUDINT32PointerToByteToCutBYTE64PointerToByteBufferBYTE64FindUDINT32SearchStringSTRING(80)648StartPosUDINT32LoopUDINT32SearchUDINT32PointerToBufferBYTE64PointerToSearchBYTE64FindBackUDINT32SearchStringT_MaxString2048LoopUDINT32SearchUDINT32PointerToBufferBYTE64PointerToSearchBYTE64__getLengthUDINT32LengthUDINT32propertyClearCountUDINT32__setAppendAppendT_MaxString2048ByteInBYTE64ByteBufferBYTE64property__getBufferSizeUDINT32BufferSizeUDINT32property__setLengthLengthUDINT32propertySetBufferBOOL8PointerToBufferAddressBYTE64SizeOfBufferUDINT32CopyT_MaxString2048StartPosUDINT32EndPosUDINT32CopyLenUDINT32ItemTypeOutputXmlErrorE_XmlError8ItemTypeOutputLoopUDINT32PointerToByteToCopyBYTE64PointerToBufferBYTE64CurPosUDINT32PouTypeFunctionBlockFB_XmlControl6016XmlBufferFB_StreamBuffer19264TagListBufferFB_StreamBuffer192256TagsT_MaxString2048448TagListSeekBufferFB_StreamBuffer1922496TagsSeekSTRING(80)6482688TagBufferFB_StreamBuffer1923392TagT_MaxString20483584TagOpenBOOL85632SelectUDINT325664SearchPositionUDINT325696TAG_OPENSTRING(1)165728<TAG_CLOSESTRING(1)165744>END_TAG_CLOSESTRING(2)245760/>SPACESTRING(1)165784 EQUALSSTRING(1)165800=QUOTESTRING(1)165816"BACK_SLASHSTRING(1)165832\FORWARD_SLASHSTRING(1)165848/OPEN_COMMENTSTRING(5)485864<!-- CLOSE_COMMENTSTRING(4)405912 -->TABSTRING(2)245952 CR_LFSTRING(4)405976 +NewParameterNameT_MaxString2048ValueT_MaxString2048NewTag + + XML.NewTag(Name: = 'MyTag'); +]]>NameT_MaxString2048CloseTag' + + Method: XML.CloseTag(); +]]>T_MaxString2048ClosedTagT_MaxString2048WriteDocumentHeader + + Start with calling this method before appending any other tags! + + XML.WriteDocumentHeader(''); +]]>HeaderT_MaxString2048NewComment + + XML.NewComment(Comment: = 'MyComment'); +]]>CommentT_MaxString2048__getLengthUDINT32LengthUDINT32propertyNewTagDataDataT_MaxString2048SetBufferPointerToBufferBYTE64SizeOfBufferUDINT32ClearBufferToStartBufferPouTypeFunctionBlockFB_xUnitXmlPublisher530944I_TestResultLoggerTestResultsI_TestResults64128AccessModeACCESS_MODE32192ACCESS_MODE.AM_WRITE_PLUSFileFB_FileControl192256XmlFB_XmlControl6016448BufferInitialisedBOOL86464falseBufferBYTE0655355242806472WritingTestSuiteResultNumberUINT (1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16530752PublishTriggerR_TRIG128530816DeleteOpenWriteCloseRTS_IEC_RESULT32LogTestSuiteResultsUnitTestResultsST_TestSuiteResults64CurrentSuiteNumberUINT16CurrentTestCountUINT16TEST_STATUS_SKIPSTRING(80)648TEST_STATUS_PASSSTRING(80)648TEST_STATUS_FAILSTRING(80)648InitialisedBOOL8PouTypeFunctionBlockFB_TcUnitRunner621828480AllTestSuitesFinishedBOOL864falseTestResultsFB_TestResults621296448128AdsTestResultLoggerFB_AdsTestResultLogger448621296576TestResultLoggerI_TestResultLogger64621297024AbortRunningTestSuitesBOOL8621297088xUnitXmlPublisherFB_xUnitXmlPublisher530944621297152XmlTestResultPublisherI_TestResultLogger64621828096__FB_TCUNITRUNNER__RUNTESTSUITETESTSINSEQUENCE__CURRENTLYRUNNINGTESTSUITEUINT166218281601implicit_inst_var__FB_TCUNITRUNNER__RUNTESTSUITETESTSINSEQUENCE__TIMERBETWEENEXECUTIONOFTESTSUITESTOF256621828224implicit_inst_varAbortRunningTestSuiteTestsRunTestSuiteTestsInSequenceTimeBetweenTestSuitesExecutionTIME32BusyPrintingBOOL8NumberOfTestSuitesFinishedUINT16CurrentlyRunningTestSuiteUINT16uselocation__FB_TCUNITRUNNER__RUNTESTSUITETESTSINSEQUENCE__CURRENTLYRUNNINGTESTSUITETimerBetweenExecutionOfTestSuitesTOF256uselocation__FB_TCUNITRUNNER__RUNTESTSUITETESTSINSEQUENCE__TIMERBETWEENEXECUTIONOFTESTSUITESRunTestSuiteTestsCounterUINT16BusyPrintingBOOL8NumberOfTestSuitesFinishedUINT16PouTypeFunctionBlockFB_Test4224TestNameT_MaxString204864TestIsFinishedBOOL82112TestIsSkippedBOOL82120NumberOfAssertionsUINT162128TestOrderNumberUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) 0 tells in which order this test will be executed/evaluated. The lower the number, the earlier it will execute. ]]>162144TestIsFailedBOOL82160AssertionMessageT_MaxString20482168AssertionTypeE_AssertionType84216GetAssertionTypeE_AssertionType8SetFailedSetNameNameT_MaxString2048GetNameT_MaxString2048SetNumberOfAssertionsNoOfAssertionsUINT16SetTestOrderOrderNumberUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16IsSkippedBOOL8GetNumberOfAssertionsUINT16SetFinishedBOOL8GetAssertionMessageT_MaxString2048SetSkippedSetAssertionMessageAssertMessageT_MaxString2048SetAssertionTypeAssertTypeE_AssertionType8IsFinishedBOOL8GetTestOrderUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16IsFailedBOOL8PouTypeFunctionBlockTYPE_CLASS32DWORDTYPE_BOOL0TYPE_BIT1TYPE_BYTE2TYPE_WORD3TYPE_DWORD4TYPE_LWORD5TYPE_SINT6TYPE_INT7TYPE_DINT8TYPE_LINT9TYPE_USINT10TYPE_UINT11TYPE_UDINT12TYPE_ULINT13TYPE_REAL14TYPE_LREAL15TYPE_STRING16TYPE_WSTRING17TYPE_TIME18TYPE_DATE19TYPE_DATEANDTIME20TYPE_TIMEOFDAY21TYPE_POINTER22TYPE_REFERENCE23TYPE_SUBRANGE24TYPE_ENUM25TYPE_ARRAY26TYPE_PARAMS27TYPE_USERDEF28TYPE_NONE29TYPE_ANY30TYPE_ANYBIT31TYPE_ANYDATE32TYPE_ANYINT33TYPE_ANYNUM34TYPE_ANYREAL35TYPE_LAZY36TYPE_LTIME37TYPE_BITCONST38TYPE_UXINT39TYPE_XWORD40TYPE_XINT41TYPE_XSTRING42TYPE_VARLENARRAY43TYPE_ANYSTRING44TYPE_VECTOR45TYPE_LDATE46TYPE_LDATEANDTIME47TYPE_LTIMEOFDAY48qualified_onlym4export_hidegenerate_implicit_init_functionAnyType128pValueBYTE640diSizeDINT3264TypeClassTYPE_CLASS3296linkalwaysFW_GetCurTaskIndex128nIndexBYTE864ItemTypeOutputPouTypeFunctionBlockconditionalshowGETCURTASKINDEX256indexBYTE864ItemTypeOutputfbGetCurTaskIndexFW_GetCurTaskIndex128128conditionalshowPouTypeFunctionBlockconditionalshow_all_localsE_TypeFieldParam16INTTYPEFIELD_UNKNOWN0TYPEFIELD_B1TYPEFIELD_O2TYPEFIELD_U3TYPEFIELD_C4TYPEFIELD_F5TYPEFIELD_D6TYPEFIELD_S7TYPEFIELD_XU8TYPEFIELD_XL9TYPEFIELD_EU10TYPEFIELD_EL11ST_FormatParameters160bPercentBOOL80bFlagsBOOL88bWidthBOOL816bDotBOOL824bPrecisionBOOL832bTypeBOOL840bAlignBOOL848bSignBOOL856bNullBOOL864bBlankBOOL872bHashBOOL880iWidthINT1696iPrecisionINT16112bWidthAsteriskBOOL8128bPrecisionAsteriskBOOL8136eTypeE_TypeFieldParam16144conditionalshowFB_FormatString8576sFormatT_MaxString204864ItemTypeInputarg1T_Arg1282112ItemTypeInputarg2T_Arg1282240ItemTypeInputarg3T_Arg1282368ItemTypeInputarg4T_Arg1282496ItemTypeInputarg5T_Arg1282624ItemTypeInputarg6T_Arg1282752ItemTypeInputarg7T_Arg1282880ItemTypeInputarg8T_Arg1283008ItemTypeInputarg9T_Arg1283136ItemTypeInputarg10T_Arg1283264ItemTypeInputbErrorBOOL error, FALSE => no error ]]>83392ItemTypeOutputnErrIdUDINT323424ItemTypeOutputsOutT_MaxString20483456ItemTypeOutputpFormatBYTE6455040conditionalshowpOutBYTE6455680conditionalshowiRemOutLenINT165632conditionalshowbValidBOOL85648conditionalshowstFmtST_FormatParameters1605664conditionalshownArrayElemINT165824conditionalshownArgumentUDINT325856conditionalshowparArgsT_Arg1106405888conditionalshowsArgStrT_MaxString20486528conditionalshowPouTypeFunctionBlockconditionalshow_all_localsTypeClass16INTTYPE_BOOL0TYPE_BIT1TYPE_BYTE2TYPE_WORD3TYPE_DWORD4TYPE_LWORD5TYPE_SINT6TYPE_INT7TYPE_DINT8TYPE_LINT9TYPE_USINT10TYPE_UINT11TYPE_UDINT12TYPE_ULINT13TYPE_REAL14TYPE_LREAL15TYPE_STRING16TYPE_WSTRING17TYPE_TIME18TYPE_DATE19TYPE_DATEANDTIME20TYPE_TIMEOFDAY21TYPE_POINTER22TYPE_REFERENCE23TYPE_SUBRANGE24TYPE_ENUM25TYPE_ARRAY26TYPE_PARAMS27TYPE_USERDEF28TYPE_NONE29TYPE_ANY30TYPE_ANYBIT31TYPE_ANYDATE32TYPE_ANYINT33TYPE_ANYNUM34TYPE_ANYREAL35TYPE_LAZY36TYPE_LTIME37TYPE_BITCONST38TYPE_UXINT39TYPE_XWORD40TYPE_XINT41TYPE_XSRTING42TYPE_VARLENARRAY43TYPE_ANYSTRING44TYPE_VECTOR45TYPE_LDATE46TYPE_LDATEANDTIME47TYPE_LTIMEOFDAY48TYPE_INTERFACE-4096compatibility_id52A6FD6D-031C-41c0-A818-0F45FE19AF8FU_ExpectedOrActual4096boolExpectedOrActualBOOL80bitExpectedOrActualBIT80byteExpectedOrActualBYTE80sintExpectedOrActualSINT80usintExpectedOrActualUSINT80intExpectedOrActualINT160uintExpectedOrActualUINT160wordExpectedOrActualWORD160dwordExpectedOrActualDWORD320dateandtimeExpectedOrActualDATE_AND_TIME320dintExpectedOrActualDINT320realExpectedOrActualREAL320timeExpectedOrActualTIME320dateExpectedOrActualDATE320udintExpectedOrActualUDINT320timeofdayExpectedOrActualTIME_OF_DAY320lwordExpectedOrActualLWORD640lintExpectedOrActualLINT640ulintExpectedOrActualULINT640lrealExpectedOrActualLREAL640ltimeExpectedOrActualLTIME640stringExpectedOrActualT_MaxString20480wstringExpectedOrActualWSTRING(255)40960ST_AssertResult12288ExpectedU_ExpectedOrActual40960ActualU_ExpectedOrActual40964096MessageT_MaxString20488192TestInstancePathT_MaxString204810240ST_AssertResultInstances12352AssertResultST_AssertResult122880DetectionCountUINT1612288DetectionCountThisCycleUINT1612304FB_AssertResultStatic24640448AssertResultsST_AssertResult110001228800064TotalAssertsUINT16122880640GetCurrentTaskIndexGETCURTASKINDEX25612288128AssertResultInstancesST_AssertResultInstances110001235200012288384CycleCountUDINT3224640384FirstCycleExecutedBOOL824640416CopyDetectionCountAndResetDetectionCountInThisCycleIteratorCounterUINT16GetNumberOfAssertsForTestUINT16CompleteTestInstancePathT_MaxString2048CounterUINT16NumberOfAssertsUINT16CreateAssertResultInstanceExpectedSizeUDINT32ExpectedTypeClassTypeClass16ExpectedValueBYTE64ActualSizeUDINT32ActualTypeClassTypeClass16ActualValueBYTE64MessageT_MaxString2048TestInstancePathT_MaxString2048IteratorCounterUINT16GetDetectionCountThisCycleUINT16ExpectedSizeUDINT32ExpectedTypeClassTypeClass16ExpectedValueBYTE64ActualSizeUDINT32ActualTypeClassTypeClass16ActualValueBYTE64MessageT_MaxString2048TestInstancePathT_MaxString2048IteratorCounterUINT16GetDetectionCountUINT16ExpectedSizeUDINT32ExpectedTypeClassTypeClass16ExpectedValueBYTE64ActualSizeUDINT32ActualTypeClassTypeClass16ActualValueBYTE64MessageT_MaxString2048TestInstancePathT_MaxString2048IteratorCounterUINT16ReportResultExpectedSizeUDINT32ExpectedTypeClassTypeClass16ExpectedValueBYTE64ActualSizeUDINT32ActualTypeClassTypeClass16ActualValueBYTE64MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8ItemTypeOutputLocationIndexUINT16DataTypesNotEqualsBOOL8DataSizeNotEqualsBOOL8DataContentNotEqualsBOOL8CurrentCycleCountUDINT32IteratorCounterUINT16DetectionCountTempUINT16FoundOneBOOL8AdditionalIdenticalAssertBOOL8AddAssertResultExpectedSizeUDINT32ExpectedTypeClassTypeClass16ExpectedValueBYTE64ActualSizeUDINT32ActualTypeClassTypeClass16ActualValueBYTE64MessageT_MaxString2048TestInstancePathT_MaxString2048PouTypeFunctionBlockST_AssertArrayResult4224ExpectedsSizeUDINT320ExpectedsTypeClassTypeClass1632ActualsSizeUDINT3264ActualsTypeClassTypeClass1696MessageT_MaxString2048112TestInstancePathT_MaxString20482160ST_AssertArrayResultInstances4256AssertArrayResultST_AssertArrayResult42240DetectionCountUINT164224DetectionCountThisCycleUINT164240FB_AssertArrayResultStatic8480448AssertArrayResultsST_AssertArrayResult11000422400064TotalArrayAssertsUINT1642240640GetCurrentTaskIndexGETCURTASKINDEX2564224128AssertArrayResultInstancesST_AssertArrayResultInstances1100042560004224384CycleCountUDINT328480384FirstCycleExecutedBOOL88480416CreateAssertResultInstanceExpectedsSizeUDINT32ExpectedsTypeClassTypeClass16ActualsSizeUDINT32ActualsTypeClassTypeClass16MessageT_MaxString2048TestInstancePathT_MaxString2048IteratorCounterUINT16GetDetectionCountThisCycleUINT16ExpectedsSizeUDINT32ExpectedsTypeClassTypeClass16ActualsSizeUDINT32ActualsTypeClassTypeClass16MessageT_MaxString2048TestInstancePathT_MaxString2048IteratorCounterUINT16GetDetectionCountUINT16ExpectedsSizeUDINT32ExpectedsTypeClassTypeClass16ActualsSizeUDINT32ActualsTypeClassTypeClass16MessageT_MaxString2048TestInstancePathT_MaxString2048IteratorCounterUINT16ReportResultExpectedsSizeUDINT32ExpectedsTypeClassTypeClass16ActualsSizeUDINT32ActualsTypeClassTypeClass16MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8ItemTypeOutputLocationIndexUINT16DataTypesNotEqualsBOOL8DataSizeNotEqualsBOOL8DataContentNotEqualsBOOL8CurrentCycleCountUDINT32IteratorCounterUINT16DetectionCountTempUINT16FoundOneBOOL8AdditionalIdenticalAssertBOOL8GetNumberOfArrayAssertsForTestUINT16CompleteTestInstancePathT_MaxString2048CounterUINT16NumberOfArrayAssertsUINT16CopyDetectionCountAndResetDetectionCountInThisCycleIteratorCounterUINT16AddAssertArrayResultExpectedsSizeUDINT32ExpectedsTypeClassTypeClass16ActualsSizeUDINT32ActualsTypeClassTypeClass16MessageT_MaxString2048TestInstancePathT_MaxString2048PouTypeFunctionBlockI_AssertMessageFormatter64PVOIDLogAssertFailureExpectedT_MaxString2048ActualT_MaxString2048MessageT_MaxString2048TestInstancePathT_MaxString2048TcPlcInterfaceTypeFB_AdjustAssertFailureMessageToMax253CharLength11648MsgFmtStringT_MaxString204864ItemTypeInputStringArgT_MaxString20482112ItemTypeInputMsgFmtStringProcessedT_MaxString20484160ItemTypeOutputStringArgProcessedT_MaxString20486208ItemTypeOutputMsgFmtStringTempT_MaxString20488256TestNameTooLongSTRING(80)64810304...TestName too longTestMsgTooLongSTRING(80)64810952...TestMsg too longMSG_FMT_STRING_MAX_NUMBER_OF_CHARACTERSINT1611600253PouTypeFunctionBlockFB_AdsAssertMessageFormatter128I_AssertMessageFormatterLogAssertFailureExpectedT_MaxString2048ActualT_MaxString2048MessageT_MaxString2048TestInstancePathT_MaxString2048AdjustAssertFailureMessageToMax253CharLengthFB_AdjustAssertFailureMessageToMax253CharLength11648TestInstancePathCleanedT_MaxString2048TestInstancePathFinalT_MaxString2048ReturnValueDINT32TestInstancePathProcessedT_MaxString2048MessageProcessedT_MaxString2048PouTypeFunctionBlockFB_TestSuite33561984InstancePathT_MaxString204864instance-pathnoinitGetCurrentTaskIndexGETCURTASKINDEX2562112NumberOfTestsUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)1623680TestsFB_Test11004224002432TestDuplicateNameTriggerR_TRIG110012800424832TestCycleCountIndexUDINT11003200437632AssertResultsFB_AssertResultStatic24640448440832AssertArrayResultsFB_AssertArrayResultStatic848044825081280AdsAssertMessageFormatterFB_AdsAssertMessageFormatter12833561728AssertMessageFormatterI_AssertMessageFormatter6433561856HasStartedRunningBOOL833561920NumberOfOrderedTestsUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)1633561936AssertEquals_LINTExpectedLINT64ActualLINT64MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8GetNumberOfSuccessfulTestsUINT16AssertArrayEquals_ULINTExpectedsULINT64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF ULINTDimensions1ActualsULINT64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF ULINTDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32FindTestSuiteInstancePathT_MaxString2048AssertEquals_TIMEExpectedTIME32ActualTIME32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertEquals_TIME_OF_DAYExpectedTIME_OF_DAY32ActualTIME_OF_DAY32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertEquals_BYTEExpectedBYTE8ActualBYTE8MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8GetNumberOfFailedTestsUINT16CounterUINT16FailedTestsCountUINT16NumberOfTestsToAnalyseUINT (1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16NumberOfTestOverArrayLimitUINT16AssertEquals_DATE_AND_TIMEExpectedDATE_AND_TIME32ActualDATE_AND_TIME32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8GetTestByPositionFB_Test4224PositionUINT (1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16AssertArrayEquals_BOOLExpectedsBOOL64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF BOOLDimensions1ActualsBOOL64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF BOOLDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32AssertArrayEquals_BYTEExpectedsBYTE64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF BYTEDimensions1ActualsBYTE64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF BYTEDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedByteStringSTRING(80)648ActualByteStringSTRING(80)648ExpectedsIndexDINT32ActualsIndexDINT32AssertEquals_DATEExpectedDATE32ActualDATE32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertEquals_WORDExpectedWORD16ActualWORD16MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertArrayEquals_LINTExpectedsLINT64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF LINTDimensions1ActualsLINT64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF LINTDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32AssertEquals_LTIMEExpectedLTIME64ActualLTIME64MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertArrayEquals_UINTExpectedsUINT64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF UINTDimensions1ActualsUINT64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF UINTDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32AssertEquals_LREALExpectedLREAL64ActualLREAL64DeltaLREAL64MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertArrayEquals_LWORDExpectedsLWORD64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF LWORDDimensions1ActualsLWORD64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF LWORDDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedLWordStringSTRING(80)648ActualLWordStringSTRING(80)648ExpectedsIndexDINT32ActualsIndexDINT32AssertEqualsExpectedAnyType128anytypeclassANYActualAnyType128anytypeclassANYMessageT_MaxString2048CountDINT32ExpectedDataStringT_MaxString2048ActualDataStringT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8boolExpectedBOOL8boolActualBOOL8byteExpectedBYTE8byteActualBYTE8dateExpectedDATE32dateActualDATE32dateAndTimeExpectedDATE_AND_TIME32dateAndTimeActualDATE_AND_TIME32dintExpectedDINT32dintActualDINT32dwordExpectedDWORD32dwordActualDWORD32intExpectedINT16intActualINT16lintExpectedLINT64lintActualLINT64lrealExpectedLREAL64lrealActualLREAL64ltimeExpectedLTIME64ltimeActualLTIME64lwordExpectedLWORD64lwordActualLWORD64realExpectedREAL32realActualREAL32sintExpectedSINT8sintActualSINT8stringExpectedT_MaxString2048stringActualT_MaxString2048wstringExpectedWSTRING(255)4096wstringActualWSTRING(255)4096timeExpectedTIME32timeActualTIME32timeOfDayExpectedTIME_OF_DAY32timeOfDayActualTIME_OF_DAY32udintExpectedUDINT32udintActualUDINT32uintExpectedUINT16uintActualUINT16ulintExpectedULINT64ulintActualULINT64usintExpectedUSINT8usintActualUSINT8wordExpectedWORD16wordActualWORD16DataTypesNotEqualsBOOL8DataSizeNotEqualsBOOL8DataContentNotEqualsBOOL8IteratorCounterDINT32hasanytypeAssertFalseConditionBOOL8MessageT_MaxString2048AssertEquals_SINTExpectedSINT8ActualSINT8MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertArray2dEquals_LREALExpectedsLREAL64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*,*] OF LREALDimensions2ActualsLREAL64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*,*] OF LREALDimensions2DeltaLREAL64MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048DimensionIndexUSINT8LowerBoundExpectedsDINT1264UpperBoundExpectedsDINT1264LowerBoundActualsDINT1264UpperBoundActualsDINT1264SizeOfExpectedsDINT1264SizeOfActualsDINT1264OffsetDINT1264ExpectedArrayIndexDINT1264ActualArrayIndexDINT1264ExpectedLREAL64ActualLREAL64__Index__0DINT32AssertEquals_ULINTExpectedULINT64ActualULINT64MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertEquals_BOOLExpectedBOOL8ActualBOOL8MessageT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048AssertEquals_USINTExpectedUSINT8ActualUSINT8MessageT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048AssertEquals_LWORDExpectedLWORD64ActualLWORD64MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertArrayEquals_USINTExpectedsUSINT64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF USINTDimensions1ActualsUSINT64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF USINTDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32SetHasStartedRunningSetTestFailedAssertionTypeE_AssertionType8AssertionMessageT_MaxString2048IteratorCounterUINT16NumberOfTestsToAnalyseUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16GetInstancePathT_MaxString2048GetTestOrderNumberUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16TestNameT_MaxString2048IteratorCounterUINT16NumberOfTestsToAnalyseUINT (1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16GetNumberOfTestsUINT16AssertArrayEquals_DWORDExpectedsDWORD64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF DWORDDimensions1ActualsDWORD64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF DWORDDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedDWordStringSTRING(80)648ActualDWordStringSTRING(80)648ExpectedsIndexDINT32ActualsIndexDINT32GetHasStartedRunningBOOL8AssertArrayEquals_LREALExpectedsLREAL64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF LREALDimensions1ActualsLREAL64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF LREALDimensions1DeltaLREAL64MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32AssertEquals_WSTRINGExpectedWSTRING(255)4096ActualWSTRING(255)4096MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8IsTestFinishedBOOL8TestNameT_MaxString2048IteratorCounterUINT16NumberOfTestsToAnalyseUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16AssertArrayEquals_REALExpectedsREAL64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF REALDimensions1ActualsREAL64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF REALDimensions1DeltaREAL32MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32AssertEquals_DINTExpectedDINT32ActualDINT32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertArrayEquals_DINTExpectedsDINT64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF DINTDimensions1ActualsDINT64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF DINTDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32AssertEquals_STRINGExpectedT_MaxString2048ActualT_MaxString2048MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8SetTestFinishedBOOL8TestNameT_MaxString2048IteratorCounterUINT16NumberOfTestsToAnalyseUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16AreAllTestsFinishedBOOL8CounterUINT16GetCurTaskIndexGETCURTASKINDEX256NumberOfTestsToAnalyseUINT (1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16AssertArrayEquals_WORDExpectedsWORD64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF WORDDimensions1ActualsWORD64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF WORDDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedDWordStringSTRING(80)648ActualDWordStringSTRING(80)648ExpectedsIndexDINT32ActualsIndexDINT32AssertArray3dEquals_LREALExpectedsLREAL64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*,*,*] OF LREALDimensions3ActualsLREAL64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*,*,*] OF LREALDimensions3DeltaLREAL64MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048DimensionIndexUSINT8LowerBoundExpectedsDINT1396UpperBoundExpectedsDINT1396LowerBoundActualsDINT1396UpperBoundActualsDINT1396SizeOfExpectedsDINT1396SizeOfActualsDINT1396OffsetDINT1396ExpectedArrayIndexDINT1396ActualArrayIndexDINT1396ExpectedLREAL64ActualLREAL64__Index__0DINT32AssertArrayEquals_INTExpectedsINT64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF INTDimensions1ActualsINT64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF INTDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32CalculateAndSetNumberOfAssertsForTestTestNameT_MaxString2048TestInstancePathT_MaxString2048TotalNumberOfAssertsUINT16NumberOfAssertsUINT16NumberOfArrayAssertsUINT16IteratorCounterUINT16GetNumberOfSkippedTestsUINT16CounterUINT16SkippedTestsCountUINT16NumberOfTestsToAnalyseUINT (1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16AssertEquals_DWORDExpectedDWORD32ActualDWORD32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertTrueConditionBOOL8MessageT_MaxString2048AssertEquals_INTExpectedINT16ActualINT16MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertEquals_UINTExpectedUINT16ActualUINT16MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertArray2dEquals_REALExpectedsREAL64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*,*] OF REALDimensions2ActualsREAL64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*,*] OF REALDimensions2DeltaREAL32MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048DimensionIndexUSINT8LowerBoundExpectedsDINT1264UpperBoundExpectedsDINT1264LowerBoundActualsDINT1264UpperBoundActualsDINT1264SizeOfExpectedsDINT1264SizeOfActualsDINT1264OffsetDINT1264ExpectedArrayIndexDINT1264ActualArrayIndexDINT1264ExpectedREAL32ActualREAL32__Index__0DINT32AddTestTestNameT_MaxString2048IsTestOrderedBOOL8IteratorCounterUINT16ErrorMessageT_MaxString2048TestInstancePathT_MaxString2048FunctionCallResultDINT32CycleCountUDINT32TestWithThisNameAlreadyExistsBOOL8LowerCasedTestNameT_MaxString2048TrimmedTestNameT_MaxString2048IgnoreCurrentTestCaseBOOL8NumberOfTestsToAnalyseUINT (1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16AssertArray3dEquals_REALExpectedsREAL64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*,*,*] OF REALDimensions3ActualsREAL64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*,*,*] OF REALDimensions3DeltaREAL32MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048DimensionIndexUSINT8LowerBoundExpectedsDINT1396UpperBoundExpectedsDINT1396LowerBoundActualsDINT1396UpperBoundActualsDINT1396SizeOfExpectedsDINT1396SizeOfActualsDINT1396OffsetDINT1396ExpectedArrayIndexDINT1396ActualArrayIndexDINT1396ExpectedREAL32ActualREAL32ExpectedValueStringT_MaxString2048ActualValueStringT_MaxString2048FormatStringFB_FormatString8576__Index__0DINT32AddTestNameToInstancePathT_MaxString2048TestInstancePathT_MaxString2048CompleteTestInstancePathT_MaxString2048AssertEquals_UDINTExpectedUDINT32ActualUDINT32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertEquals_REALExpectedREAL32ActualREAL32DeltaREAL32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertArrayEquals_SINTExpectedsSINT64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF SINTDimensions1ActualsSINT64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF SINTDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32AssertArrayEquals_UDINTExpectedsUDINT64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF UDINTDimensions1ActualsUDINT64variable_length_array_original_scopeInoutvariable_length_arrayARRAY[*] OF UDINTDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32PouTypeFunctionBlockcall_after_initreflectionUINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16UINTLowerBorder1UpperBorder100ST_AdsLogStringMessage4128MsgCtrlMaskDWORD320MsgFmtStrT_MaxString204832StrArgT_MaxString20482080pack_mode1FB_MemRingBuffer768pWriteBYTE6464ItemTypeInputcbWriteUDINT32128ItemTypeInputpReadBYTE64192ItemTypeInputcbReadUDINT32256ItemTypeInputpBufferBYTE64320ItemTypeInputcbBufferUDINT32384ItemTypeInputbOkBOOL8416ItemTypeOutputnCountUDINT324480ItemTypeOutputcbSizeUDINT324800ItemTypeOutputcbReturnUDINT Number of recend realy returned (removed or get) data bytes + If bOk == FALSE and cbReturn <> 0 => Number of required read buffer data bytes (cbRead underflow) ]]>325120ItemTypeOutputidxLastDWORD325440conditionalshowidxFirstDWORD325760conditionalshowidxGetDWORD32608conditionalshowpTmpBYTE64640conditionalshowcbTmpDWORD32704conditionalshowcbCopiedDWORD32736conditionalshowA_ResetA_AddTailA_RemoveHeadA_GetHeadPouTypeFunctionBlockconditionalshow_all_localsTON256INBOOL864ItemTypeInputPTTIME3296ItemTypeInputQBOOL8128ItemTypeOutputETTIME32160ItemTypeOutputMBOOL8192StartTimeTIME32224PouTypeFunctionBlockFB_AdsLogStringMessageFifoQueue8321152ArrayBufferBYTE01040000832000064MemRingBufferFB_MemRingBuffer7688320064TimerBetweenMessagesTON2568320832.INtrue.PTT#10MSMEM_RING_BUFFER_INTERNAL_USE_PER_DATA_RECORDUSINT883210884TIME_BETWEEN_MESSAGESTIME328321120T#10MSGetLogCountUDINT32WriteLogMsgCtrlMaskDWORD32MsgFmtStrT_MaxString2048StrArgT_MaxString2048ErrorBOOL8ItemTypeOutputAdsLogStringMessageST_AdsLogStringMessage4128GetAndRemoveLogFromQueueAdsLogStringMessageST_AdsLogStringMessage4128ItemTypeOutputErrorBOOL8ItemTypeOutputPouTypeFunctionBlockST_KukaRobot960NotInExtModeTcEventEntry1920.uuidEventClass.Data1865841334.uuidEventClass.Data244474.uuidEventClass.Data319271.uuidEventClass.Data4[0]142.uuidEventClass.Data4[1]227.uuidEventClass.Data4[2]19.uuidEventClass.Data4[3]162.uuidEventClass.Data4[4]7.uuidEventClass.Data4[5]151.uuidEventClass.Data4[6]8.uuidEventClass.Data4[7]144.nEventIDE_KukaRobot.NotInExtMode.eSeverityTcEventSeverity.ErrorEStopActiveTcEventEntry192192.uuidEventClass.Data1865841334.uuidEventClass.Data244474.uuidEventClass.Data319271.uuidEventClass.Data4[0]142.uuidEventClass.Data4[1]227.uuidEventClass.Data4[2]19.uuidEventClass.Data4[3]162.uuidEventClass.Data4[4]7.uuidEventClass.Data4[5]151.uuidEventClass.Data4[6]8.uuidEventClass.Data4[7]144.nEventIDE_KukaRobot.EStopActive.eSeverityTcEventSeverity.ErrorOperatorSafetyNotOkTcEventEntry192384.uuidEventClass.Data1865841334.uuidEventClass.Data244474.uuidEventClass.Data319271.uuidEventClass.Data4[0]142.uuidEventClass.Data4[1]227.uuidEventClass.Data4[2]19.uuidEventClass.Data4[3]162.uuidEventClass.Data4[4]7.uuidEventClass.Data4[5]151.uuidEventClass.Data4[6]8.uuidEventClass.Data4[7]144.nEventIDE_KukaRobot.OperatorSafetyNotOk.eSeverityTcEventSeverity.ErrorErrorResetTimeoutTcEventEntry192576.uuidEventClass.Data1865841334.uuidEventClass.Data244474.uuidEventClass.Data319271.uuidEventClass.Data4[0]142.uuidEventClass.Data4[1]227.uuidEventClass.Data4[2]19.uuidEventClass.Data4[3]162.uuidEventClass.Data4[4]7.uuidEventClass.Data4[5]151.uuidEventClass.Data4[6]8.uuidEventClass.Data4[7]144.nEventIDE_KukaRobot.ErrorResetTimeout.eSeverityTcEventSeverity.ErrorDrivesEnableTimeoutTcEventEntry192768.uuidEventClass.Data1865841334.uuidEventClass.Data244474.uuidEventClass.Data319271.uuidEventClass.Data4[0]142.uuidEventClass.Data4[1]227.uuidEventClass.Data4[2]19.uuidEventClass.Data4[3]162.uuidEventClass.Data4[4]7.uuidEventClass.Data4[5]151.uuidEventClass.Data4[6]8.uuidEventClass.Data4[7]144.nEventIDE_KukaRobot.DrivesEnableTimeout.eSeverityTcEventSeverity.ErrorTcTypeSystemTcEventClassKukaRobotFB_HVTester192xOpenChambersBOOL864ItemTypeInput_xOpenDoor1BOOL872_xOpenDoor2BOOL880_xCloseDoor1BOOL888_xCloseDoor2BOOL896_xOpenChamber1BOOL8104_xOpenChamber2BOOL8112_xCloseChamber1BOOL8120_xCloseChamber2BOOL8128PouTypeFunctionBlockST_KukaRobot_State16bUserSAFBIT10bAlarmStopBIT11bPeriRdyBIT12bIOActConfBIT13bStopMessBIT14bProActBIT15bDummyBIT16bRobStoppedBIT17bInHomeBIT18bRCRdy1BIT19bT1BIT110bT2BIT111bAutBIT112bExtBIT113pack_mode0U_KukaRobot_State32stStateST_KukaRobot_State160dwStateDWORD320FB_Etcher128xOpenDoorBOOL864ItemTypeInput_xOpenDoorBOOL872_xCloseDoorBOOL880PouTypeFunctionBlockE_PackMLUnitMode32DINTINVALID0PRODUCTION1MAINTENANCE2MANUAL3CHANGE_OVER4CLEAN5SET_UP6EMPTY_OUT7qualified_onlystrictto_stringgenerate_implicit_init_functionPRODUCTIONE_PackMLCmd32DINTUNDEFINED0RESET1START2STOP3HOLD4UNHOLD5SUSPEND6UNSUSPEND7ABORT8CLEAR9COMPLETE10qualified_onlystrictto_stringgenerate_implicit_init_functionST_PackMLParamREAL768diIDDINT320sNameSTRING(80)64832sUnitSTRING(6)56680ValueREAL32736ST_PackMLParamSTRING1408diIDDINT320sNameSTRING(80)64832sUnitSTRING(6)56680ValueSTRING(80)648736ST_PackMLParamLREAL832diIDDINT320sNameSTRING(80)64832sUnitSTRING(6)56680ValueLREAL64768ST_PackMLParamDINT768diIDDINT320sNameSTRING(80)64832sUnitSTRING(6)56680ValueDINT32736ST_PackMLPI37760astParameterRealST_PackMLParamREAL01076800astParameterStringST_PackMLParamSTRING010140807680astParameterLRealST_PackMLParamLREAL010832021760astParameterDIntST_PackMLParamDINT010768030080ST_PackMLRecipe76288diIDDINT320sNameSTRING(80)64832rPrimaryQtyREAL32704stProcessVariablesST_PackMLPI37760768stIngredientsST_PackMLPI3776038528ST_PMLc419456eUnitModeE_PackMLUnitMode320xUnitModeChangeRequestBOOL832rMachSpeedREAL3264eCntrlCmdE_PackMLCmd3296xCmdChangeRequestBOOL8128astParameterRealST_PackMLParamREAL0107680160astParameterStringST_PackMLParamSTRING010140807840astParameterLRealST_PackMLParamLREAL010832021952astParameterDIntST_PackMLParamDINT010768030272diSelectedRecipeDINT3237952xRecipeChangeRequestBOOL837984astRecipeST_PackMLRecipe0538144038016E_PackMLState32DINTUNDEFINED0CLEARING1STOPPED2STARTING3IDLE4SUSPENDED5EXECUTE6STOPPING7ABORTING8ABORTED9HOLDING10HELD11UNHOLDING12SUSPENDING13UNSUSPENDING14RESETTING15COMPLETING16COMPLETED17qualified_onlystrictto_stringgenerate_implicit_init_functionSTOPPEDST_PMLs128eUnitModeCurrentE_PackMLUnitMode320eStateCurrentE_PackMLState3232rMachSpeedREAL3264rCurMachSpeedREAL3296ST_PackML_ProductData64diProcessedCountDINT320diDefectiveCountDINT3232ST_PMLa672astProductDataST_PackML_ProductData0106400diStopReasonDINT32640EPlcPersistentStatus8USINT012PlcAppSystemInfo2048ObjIdOTCID320TaskCntUDINT3232OnlineChangeCntUDINT3264FlagsDWORD3296AdsPortUINT16128BootDataLoadedBOOL8144OldBootDataBOOL8152AppTimestampDT32160KeepOutputsOnBPBOOL8192ShutdownInProgressBOOL8200LicensesPendingBOOL8208BSODOccuredBOOL8216LoggedInBOOL8224PersistentStatusEPlcPersistentStatus8232TComSrvPtrITComObjectServer32256TcComInterfaceAppNameSTRING(63)512512ProjectNameSTRING(63)5121024PlcTaskSystemInfo1024ObjIdOTCID320CycleTimeUDINT3232PriorityUINT1664AdsPortUINT1680CycleCountUDINT3296DcTaskTimeLINT64128LastExecTimeUDINT32192FirstCycleBOOL8224CycleTimeExceededBOOL8232InCallAfterOutputUpdateBOOL8240RTViolationBOOL8248TaskNameSTRING(63)512512_Implicit_KindOfTask16INT_implicit_cyclic0_implicit_event1_implicit_external2_implicit_freewheeling3signature_flag256hidegenerate_implicit_init_function_Implicit_Jitter_Distribution48wRangeMaxWORD160wCountJitterNegWORD1616wCountJitterPosWORD1632signature_flag256hide_Implicit_Task_Info896dwVersionDWORD320pszNameSTRING(80)6464nPriorityINT16128KindOf_Implicit_KindOfTask16144bWatchdogBOOL8160bProfilingTaskBOOL8168dwEventFunctionPointerBYTE64192pszExternalEventSTRING(80)64256dwTaskEntryFunctionPointerBYTE64320dwWatchdogSensitivityDWORD32384dwIntervalDWORD32416dwWatchdogTimeDWORD32448dwLastCycleTimeDWORD32480dwAverageCycleTimeDWORD32512dwMaxCycleTimeDWORD32544dwMinCycleTimeDWORD32576diJitterDINT32608diJitterMinDINT32640diJitterMaxDINT32672dwCycleCountDWORD32704wTaskStatusWORD16736wNumOfJitterDistributionsWORD16752pJitterDistribution_Implicit_Jitter_Distribution64768bWithinSPSTimeSlicingBOOL8832byDummyBYTE8840bShouldBlockBOOL8848bActiveBOOL8856dwIECCycleCountDWORD32864signature_flag256hideI_UnitState64PVOIDM_AbortedM_AbortingM_ClearingM_CompleteM_CompletingM_ExecuteM_HeldM_HoldingM_IdleM_ResettingM_StartingM_StoppedM_StoppingM_SuspendedM_SuspendingM_UnholdingM_UnsuspendingTcPlcInterfaceTypeST_PackMLStateMachineConfig104xClearingDisabledBOOL80xStartingDisabledBOOL88xSuspededDisabledBOOL816xStoppingDisabledBOOL824xAbortingDisabledBOOL832xHoldingDisabledBOOL840xHeldDisabledBOOL848xUnholdingDisabledBOOL856xSuspendingDisabledBOOL864xUnsuspendingDisabledBOOL872xResettingDisabledBOOL880xCompletingDisabledBOOL888xCompletedDisabledBOOL896FB_PackMLStateMachine448eModeE_PackMLUnitMode3264ItemTypeInputeCmdE_PackMLCmd3296ItemTypeInputstConfigST_PackMLStateMachineConfig104128ItemTypeInputeStateE_PackMLState32256ItemTypeOutputeCurrentModeE_PackMLUnitMode32288ItemTypeOutputxErrorBOOL8320ItemTypeOutput_eModeE_PackMLUnitMode32352_eStateE_PackMLState32384_xRerunSMBOOL8416M_StateCompletePouTypeFunctionBlockFB_PackMLGeneric497856I_UnitStatestCommandST_PMLc419456128ItemTypeInputstStatusST_PMLs128419584ItemTypeOutputstAdminST_PMLa672419712ItemTypeOutput_fbStateMachineFB_PackMLStateMachine448420416_stSMConfigST_PackMLStateMachineConfig104420864_eCmdE_PackMLCmd32420992_eModeE_PackMLUnitMode32421024_eStateE_PackMLState32421056_eLastStateE_PackMLState32421088_stRecipeST_PackMLRecipe76288421120_rtChangeCmdRequestR_TRIG128497408_rtChangeModeRequestR_TRIG128497536_rtChangeRecipeRequestR_TRIG128497664_iSSMINT164977920M_SuspendedM_UnholdingM_CompletingM_StoppingM_StoppedM_IdleM_ExecuteM_CompleteM_AbortingM_SuspendingM_StartingM_HeldM_UnsuspendingM_AbortedM_ResettingM_ClearingM_StateCompleteM_HoldingPouTypeFunctionBlockE_KukaRobot_JobNumberRobot16WORDNO_JOB0GET_FROM_INPUT10PUT_TO_OUTPUT11PUT_INTO_ALIGNER15GET_FROM_ALIGNER16PUT_INTO_ETCHER120GET_FROM_ETCHER122GET_AND_PUT_ETCHER124PUT_INTO_ETCHER221GET_GROM_ETCHER223GET_AND_PUT_ETCHER225PUT_HV130GET_HV132GET_AND_PUT_HV134PUT_HV231GET_HV233GET_AND_PUT_HV235PUT_HOT_PLATE40GET_HOT_PLATE41PUT_COOL_PLATE42GET_COOL_PLATE43PUT_INTO_NIO70GET_FROM_NIO71CHANGE_GRIPPER50GET_CHUCK_ETCHER160GET_CHUCK_ETCHER261PUT_CHUCK_ETCHER162PUT_CHUCK_ETCHER263PUT_CHUCK_INTO_MAGAZINE64GET_CHUCK_FROM_MAGAZINE65WARMUP80qualified_onlystrictto_stringgenerate_implicit_init_functionNO_JOBST_KukaRobot_Ctrl16bNotDisableAxesBIT10bEnableAxesBIT11bEnableMoveBIT12bExtStartBIT13bConfMessBIT14bDummy1BIT15bDummy2BIT16bDummy3BIT17bDummy4BIT18bAbortJobBIT19pack_mode0U_KukaRobot_Ctrl32stCtrlST_KukaRobot_Ctrl160dwCtrlDWORD320ST_KukaRobot_Jobs32wJobNrForRobotWORD160wFinishedJobNrFromPlcWORD1616pack_mode0U_KukaRobot_Jobs32dwJobsDWORD320stJobsST_KukaRobot_Jobs320E_KukaRobot_JobNumerPLC16WORDNO_JOB0ENABLE_VACUUM_ALIGNER15DISABLE_VACUUM_ALIGNER16ENABLE_VACUUM_ETCHER120DISABLE_VACUUM_ETHER122UNLOCK_CHUCK_ETCHER160LOCK_CHUCK_ETCHER162ENABLE_VACUUM_ETCHER221DISABLE_VACUUM_ETCHER223UNLOCK_CHUCK_ETHCER261LOCK_CHUCK_ETCHER263qualified_onlystrictto_stringgenerate_implicit_init_functionNO_JOBIQueryInterface64PVOID__GetInterfacePointerBOOL8pRefDWORD64__GetInterfaceReferenceBOOL8nInterfaceIdDINT32pRefDWORD64TcPlcInterfaceTypeTcEventArgumentType16INT0123456789101112131415161718192021plcAttribute_qualified_onlyplcAttribute_strictITcArguments32ITcUnknownCountHRESULT32nCountUDINT32AddArgumentHRESULT32eTypeTcEventArgumentType16pDataPVOID32cbDataUDINT32GetHRESULT32nIndexUDINT32eTypeTcEventArgumentType32ppDataPVOID32ClearHRESULT32GetArgumentTypesHRESULT32pArgumentTypesTcEventArgumentType32GetDataSizeHRESULT32cbDataUDINT32GetDataHRESULT32pDataBYTE32I_TcArguments64IQueryInterface__getipDataITcArguments64propertyconditionalshow__getnCountUDINT32propertyAddBlobI_TcArguments64pDataPVOID64cbDataUINT16AddBoolI_TcArguments64valueBOOL8AddByteI_TcArguments64valueBYTE8AddDIntI_TcArguments64valueDINT32AddDWordI_TcArguments64valueDWORD32AddEventReferenceExI_TcArguments64stEventEntryTcEventEntry192AddEventReferenceIdI_TcArguments64nEventIdUDINT32AddEventReferenceIdGuidI_TcArguments64nEventIdUDINT32EventClassGUID128AddIntI_TcArguments64valueINT16AddLIntI_TcArguments64valueLINT64AddLRealI_TcArguments64valueLREAL64AddRealI_TcArguments64valueREAL32AddSIntI_TcArguments64valueSINT8AddStringI_TcArguments64valueSTRING(80)64ItemTypeInOutAddStringByValueI_TcArguments64valueT_MaxString2048AddUDIntI_TcArguments64valueUDINT32AddUIntI_TcArguments64valueUINT16AddULIntI_TcArguments64valueULINT64AddUSIntI_TcArguments64valueUSINT8AddUtf8EncodedStringI_TcArguments64valueSTRING(80)64ItemTypeInOutAddWordI_TcArguments64valueWORD16AddWStringI_TcArguments64valueWSTRING(80)64ItemTypeInOutAddWStringByValueI_TcArguments64valueWSTRING(255)4096ClearI_TcArguments64TcPlcInterfaceTypeFB_ReleaseSignal704xSignalBOOL864falseItemTypeInputxReleaseBOOL872trueItemTypeInputtimOnDelayTIME3296T#0MSItemTypeInputtimOffDelayTIME32128T#0MSItemTypeInputxReleaseSignalBOOL8160ItemTypeOutput_fbOnDelayTimerTON256192_fbOffDelayTimerTON256448PouTypeFunctionBlockI_ArgumentsChangeListener64PVOIDOnArgumentsChangedTcPlcInterfaceTypeITcAsyncResult32ITcUnknownGetIsBusyHRESULT32bIsBusyBOOL3232GetHasErrorHRESULT32bErrorBOOL3232GetErrorCodeHRESULT32hresultHRESULT32FB_AsyncStrResult128bBusyBOOL879338664bErrorBOOL879338736hrErrorCodeHRESULT3279338752nStringSizeUDINT3279338712sResultSTRING(255)204879338744TcEncodingUTF-8__getbBusyBOOL8bBusyBOOL8b32IsBusyBOOL3232propertyInitipResultITcAsyncStringResult64conditionalshowGetStringBOOL8sResultSTRING(80)64nResultUDINT32__getnStringSizeUDINT32nStringSizeUDINT32pEmptySTRING(80)64propertyClear__getbErrorBOOL8bErrorBOOL8b32HasErrorBOOL3232property__getsResultSTRING(255)2048sResultSTRING(255)2048propertyTcEncodingUTF-8__gethrErrorCodeHRESULT32hrErrorCodeHRESULT32hrErrorHRESULT32propertyPouTypeFunctionBlockVTableOffset79330640VfInitVTableIndex8enable_dynamic_creationconditionalshow_all_localsno_explicit_calldo not call this POU directlyTcSourceInfoType32UDINT0124plcAttribute_qualified_onlyplcAttribute_strictTcSerializedSourceInfoType96eTypeTcSourceInfoType320obDataUDINT3232cbDataUDINT3264ITcSourceInfo32ITcUnknownGetNumTypesHRESULT32nCountUDINT32GetTypesHRESULT32ppSourceInfoTypesTcSerializedSourceInfoType32GetDataSizeHRESULT32cbDataUDINT32GetDataHRESULT32ppDataPVOID32ITcEvent32ITcUnknownGetEventClassHRESULT32eventClassGUID32GetEventIdHRESULT32eventIdUDINT32GetSeverityHRESULT32severityTcEventSeverity32GetSourceInfoHRESULT32pipSourceInfoITcSourceInfo32GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)32nJsonAttributeUDINT32GetTextHRESULT32nLangIdDINT32pipResultITcAsyncStringResult32GetEventClassNameHRESULT32nLangIdDINT32pipResultITcAsyncStringResult32I_TcSourceInfo64PVOIDnIdUDINT32sNameSTRING(255)2048__getguidGUID128property__getipDataITcSourceInfo64propertyconditionalshow__getnIdUDINT32property__getsNameSTRING(255)2048propertyTcEncodingUTF-8EqualsToBOOL8ipOtherI_TcSourceInfo64TcPlcInterfaceTypeI_TcEventBase64PVOIDeSeverityTcEventSeverity16ipSourceInfoI_TcSourceInfo64nEventIdUDINT32sEventClassNameSTRING(255)2048sEventTextSTRING(255)2048__geteSeverityTcEventSeverity16property__getEventClassGUID128property__getipSourceInfoI_TcSourceInfo64property__getnEventIdUDINT32property__getsEventClassNameSTRING(255)2048propertyTcEncodingUTF-8__getsEventTextSTRING(255)2048propertyTcEncodingUTF-8__getstEventEntryTcEventEntry192propertyEqualsToBOOL8ipOtherI_TcEventBase64EqualsToEventClassBOOL8OtherEventClassGUID128EqualsToEventEntryBOOL8OtherEventClassGUID128nOtherEventIDUDINT32eOtherSeverityTcEventSeverity16EqualsToEventEntryExBOOL8stOtherTcEventEntry192GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)64nJsonAttributeUDINT32RequestEventClassNameBOOL8nLangIdDINT32sResultSTRING(80)64nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputRequestEventTextBOOL8nLangIdDINT32sResultSTRING(80)64nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputTcPlcInterfaceTypeITcEventUniqueIdProvider32ITcUnknownGetUniqueIdHRESULT32idUDINT32ST_SourceInfo2400guidGUID1280nIdUDINT32128sNameSTRING(278)2232160TcEncodingUTF-8FB_SourceInfoData2944ITcSourceInfohrInitHRESULT32128no_init_bCutInstancePathByLastInstBOOL8160no_init_stSourceInfoST_SourceInfo2400192no_initbIdExistsBOOL82592no_initbGuidExistsBOOL82600no_initbSourceNameIsEqualDefaultBOOL82608no_initbSourceNameShouldBeDefaultBOOL82616no_initaSourceInfoDataTcSerializedSourceInfoType032882624no_initm_refCntUDINT322912conditionalshowno_initnSourceIdUDINT327933833679338488sSourceNameSTRING(255)20487933846479338424TcEncodingUTF-8TcAddRefUDINT32c++_compatiblepack_mode4showminimal_input_size4__getnSourceIdUDINT32nSourceIdUDINT32property__setbCutInstancePathByLastInstbCutInstancePathByLastInstBOOL8propertyCopyFromipDataITcSourceInfo64nTypesUDINT32pDataPVOID64cbDataUDINT32iUDINT32pTypesTcSerializedSourceInfoType64GetNumTypesHRESULT32nCountUDINT64c++_compatiblepack_mode4showminimal_input_size4ExtendNameBOOL8sExtensionSTRING(80)64ItemTypeInOutResetToDefaultHRESULT32nNameUDINT32hrHRESULT32bCutFailedBOOL8GetDataSizeHRESULT32cbDataUDINT64iUDINT32nDataSizeUDINT32c++_compatiblepack_mode4showminimal_input_size4CutInstancePathByLastInstBOOL8Clear__setsSourceNamesSourceNameSTRING(255)2048monitoringcallTcEncodingUTF-8propertyTcEncodingUTF-8GetDataHRESULT32ppDataPVOID64c++_compatiblepack_mode4showminimal_input_size4__getsourceGuidGUID128sourceGuidGUID128propertyGetTypesHRESULT32ppSourceInfoTypesTcSerializedSourceInfoType64curIndexUDINT32c++_compatiblepack_mode4showminimal_input_size4__getsSourceNameSTRING(255)2048sSourceNameSTRING(255)2048propertyTcEncodingUTF-8TcReleaseUDINT32c++_compatiblepack_mode4showminimal_input_size4__setnSourceIdnSourceIdUDINT32monitoringcallproperty__setsourceGuidsourceGuidGUID128propertyTcQueryInterfaceHRESULT32iidIID64pipItfPVOID64c++_compatiblepack_mode4showminimal_input_size4PouTypeFunctionBlockc++_compatibleno_explicit_calldo not call this POU directlyFB_TcSourceInfo3072I_TcSourceInfofbSrcDataFB_SourceInfoData2944128conditionalshownIdUDINT327933856079338608sNameSTRING(255)20487933863279338656TcEncodingUTF-8__setbCutInstancePathByLastInstbCutInstancePathByLastInstBOOL8propertyCopyFromipSourceInfoI_TcSourceInfo64ClearExtendNameBOOL8sExtensionSTRING(255)2048__getipDataITcSourceInfo64ipDataITcSourceInfo64propertyconditionalshow__getnIdUDINT32nIdUDINT32propertyResetToDefaultHRESULT32__getguidGUID128guidGUID128property__setnIdnIdUDINT32monitoringcallproperty__setguidguidGUID128propertyEqualsToBOOL8ipOtherI_TcSourceInfo64__getsNameSTRING(255)2048sNameSTRING(255)2048propertyTcEncodingUTF-8__setsNamesNameSTRING(255)2048monitoringcallTcEncodingUTF-8propertyTcEncodingUTF-8PouTypeFunctionBlockno_explicit_calldo not call this POU directlyFB_TcEventBase4160I_ArgumentsChangeListenerfbSourceInfoFB_TcSourceInfo3072512.bCutInstancePathByLastInsttrueconditionalshow__FB_TCEVENTBASE__REQUESTEVENTCLASSNAME__FBRESULTFB_AsyncStrResult1283776conditionalshowimplicit_inst_var__FB_TCEVENTBASE__REQUESTEVENTCLASSNAME__BBUSYBOOL83904conditionalshowimplicit_inst_var__FB_TCEVENTBASE__REQUESTEVENTTEXT__FBRESULTFB_AsyncStrResult1283968conditionalshowimplicit_inst_var__FB_TCEVENTBASE__REQUESTEVENTTEXT__BBUSYBOOL84096conditionalshowimplicit_inst_vareSeverityTcEventSeverity1679338848ipSourceInfoI_TcSourceInfo6479338808nEventIdUDINT3279338984nUniqueIdUDINT3279338992sEventClassNameSTRING(255)204879338904TcEncodingUTF-8sEventTextSTRING(255)204879339000TcEncodingUTF-8EqualsToEventClassBOOL8OtherEventClassGUID128_EventClassGUID128GetEventClassNameHRESULT32nLangIdDINT32fbResultFB_AsyncStrResult64ItemTypeInOutipTmpEventITcEvent64ipResultITcAsyncStringResult64hrHRESULT32ReleaseHRESULT32UpdateLangId__getipSourceInfoI_TcSourceInfo64ipSourceInfoI_TcSourceInfo64propertyEqualsToBOOL8ipOtherI_TcEventBase64__getipEventITcEvent64ipEventITcEvent64propertyconditionalshow__getEventClassGUID128EventClassGUID128ipTmpEventITcEvent64property__geteSeverityTcEventSeverity16eSeverityTcEventSeverity16ipTmpEventITcEvent64property__getstEventEntryTcEventEntry192stEventEntryTcEventEntry192propertyOnCreateHRESULT32EqualsToEventEntryBOOL8OtherEventClassGUID128nOtherEventIDUDINT32eOtherSeverityTcEventSeverity16RequestEventTextBOOL8nLangIdDINT32sResultSTRING(80)64nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputfbResultFB_AsyncStrResult128uselocation__FB_TCEVENTBASE__REQUESTEVENTTEXT__FBRESULTbBusyBOOL8uselocation__FB_TCEVENTBASE__REQUESTEVENTTEXT__BBUSYOnArgumentsChanged__getsEventClassNameSTRING(255)2048sEventClassNameSTRING(255)2048propertyTcEncodingUTF-8__getipArgumentsI_TcArguments64ipArgumentsI_TcArguments64propertyGetEventTextHRESULT32nLangIdDINT32fbResultFB_AsyncStrResult64ItemTypeInOutipTmpEventITcEvent64ipResultITcAsyncStringResult64hrHRESULT32GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)64nJsonAttributeUDINT32ipTmpEventITcEvent64RequestEventClassNameBOOL8nLangIdDINT32sResultSTRING(80)64nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputfbResultFB_AsyncStrResult128uselocation__FB_TCEVENTBASE__REQUESTEVENTCLASSNAME__FBRESULTbBusyBOOL8uselocation__FB_TCEVENTBASE__REQUESTEVENTCLASSNAME__BBUSYEqualsToEventEntryExBOOL8stOtherTcEventEntry192__getnEventIdUDINT32nEventIdUDINT32ipTmpEventITcEvent64property__getnUniqueIdUDINT32nUniqueIdUDINT32ipTmpEventITcEvent64ipProviderITcEventUniqueIdProvider64property__getsEventTextSTRING(255)2048sEventTextSTRING(255)2048propertyTcEncodingUTF-8PouTypeFunctionBlockconditionalshow_all_localsno_explicit_calldo not call this POU directlyTcEventConfirmationState16INT01234plcAttribute_qualified_onlyplcAttribute_strictITcAlarm32ITcEventSetJsonAttributeHRESULT32sJsonAttributePCCH32GetArgumentsHRESULT32pipArgumentsITcArguments32GetIsRaisedHRESULT32bIsRaisedBOOL3232RaiseHRESULT32timeStampULINT64ClearHRESULT32timeStampULINT64bResetConfirmationBOOL3232GetConfirmationStateHRESULT32stateTcEventConfirmationState32ConfirmHRESULT32timeStampULINT64ITcAlarm232ITcAlarmGetTimeRaisedHRESULT32timeStampULINT32GetTimeConfirmedHRESULT32timeStampULINT32GetTimeClearedHRESULT32timeStampULINT32FB_TcAlarm4224FB_TcEventBasebActiveBOOL879339040bRaisedBOOL879339168eConfirmationStateTcEventConfirmationState1679339112nTimeClearedULINT6479339048TcDisplayTypeGUID18071995-0000-0000-0000-000000000046nTimeConfirmedULINT6479339176TcDisplayTypeGUID18071995-0000-0000-0000-000000000046nTimeRaisedULINT6479339144TcDisplayTypeGUID18071995-0000-0000-0000-000000000046SetJsonAttributeHRESULT32sJsonAttributeSTRING(80)64ItemTypeInOutCreateExHRESULT32stEventEntryTcEventEntry192bWithConfirmationBOOL8ipSourceInfoI_TcSourceInfo64InitipAlarmITcAlarm64ipArgumentsITcArguments64ipSourceInfoITcSourceInfo64conditionalshow__getbActiveBOOL8bActiveBOOL8b32IsRaisedBOOL3232property__getnTimeClearedULINT64nTimeClearedULINT64ipAlarm2ITcAlarm264nTimeStampULINT64propertyTcDisplayTypeGUID18071995-0000-0000-0000-000000000046CreateEx2HRESULT32stEventEntryTcEventEntry192ipSourceInfoI_TcSourceInfo64bWithConfirmationBOOL8CreateHRESULT32eventClassGUID128nEventIdUDINT32eSeverityTcEventSeverity16bWithConfirmationBOOL8ipSourceInfoI_TcSourceInfo64hrHRESULT32ipArgumentsITcArguments64pAddressPVOID64sAddressSTRING(80)648RaiseHRESULT32nTimeStampULINT64ClearHRESULT32nTimeStampULINT64bResetConfirmationBOOL8__geteConfirmationStateTcEventConfirmationState16eConfirmationStateTcEventConfirmationState16propertyConfirmHRESULT32nTimeStampULINT64__getipEventITcEvent64ipEventITcEvent64propertyconditionalshow__getnTimeRaisedULINT64nTimeRaisedULINT64ipAlarm2ITcAlarm264nTimeStampULINT64propertyTcDisplayTypeGUID18071995-0000-0000-0000-000000000046ReleaseHRESULT32__getbRaisedBOOL8bRaisedBOOL8b32IsRaisedBOOL3232property__getnTimeConfirmedULINT64nTimeConfirmedULINT64ipAlarm2ITcAlarm264nTimeStampULINT64propertyTcDisplayTypeGUID18071995-0000-0000-0000-000000000046PouTypeFunctionBlockreflectionconditionalshow_all_localsno_explicit_calldo not call this POU directlyFB_AlarmMessage8192xActiveBOOL864ItemTypeInputxReleaseBOOL872ItemTypeInputxAcknowledgeBOOL880ItemTypeInputtimOnDelayTIME3296T#0SItemTypeInputtimOffDelayTIME32128T#0SItemTypeInput_fbReleaseAlarmFB_ReleaseSignal704192_fbAlarmMessageFB_TcAlarm4224896_fbSourceInfoFB_TcSourceInfo30725120__getActiveBOOL8ActiveBOOL8property__getArgumentsI_TcArguments64ArgumentsI_TcArguments64property__getRaisedBOOL8RaisedBOOL8property__getTriggeredBOOL8TriggeredBOOL8propertyPouTypeFunctionBlockFB_KukaRobot 0.001mm]]>539968FB_PackMLGenericeRobotJobE_KukaRobot_JobNumberRobot16497856ItemTypeInputxReleaseAlarmsBOOL8497872ItemTypeInputxConfirmAlarmsBOOL8497880ItemTypeInputxReadyBOOL8497888ItemTypeOutputxErrorBOOL8497896ItemTypeOutput_uCtrlU_KukaRobot_Ctrl32497920_uJobsU_KukaRobot_Jobs Robot job to do + 1 -> PLC job which is finished]]>32497952_abToolsAndPositionsBYTE0432497984_diOffsetPosXDINT32498016_diOffsetPosYDINT32498048_diThicknessDINT32498080_uStateU_KukaRobot_State32498112_dwErrorBitsDWORD32498144_awJobStatesFromRobotWORD0232498176_dwJobForPLCDWORD32498208_abMirrorToolsAndPositionsBYTE0432498240_diMirrorOffsetPosXDINT32498272_diMirrorOffsetPosYDINT32498304_diMirrorThicknessDINT32498336_asiMotorTemps1To4SINT0432498368_asiMotorTemps5To8SINT0432498400_eRobotJobE_KukaRobot_JobNumberRobot16498432_ePlcJobE_KukaRobot_JobNumerPLC16498448_xRobotReadyBOOL8498464_xErrorBOOL8498472_fbAlarmNotInExtModeFB_AlarmMessage8192498496_fbAlarmEStopActiveFB_AlarmMessage8192506688_fbAlarmOperatorSafetyNotOkFB_AlarmMessage8192514880_fbAlarmRobotErrorResetTimeoutFB_AlarmMessage8192523072_fbAlarmDrivesEnableTimeoutFB_AlarmMessage8192531264__FB_KUKAROBOT__M_CLEARING___TONWAITTON256539456implicit_inst_var__FB_KUKAROBOT__M_RESETTING___TONTIMEOUTTON256539712implicit_inst_varM_UnholdingM_StoppedM_IdleM_ExecuteM_UnsuspendingM_Clearing_tonWaitTON256uselocation__FB_KUKAROBOT__M_CLEARING___TONWAITM_SuspendingM_StartingM_HeldM_AbortedM_Resetting_tonTimeoutTON256uselocation__FB_KUKAROBOT__M_RESETTING___TONTIMEOUTM_SuspendedM_HoldingPouTypeFunctionBlockGVL_TYPE_CONSTINT_MININT16-32768INT_MAXINT1632767UINT_MAXUINT1665535UINT_MINUINT160DINT_MAXDINT322147483647DINT_MINDINT32-2147483648UDINT_MAXUDINT324294967295UDINT_MINUDINT320REAL_MAXREAL323.042823E+38REAL_MINREAL321E-44qualified_onlynamingoffanalysis-33GVL_CONFIGSMAX_INTERLOCKSUSINT816qualified_onlyGlobal_VariablesBOOTDATAFLAGS_RETAIN_LOADEDBYTE81AMSPORT_LOGGERUINT16100AMSPORT_EVENTLOGUINT16110AMSPORT_R0_RTIMEUINT16200AMSPORT_R0_IOUINT16300AMSPORT_R0_NCUINT16500AMSPORT_R0_NCSAFUINT16501AMSPORT_R0_NCSVBUINT16511AMSPORT_R0_ISGUINT16550AMSPORT_R0_CNCUINT16600AMSPORT_R0_LINEUINT16700AMSPORT_R0_PLCUINT16800AMSPORT_R0_PLC_RTS1UINT16801AMSPORT_R0_PLC_RTS2UINT16811AMSPORT_R0_PLC_RTS3UINT16821AMSPORT_R0_PLC_RTS4UINT16831AMSPORT_R0_CAMUINT16900AMSPORT_R0_CAMTOOLUINT16950AMSPORT_R3_SYSSERVUINT1610000AMSPORT_R3_SCOPESERVERUINT1614001ADSSTATE_INVALIDUINT160ADSSTATE_IDLEUINT161ADSSTATE_RESETUINT162ADSSTATE_INITUINT163ADSSTATE_STARTUINT164ADSSTATE_RUNUINT165ADSSTATE_STOPUINT166ADSSTATE_SAVECFGUINT167ADSSTATE_LOADCFGUINT168ADSSTATE_POWERFAILUREUINT169ADSSTATE_POWERGOODUINT1610ADSSTATE_ERRORUINT1611ADSSTATE_SHUTDOWNUINT1612ADSSTATE_SUSPENDUINT1613ADSSTATE_RESUMEUINT1614ADSSTATE_CONFIGUINT1615ADSSTATE_RECONFIGUINT1616ADSSTATE_STOPPINGUINT1617ADSSTATE_INCOMPATIBLEUINT1618ADSSTATE_EXCEPTIONUINT1619ADSSTATE_MAXSTATESUINT1620BOOTDATAFLAGS_RETAIN_INVALIDBYTE82BOOTDATAFLAGS_RETAIN_REQUESTEDBYTE84ADSIGRP_SYMTABUDINT3261440ADSIGRP_SYMNAMEUDINT3261441ADSIGRP_SYMVALUDINT3261442ADSIGRP_SYM_HNDBYNAMEUDINT3261443ADSIGRP_SYM_VALBYNAMEUDINT3261444ADSIGRP_SYM_VALBYHNDUDINT3261445ADSIGRP_SYM_RELEASEHNDUDINT3261446ADSIGRP_SYM_INFOBYNAMEUDINT3261447ADSIGRP_SYM_VERSIONUDINT3261448ADSIGRP_SYM_INFOBYNAMEEXUDINT3261449ADSIGRP_SYM_DOWNLOADUDINT3261450ADSIGRP_SYM_UPLOADUDINT3261451ADSIGRP_SYM_UPLOADINFOUDINT3261452ADSIGRP_SYMNOTEUDINT3261456ADSIGRP_IOIMAGE_RWIBUDINT3261472ADSIGRP_IOIMAGE_RWIXUDINT3261473ADSIGRP_IOIMAGE_RISIZEUDINT3261477ADSIGRP_IOIMAGE_RWOBUDINT3261488ADSIGRP_IOIMAGE_RWOXUDINT3261489ADSIGRP_IOIMAGE_ROSIZEUDINT3261493ADSIGRP_IOIMAGE_CLEARIUDINT3261504ADSIGRP_IOIMAGE_CLEAROUDINT3261520ADSIGRP_IOIMAGE_RWIOBUDINT3261536ADSIGRP_DEVICE_DATAUDINT3261696ADSIOFFS_DEVDATA_ADSSTATEUDINT320ADSIOFFS_DEVDATA_DEVSTATEUDINT322SYSTEMSERVICE_OPENCREATEUDINT32100SYSTEMSERVICE_OPENREADUDINT32101SYSTEMSERVICE_OPENWRITEUDINT32102SYSTEMSERVICE_CREATEFILEUDINT32110SYSTEMSERVICE_CLOSEHANDLEUDINT32111SYSTEMSERVICE_FOPENUDINT32120SYSTEMSERVICE_FCLOSEUDINT32121SYSTEMSERVICE_FREADUDINT32122SYSTEMSERVICE_FWRITEUDINT32123SYSTEMSERVICE_FSEEKUDINT32124SYSTEMSERVICE_FTELLUDINT32125SYSTEMSERVICE_FGETSUDINT32126SYSTEMSERVICE_FPUTSUDINT32127SYSTEMSERVICE_FSCANFUDINT32128SYSTEMSERVICE_FPRINTFUDINT32129SYSTEMSERVICE_FEOFUDINT32130SYSTEMSERVICE_FDELETEUDINT32131SYSTEMSERVICE_FRENAMEUDINT32132SYSTEMSERVICE_MKDIRUDINT32138SYSTEMSERVICE_RMDIRUDINT32139SYSTEMSERVICE_REG_HKEYLOCALMACHINEUDINT32200SYSTEMSERVICE_SENDEMAILUDINT32300SYSTEMSERVICE_TIMESERVICESUDINT32400SYSTEMSERVICE_STARTPROCESSUDINT32500SYSTEMSERVICE_CHANGENETIDUDINT32600TIMESERVICE_DATEANDTIMEUDINT321TIMESERVICE_SYSTEMTIMESUDINT322TIMESERVICE_RTCTIMEDIFFUDINT323TIMESERVICE_ADJUSTTIMETORTCUDINT324TIMESERVICE_TIMEZONINFORMATIONUDINT326ADSLOG_MSGTYPE_HINTDWORD321ADSLOG_MSGTYPE_WARNDWORD322ADSLOG_MSGTYPE_ERRORDWORD324ADSLOG_MSGTYPE_LOGDWORD3216ADSLOG_MSGTYPE_MSGBOXDWORD3232ADSLOG_MSGTYPE_RESOURCEDWORD3264ADSLOG_MSGTYPE_STRINGDWORD32128BOOTDATAFLAGS_PERSISTENT_LOADEDBYTE816BOOTDATAFLAGS_PERSISTENT_INVALIDBYTE832SYSTEMSTATEFLAGS_BSODBYTE81SYSTEMSTATEFLAGS_RTVIOLATIONBYTE82FOPEN_MODEREADDWORD321FOPEN_MODEWRITEDWORD322FOPEN_MODEAPPENDDWORD324FOPEN_MODEPLUSDWORD328FOPEN_MODEBINARYDWORD3216FOPEN_MODETEXTDWORD3232TCEVENTFLAG_PRIOCLASSWORD1616TCEVENTFLAG_FMTSELFWORD1632TCEVENTFLAG_LOGWORD1664TCEVENTFLAG_MSGBOXWORD16128TCEVENTFLAG_SRCIDWORD16256TCEVENTFLAG_AUTOFMTALLWORD164096TCEVENTSTATE_INVALIDWORD160TCEVENTSTATE_SIGNALEDWORD161TCEVENTSTATE_RESETWORD162TCEVENTSTATE_CONFIRMEDWORD1616TCEVENTSTATE_RESETCONWORD1618TCEVENT_SRCNAMESIZEINT1615TCEVENT_FMTPRGSIZEINT1631eWatchdogConfigE_WATCHDOG_TIME_CONFIG16E_WATCHDOG_TIME_CONFIG.eWATCHDOG_TIME_DISABLEDDEFAULT_ADS_TIMEOUTTIME325000PILREAL643.14159265358979MAX_STRING_LENGTHUDINT32255nWatchdogTimeBYTE8Global_VariablesGLOBAL_DCF77_SEQUENCE_CHECKBOOL8falseMAX_AVERAGE_MEASURESINT (2..100)1610GLOBAL_FORMAT_HASH_PREFIX_TYPEE_HashPrefixTypes16E_HashPrefixTypes.HASHPREFIX_IECGLOBAL_SBCS_TABLEE_SBCSType16E_SBCSType.eSBCS_WesternEuropeanGLOBAL_DCF77_PULSE_SPLITTIME pulse < 140ms, Bit == 1 => pulse >= 140ms ]]>32140DEFAULT_CSV_FIELD_SEPBYTE german field separator, comma (,) := 16#2C => US field separator ]]>859MAX_ROUTE_NAME_LENBYTE831MAX_REMOTE_PCSINT1699MAX_ADAPTER_NAME_LENGTHUDINT32259MAX_ADAPTER_DESCRIPTION_LENGTHUDINT32131MAX_ADAPTER_ADDRESS_LENGTHUDINT327SYSTEMSERVICE_IPHELPERAPIUDINT32701SYSTEMSERVICE_IPHOSTNAMEUDINT32702IPHELPERAPI_ADAPTERSINFOUDINT321IPHELPERAPI_IPADDRBYHOSTNAMEUDINT324MAX_LOCAL_ADAPTERSUDINT325SYSTEMSERVICE_ADDREMOTEUDINT32801SYSTEMSERVICE_DELREMOTEUDINT32802SYSTEMSERVICE_ENUMREMOTEUDINT32803ROUTE_FLAG_TEMPORARYDWORD321ROUTE_FLAG_DYNAMICDWORD322ROUTE_FLAG_NOOVERRIDEDWORD324MAX_ROUTE_ADDR_LENBYTE879MIN_ROUTE_TRANSPORTBYTE80MAX_ROUTE_TRANSPORTBYTE812DEFAULT_CSV_FIELD_DOUBLE_QUOTEBYTE used to enclose special characters like line breaks, double-quotes, commas... ]]>834EMPTY_ROUTE_ENTRYST_AmsRouteEntry1184.sName.sNetID.sAddress.tTimeout0.dwFlags0SYSTEMSERVICE_FFILEFINDUDINT32133HKEY_MAX_BINARY_DATA_SIZEUDINT32500AMSLOGGER_IGR_GENERALUDINT324096AMSLOGGER_IOF_MODEUDINT321AMSPORT_AMSLOGGERUINT1610502FORMAT_MAX_ARGSINT1610FLOATREC_EXP_IS_NANINT16-32768FLOATREC_EXP_IS_INFINT1632767FLOATREC_MAX_DIGITSINT1620FLOATREC_MAX_PRECISIONINT16307FLOATREC_MIN_PRECISIONINT160FMTERR_NOERRORDWORD320FMTERR_PERCENTSIGNPOSITIONDWORD3216FMTERR_ASTERISKPOSITIONDWORD3232FMTERR_WIDTHVALUEDWORD3264FMTERR_PRECISIONVALUEDWORD32128FMTERR_FLAGPOSITIONDWORD32256FMTERR_WIDTHPRECISIONVALPOSDWORD32512FMTERR_PRECISIONDOTPOSITIONDWORD321024FMTERR_TYPEFIELDVALUEDWORD322048FMTERR_ARGTYPEINVALIDDWORD324096FMTERR_UNACCEPTEDPARAMETERDWORD328192FMTERR_INSUFFICIENTARGSDWORD3216384FMTERR_DESTBUFFOVERFLOWDWORD3232768FMTERR_INVALIDPOINTERINPUTDWORD3265536EMPTY_ARG_VALUET_Arg128.eTypeE_ArgType.ARGTYPE_UNKNOWN.cbLen0.pData0FORMAT_HEXASC_CODESBYTE02016256[0,0]48[0,1]49[0,2]50[0,3]51[0,4]52[0,5]53[0,6]54[0,7]55[0,8]56[0,9]57[0,10]97[0,11]98[0,12]99[0,13]100[0,14]101[0,15]102[1,0]48[1,1]49[1,2]50[1,3]51[1,4]52[1,5]53[1,6]54[1,7]55[1,8]56[1,9]57[1,10]65[1,11]66[1,12]67[1,13]68[1,14]69[1,15]70FORMAT_DECASC_CODESBYTE01080[0]48[1]49[2]50[3]51[4]52[5]53[6]54[7]55[8]56[9]57SYSTEMTIME_MAX_MONTHDAYSWORD02112384[0,1]31[0,2]28[0,3]31[0,4]30[0,5]31[0,6]30[0,7]31[0,8]31[0,9]30[0,10]31[0,11]30[0,12]31[1,1]31[1,2]29[1,3]31[1,4]30[1,5]31[1,6]30[1,7]31[1,8]31[1,9]30[1,10]31[1,11]30[1,12]31SYSTEMTIME_MAX_YEARSDAYWORD02014448[0,0]0[0,1]31[0,2]59[0,3]90[0,4]120[0,5]151[0,6]181[0,7]212[0,8]243[0,9]273[0,10]304[0,11]334[0,12]365[0,13]396[1,0]0[1,1]31[1,2]60[1,3]91[1,4]121[1,5]152[1,6]182[1,7]213[1,8]244[1,9]274[1,10]305[1,11]335[1,12]366[1,13]397SYSTEMTIME_DATEDELTA_OFFSETDWORD32584389SYSTEMTIME_TICKSPERMSECT_ULARGE_INTEGER64.dwHighPart0.dwLowPart10000SYSTEMTIME_TICKSPERSECT_ULARGE_INTEGER64.dwHighPart0.dwLowPart10000000SYSTEMTIME_TICKSPERDAYT_ULARGE_INTEGER64.dwHighPart201.dwLowPart711573504SYSTEMTIME_DATE_AND_TIME_MINT_ULARGE_INTEGER64.dwHighPart27111902.dwLowPart3577643008SYSTEMTIME_DATE_AND_TIME_MAXT_ULARGE_INTEGER64.dwHighPart37111701.dwLowPart2856069504DATE_AND_TIME_SECPERDAYDWORD3286400SYSTEMTIME_TICKSPERMSEC64ULINT6410000SYSTEMTIME_TICKSPERSEC64ULINT6410000000SYSTEMTIME_TICKSPERDAY64ULINT64864000000000SYSTEMTIME_DATE_AND_TIME_MIN64ULINT64116444736000000000SYSTEMTIME_DATE_AND_TIME_MAX64ULINT64159393544950000000WEST_EUROPE_TZIST_TimeZoneInformation864.bias-60.standardNameW. Europe Standard Time.standardDate.wYear0.standardDate.wMonth10.standardDate.wDayOfWeek0.standardDate.wDay5.standardDate.wHour3.standardBias0.daylightNameW. Europe Daylight Time.daylightDate.wYear0.daylightDate.wMonth3.daylightDate.wDayOfWeek0.daylightDate.wDay5.daylightDate.wHour2.daylightBias-60DATE_AND_TIME_SECPERWEEKDWORD32604800DBG_OUTPUT_NONEDWORD320DBG_OUTPUT_LOGDWORD321DBG_OUTPUT_FILEDWORD322DBG_OUTPUT_VISUDWORD324DEFAULT_CSV_RECORD_SEP_CRBYTE record separator (first character) ]]>813DEFAULT_CSV_RECORD_SEP_LFBYTE record separator (second character) ]]>810EMPTY_GUID_STRUCTGUID128.Data10.Data20.Data30.Data4[0]0.Data4[1]0.Data4[2]0.Data4[3]0.Data4[4]0.Data4[5]0.Data4[6]0.Data4[7]0EMPTY_GUID_STRINGSTRING(36)29600000000-0000-0000-0000-000000000000EMPTY_GUID_REGSTRINGSTRING(38)312{00000000-0000-0000-0000-000000000000}Global_ConstantsEMPTY_SEVERITYTcEventSeverity16TcEventSeverity.VerboseEMPTY_EVENT_CLASSGUID128.Data10.Data20.Data30.Data4[0]0.Data4[1]0.Data4[2]0.Data4[3]0.Data4[4]0.Data4[5]0.Data4[6]0.Data4[7]0EMPTY_EVENT_IDUDINT320SUCCESS_EVENTTcEventEntry192.uuidEventClass.Data10.uuidEventClass.Data20.uuidEventClass.Data30.uuidEventClass.Data4[0]0.uuidEventClass.Data4[1]0.uuidEventClass.Data4[2]0.uuidEventClass.Data4[3]0.uuidEventClass.Data4[4]0.uuidEventClass.Data4[5]0.uuidEventClass.Data4[6]0.uuidEventClass.Data4[7]0.nEventID0.eSeverityGlobal_Constants.EMPTY_SEVERITYGVLnLangId_OnlineMonitoringDINT321033qualified_onlyParameterListcSourceNameSizeUDINT (81..10000)32256parameterlistqualified_onlyGVL_INTERNALUNINITIALIZED_CLASS_GUIDGUID128.Data13886330336.Data262671.Data318227.Data4[0]149.Data4[1]213.Data4[2]115.Data4[3]223.Data4[4]8.Data4[5]75.Data4[6]96.Data4[7]248GVL_Param_TcUnitMaxNumberOfTestSuitesUINT161000MaxNumberOfTestsForEachTestSuiteUINT16100MaxNumberOfAssertsForEachTestSuiteUINT161000LogExtendedResultsBOOL8truexUnitEnablePublishBOOL8falseAdsLogMessageFifoRingBufferSizeUINT162000xUnitBufferSizeUDINT3265535xUnitFilePathT_MaxString2048C:\tcunit_xunit_testresults.xmlTimeBetweenTestSuitesExecutionTIME32T#0MSparameterlistqualified_onlyGVL_TcUnitTestSuiteIsRegisteredBOOL8CurrentTestIsFinishedBOOL8IgnoreCurrentTestBOOL8TcUnitRunnerFB_TcUnitRunner621828480CurrentTestSuiteBeingCalledFB_TestSuite64CurrentTestNameBeingCalledT_MaxString2048NumberOfInitializedTestSuitesUINT160TestSuiteAddressesFB_TestSuite1100064000CurrentlyRunningOrderedTestInTestSuiteUINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)1100016000AdsMessageQueueFB_AdsLogStringMessageFifoQueue8321152no_assignqualified_onlyParamTCPADS_MAXUDP_BUFFSIZEUDINT328192TCPADS_TLS_HOSTNAME_SIZEUDINT32255TCPADS_TLS_CERTIFICATE_PATH_SIZEUDINT32255TCPADS_TLS_KEY_PASSWORD_SIZEUDINT32255TCPADS_TLS_PSK_IDENTITY_SIZEUDINT32255TCPADS_TLS_MAX_PSK_KEY_SIZEUDINT32128Tc2GvlVarNamesparameterlistTC_EVENTSTcTypeSystemglobal_init_slot10003qualified_onlyTC_EVENTSPRG_Main_xConfirmAlarmsBOOL8_xClearBOOL8_xResetBOOL8_xFirstCycleBOOL8true_fbHVTesterFB_HVTester192_fbEtcher1FB_Etcher128_fbEtcher2FB_Etcher128_stRobotCmdST_PMLc419456_stRobotStatusST_PMLs128_stRobotAdminST_PMLa672_xStartBOOL8_stRecipeGripperChangeST_PackMLRecipe76288.diID0.sNameChange gripper_fbRobotFB_KukaRobot539968PRG_SafetyxConfirmAlarmsBOOL8ItemTypeInput_xRunBOOL8_xRequestOpenDoorBOOL8_xLockDoorBOOL8true_xComStartupBOOL8_rtrigDoorUnlockR_TRIG128_xErrorAckBOOL8_tofErrorAckTOF256.PTT#500MSTwinCAT_PreventOnlineChangeGvlWriteLineIDsBOOL8truePlcProfilerActiveBOOL8falsePlcProfilerConfigChecksumSTRING(64)520linkalwaysGVL_SCADAxErrAckBOOL8xOpenAllChambersBOOL8qualified_onlyGVL_PackML_ConfMAX_PARAMSUINT1610MAX_PRODUCT_DATAUINT1610MAX_RECIPES_PER_UNITUINT165qualified_onlyKukaRobotNotInExtModeErrorEStopActiveErrorOperatorSafetyNotOkErrorErrorResetTimeoutErrorDrivesEnableTimeoutErrorPLC{08500001-0000-0000-F000-000000000064}0PlcTask#x02010030DeviceLog FilterUDINT#x08508045DeviceLog Filter000000000PlcTask Inputs095748096PRG_Safety._xRequestOpenDoor8BOOL634598760PRG_Safety._xComStartup8BOOL634598776PRG_Main._fbRobot._uState32U_KukaRobot_State635376576PRG_Main._fbRobot._dwErrorBits32DWORD635376608PRG_Main._fbRobot._awJobStatesFromRobot32WORD02635376640PRG_Main._fbRobot._dwJobForPLC32DWORD635376672PRG_Main._fbRobot._abMirrorToolsAndPositions32BYTE04635376704PRG_Main._fbRobot._diMirrorOffsetPosX32DINT635376736PRG_Main._fbRobot._diMirrorOffsetPosY32DINT635376768PRG_Main._fbRobot._diMirrorThickness32DINT635376800PRG_Main._fbRobot._asiMotorTemps1To432SINT04635376832PRG_Main._fbRobot._asiMotorTemps5To832SINT046353768641PlcTask Outputs095748096PRG_Main._fbHVTester._xOpenDoor18BOOL634178120PRG_Main._fbHVTester._xOpenDoor28BOOL634178128PRG_Main._fbHVTester._xCloseDoor18BOOL634178136PRG_Main._fbHVTester._xCloseDoor28BOOL634178144PRG_Main._fbHVTester._xOpenChamber18BOOL634178152PRG_Main._fbHVTester._xOpenChamber28BOOL634178160PRG_Main._fbHVTester._xCloseChamber18BOOL634178168PRG_Main._fbHVTester._xCloseChamber28BOOL634178176PRG_Main._fbEtcher1._xOpenDoor8BOOL634178312PRG_Main._fbEtcher1._xCloseDoor8BOOL634178320PRG_Main._fbEtcher2._xOpenDoor8BOOL634178440PRG_Main._fbEtcher2._xCloseDoor8BOOL634178448PRG_Safety._xRun8BOOL634598752PRG_Safety._xLockDoor8BOOLtrue634598768PRG_Safety._xErrorAck8BOOL634598912PRG_Main._fbRobot._uCtrl32U_KukaRobot_Ctrl635376384PRG_Main._fbRobot._uJobs Robot job to do + 1 -> PLC job which is finished]]>32U_KukaRobot_Jobs635376416PRG_Main._fbRobot._abToolsAndPositions32BYTE04635376448PRG_Main._fbRobot._diOffsetPosX32DINT635376480PRG_Main._fbRobot._diOffsetPosY32DINT635376512PRG_Main._fbRobot._diThickness32DINT6353765443PlcTask Internal095748096GVL_TYPE_CONST.INT_MIN16INT-32768TcVarGlobal3072000GVL_TYPE_CONST.INT_MAX16INT32767TcVarGlobal3072016GVL_TYPE_CONST.UINT_MAX16UINT65535TcVarGlobal3072032GVL_TYPE_CONST.UINT_MIN16UINT0TcVarGlobal3072048GVL_TYPE_CONST.DINT_MAX32DINT2147483647TcVarGlobal3072064GVL_TYPE_CONST.DINT_MIN32DINT-2147483648TcVarGlobal3072096GVL_TYPE_CONST.UDINT_MAX32UDINT4294967295TcVarGlobal3072128GVL_TYPE_CONST.UDINT_MIN32UDINT0TcVarGlobal3072160GVL_TYPE_CONST.REAL_MAX32REAL3.042823E+38TcVarGlobal3072192GVL_TYPE_CONST.REAL_MIN32REAL1E-44TcVarGlobal3072224GVL_CONFIGS.MAX_INTERLOCKS8USINT16TcVarGlobal3072256Global_Variables.BOOTDATAFLAGS_RETAIN_LOADED8BYTE1TcVarGlobal3072264Global_Variables.AMSPORT_LOGGER16UINT100TcVarGlobal3072272Global_Version.stLibVersion_Tc2_MC2288ST_LibVersion.iMajor3.iMinor3.iBuild69.iRevision0.nFlags1.sVersion3.3.69.0const_non_replacedTcVarGlobal3072288Global_Version.stLibVersion_Tc2_Math288ST_LibVersion.iMajor3.iMinor5.iBuild1.iRevision0.nFlags1.sVersion3.5.1.0const_non_replacedTcVarGlobal3072576Global_Version.stLibVersion_Tc2_Standard288ST_LibVersion.iMajor3.iMinor4.iBuild5.iRevision0.nFlags1.sVersion3.4.5.0const_non_replacedTcVarGlobal3072864Global_Version.stLibVersion_Tc2_System288ST_LibVersion.iMajor3.iMinor9.iBuild1.iRevision0.nFlags1.sVersion3.9.1.0const_non_replacedTcVarGlobal3073152Global_Variables.AMSPORT_EVENTLOG16UINT110TcVarGlobal3073440Global_Variables.AMSPORT_R0_RTIME16UINT200TcVarGlobal3073456Global_Variables.AMSPORT_R0_IO16UINT300TcVarGlobal3073472Global_Variables.AMSPORT_R0_NC16UINT500TcVarGlobal3073488Global_Variables.AMSPORT_R0_NCSAF16UINT501TcVarGlobal3073504Global_Variables.AMSPORT_R0_NCSVB16UINT511TcVarGlobal3073520Global_Variables.AMSPORT_R0_ISG16UINT550TcVarGlobal3073536Global_Variables.AMSPORT_R0_CNC16UINT600TcVarGlobal3073552Global_Variables.AMSPORT_R0_LINE16UINT700TcVarGlobal3073568Global_Variables.AMSPORT_R0_PLC16UINT800TcVarGlobal3073584Global_Variables.AMSPORT_R0_PLC_RTS116UINT801TcVarGlobal3073600Global_Variables.AMSPORT_R0_PLC_RTS216UINT811TcVarGlobal3073616Global_Variables.AMSPORT_R0_PLC_RTS316UINT821TcVarGlobal3073632Global_Variables.AMSPORT_R0_PLC_RTS416UINT831TcVarGlobal3073648Global_Variables.AMSPORT_R0_CAM16UINT900TcVarGlobal3073664Global_Variables.AMSPORT_R0_CAMTOOL16UINT950TcVarGlobal3073680Global_Variables.AMSPORT_R3_SYSSERV16UINT10000TcVarGlobal3073696Global_Variables.AMSPORT_R3_SCOPESERVER16UINT14001TcVarGlobal3073712Global_Variables.ADSSTATE_INVALID16UINT0TcVarGlobal3073728Global_Variables.ADSSTATE_IDLE16UINT1TcVarGlobal3073744Global_Variables.ADSSTATE_RESET16UINT2TcVarGlobal3073760Global_Variables.ADSSTATE_INIT16UINT3TcVarGlobal3073776Global_Variables.ADSSTATE_START16UINT4TcVarGlobal3073792Global_Variables.ADSSTATE_RUN16UINT5TcVarGlobal3073808Global_Variables.ADSSTATE_STOP16UINT6TcVarGlobal3073824Global_Variables.ADSSTATE_SAVECFG16UINT7TcVarGlobal3073840Global_Variables.ADSSTATE_LOADCFG16UINT8TcVarGlobal3073856Global_Variables.ADSSTATE_POWERFAILURE16UINT9TcVarGlobal3073872Global_Variables.ADSSTATE_POWERGOOD16UINT10TcVarGlobal3073888Global_Variables.ADSSTATE_ERROR16UINT11TcVarGlobal3073904Global_Variables.ADSSTATE_SHUTDOWN16UINT12TcVarGlobal3073920Global_Variables.ADSSTATE_SUSPEND16UINT13TcVarGlobal3073936Global_Variables.ADSSTATE_RESUME16UINT14TcVarGlobal3073952Global_Variables.ADSSTATE_CONFIG16UINT15TcVarGlobal3073968Global_Variables.ADSSTATE_RECONFIG16UINT16TcVarGlobal3073984Global_Variables.ADSSTATE_STOPPING16UINT17TcVarGlobal3074000Global_Variables.ADSSTATE_INCOMPATIBLE16UINT18TcVarGlobal3074016Global_Variables.ADSSTATE_EXCEPTION16UINT19TcVarGlobal3074032Global_Variables.ADSSTATE_MAXSTATES16UINT20TcVarGlobal3074048Global_Variables.BOOTDATAFLAGS_RETAIN_INVALID8BYTE2TcVarGlobal3074064Global_Variables.BOOTDATAFLAGS_RETAIN_REQUESTED8BYTE4TcVarGlobal3074072Global_Variables.ADSIGRP_SYMTAB32UDINT61440TcVarGlobal3074080Global_Variables.ADSIGRP_SYMNAME32UDINT61441TcVarGlobal3074112Global_Variables.ADSIGRP_SYMVAL32UDINT61442TcVarGlobal3074144Global_Variables.ADSIGRP_SYM_HNDBYNAME32UDINT61443TcVarGlobal3074176Global_Variables.ADSIGRP_SYM_VALBYNAME32UDINT61444TcVarGlobal3074208Global_Variables.ADSIGRP_SYM_VALBYHND32UDINT61445TcVarGlobal3074240Global_Variables.ADSIGRP_SYM_RELEASEHND32UDINT61446TcVarGlobal3074272Global_Variables.ADSIGRP_SYM_INFOBYNAME32UDINT61447TcVarGlobal3074304Global_Variables.ADSIGRP_SYM_VERSION32UDINT61448TcVarGlobal3074336Global_Variables.ADSIGRP_SYM_INFOBYNAMEEX32UDINT61449TcVarGlobal3074368Global_Variables.ADSIGRP_SYM_DOWNLOAD32UDINT61450TcVarGlobal3074400Global_Variables.ADSIGRP_SYM_UPLOAD32UDINT61451TcVarGlobal3074432Global_Variables.ADSIGRP_SYM_UPLOADINFO32UDINT61452TcVarGlobal3074464Global_Variables.ADSIGRP_SYMNOTE32UDINT61456TcVarGlobal3074496Global_Variables.ADSIGRP_IOIMAGE_RWIB32UDINT61472TcVarGlobal3074528Global_Variables.ADSIGRP_IOIMAGE_RWIX32UDINT61473TcVarGlobal3074560Global_Variables.ADSIGRP_IOIMAGE_RISIZE32UDINT61477TcVarGlobal3074592Global_Variables.ADSIGRP_IOIMAGE_RWOB32UDINT61488TcVarGlobal3074624Global_Variables.ADSIGRP_IOIMAGE_RWOX32UDINT61489TcVarGlobal3074656Global_Variables.ADSIGRP_IOIMAGE_ROSIZE32UDINT61493TcVarGlobal3074688Global_Variables.ADSIGRP_IOIMAGE_CLEARI32UDINT61504TcVarGlobal3074720Global_Variables.ADSIGRP_IOIMAGE_CLEARO32UDINT61520TcVarGlobal3074752Global_Variables.ADSIGRP_IOIMAGE_RWIOB32UDINT61536TcVarGlobal3074784Global_Variables.ADSIGRP_DEVICE_DATA32UDINT61696TcVarGlobal3074816Global_Variables.ADSIOFFS_DEVDATA_ADSSTATE32UDINT0TcVarGlobal3074848Global_Variables.ADSIOFFS_DEVDATA_DEVSTATE32UDINT2TcVarGlobal3074880Global_Variables.SYSTEMSERVICE_OPENCREATE32UDINT100TcVarGlobal3074912Global_Variables.SYSTEMSERVICE_OPENREAD32UDINT101TcVarGlobal3074944Global_Variables.SYSTEMSERVICE_OPENWRITE32UDINT102TcVarGlobal3074976Global_Variables.SYSTEMSERVICE_CREATEFILE32UDINT110TcVarGlobal3075008Global_Variables.SYSTEMSERVICE_CLOSEHANDLE32UDINT111TcVarGlobal3075040Global_Variables.SYSTEMSERVICE_FOPEN32UDINT120TcVarGlobal3075072Global_Variables.SYSTEMSERVICE_FCLOSE32UDINT121TcVarGlobal3075104Global_Variables.SYSTEMSERVICE_FREAD32UDINT122TcVarGlobal3075136Global_Variables.SYSTEMSERVICE_FWRITE32UDINT123TcVarGlobal3075168Global_Variables.SYSTEMSERVICE_FSEEK32UDINT124TcVarGlobal3075200Global_Variables.SYSTEMSERVICE_FTELL32UDINT125TcVarGlobal3075232Global_Variables.SYSTEMSERVICE_FGETS32UDINT126TcVarGlobal3075264Global_Variables.SYSTEMSERVICE_FPUTS32UDINT127TcVarGlobal3075296Global_Variables.SYSTEMSERVICE_FSCANF32UDINT128TcVarGlobal3075328Global_Variables.SYSTEMSERVICE_FPRINTF32UDINT129TcVarGlobal3075360Global_Variables.SYSTEMSERVICE_FEOF32UDINT130TcVarGlobal3075392Global_Variables.SYSTEMSERVICE_FDELETE32UDINT131TcVarGlobal3075424Global_Variables.SYSTEMSERVICE_FRENAME32UDINT132TcVarGlobal3075456Global_Variables.SYSTEMSERVICE_MKDIR32UDINT138TcVarGlobal3075488Global_Variables.SYSTEMSERVICE_RMDIR32UDINT139TcVarGlobal3075520Global_Variables.SYSTEMSERVICE_REG_HKEYLOCALMACHINE32UDINT200TcVarGlobal3075552Global_Variables.SYSTEMSERVICE_SENDEMAIL32UDINT300TcVarGlobal3075584Global_Variables.SYSTEMSERVICE_TIMESERVICES32UDINT400TcVarGlobal3075616Global_Variables.SYSTEMSERVICE_STARTPROCESS32UDINT500TcVarGlobal3075648Global_Variables.SYSTEMSERVICE_CHANGENETID32UDINT600TcVarGlobal3075680Global_Variables.TIMESERVICE_DATEANDTIME32UDINT1TcVarGlobal3075712Global_Variables.TIMESERVICE_SYSTEMTIMES32UDINT2TcVarGlobal3075744Global_Variables.TIMESERVICE_RTCTIMEDIFF32UDINT3TcVarGlobal3075776Global_Variables.TIMESERVICE_ADJUSTTIMETORTC32UDINT4TcVarGlobal3075808Global_Variables.TIMESERVICE_TIMEZONINFORMATION32UDINT6TcVarGlobal3075840Global_Variables.ADSLOG_MSGTYPE_HINT32DWORD1TcVarGlobal3075872Global_Variables.ADSLOG_MSGTYPE_WARN32DWORD2TcVarGlobal3075904Global_Variables.ADSLOG_MSGTYPE_ERROR32DWORD4TcVarGlobal3075936Global_Variables.ADSLOG_MSGTYPE_LOG32DWORD16TcVarGlobal3075968Global_Variables.ADSLOG_MSGTYPE_MSGBOX32DWORD32TcVarGlobal3076000Global_Variables.ADSLOG_MSGTYPE_RESOURCE32DWORD64TcVarGlobal3076032Global_Variables.ADSLOG_MSGTYPE_STRING32DWORD128TcVarGlobal3076064Global_Variables.BOOTDATAFLAGS_PERSISTENT_LOADED8BYTE16TcVarGlobal3076096Global_Variables.BOOTDATAFLAGS_PERSISTENT_INVALID8BYTE32TcVarGlobal3076104Global_Variables.SYSTEMSTATEFLAGS_BSOD8BYTE1TcVarGlobal3076112Global_Variables.SYSTEMSTATEFLAGS_RTVIOLATION8BYTE2TcVarGlobal3076120Global_Variables.FOPEN_MODEREAD32DWORD1TcVarGlobal3076128Global_Variables.FOPEN_MODEWRITE32DWORD2TcVarGlobal3076160Global_Variables.FOPEN_MODEAPPEND32DWORD4TcVarGlobal3076192Global_Variables.FOPEN_MODEPLUS32DWORD8TcVarGlobal3076224Global_Variables.FOPEN_MODEBINARY32DWORD16TcVarGlobal3076256Global_Variables.FOPEN_MODETEXT32DWORD32TcVarGlobal3076288Global_Variables.TCEVENTFLAG_PRIOCLASS16WORD16TcVarGlobal3076544Global_Variables.TCEVENTFLAG_FMTSELF16WORD32TcVarGlobal3076560Global_Variables.TCEVENTFLAG_LOG16WORD64TcVarGlobal3076576Global_Variables.TCEVENTFLAG_MSGBOX16WORD128TcVarGlobal3076592Global_Variables.TCEVENTFLAG_SRCID16WORD256TcVarGlobal3076608Global_Variables.TCEVENTFLAG_AUTOFMTALL16WORD4096TcVarGlobal3076624Global_Variables.TCEVENTSTATE_INVALID16WORD0TcVarGlobal3076640Global_Variables.TCEVENTSTATE_SIGNALED16WORD1TcVarGlobal3076656Global_Variables.TCEVENTSTATE_RESET16WORD2TcVarGlobal3076672Global_Variables.TCEVENTSTATE_CONFIRMED16WORD16TcVarGlobal3076688Global_Variables.TCEVENTSTATE_RESETCON16WORD18TcVarGlobal3076704Global_Variables.TCEVENT_SRCNAMESIZE16INT15TcVarGlobal3076720Global_Variables.TCEVENT_FMTPRGSIZE16INT31TcVarGlobal3076736Global_Variables.eWatchdogConfig16E_WATCHDOG_TIME_CONFIGE_WATCHDOG_TIME_CONFIG.eWATCHDOG_TIME_DISABLEDTcVarGlobal3076752Global_Variables.DEFAULT_ADS_TIMEOUT32TIME5000TcVarGlobal3076768Global_Variables.PI64LREAL3.14159265358979TcVarGlobal3076800Global_Variables.MAX_STRING_LENGTH32UDINT255TcVarGlobal3076864Global_Variables.nWatchdogTime8BYTETcVarGlobal3077440Global_Variables.GLOBAL_DCF77_SEQUENCE_CHECK8BOOLfalseTcVarGlobal3077448Global_Variables.MAX_AVERAGE_MEASURES16INT (2..100)10TcVarGlobal3077456Global_Version.stLibVersion_Tc3_Module288ST_LibVersion.iMajor3.iMinor4.iBuild5.iRevision0.nFlags1.sVersion3.4.5.0const_non_replacedTcVarGlobal3077472Global_Variables.GLOBAL_FORMAT_HASH_PREFIX_TYPE16E_HashPrefixTypesE_HashPrefixTypes.HASHPREFIX_IECTcVarGlobal3078048Global_Variables.GLOBAL_SBCS_TABLE16E_SBCSTypeE_SBCSType.eSBCS_WesternEuropeanTcVarGlobal3078064Global_Version.stLibVersion_Tc2_Utilities288ST_LibVersion.iMajor3.iMinor10.iBuild1.iRevision0.nFlags1.sVersion3.10.1.0const_non_replacedTcVarGlobal3078144Global_Variables.GLOBAL_DCF77_PULSE_SPLIT pulse < 140ms, Bit == 1 => pulse >= 140ms ]]>32TIME140TcVarGlobal3078432Global_Variables.DEFAULT_CSV_FIELD_SEP german field separator, comma (,) := 16#2C => US field separator ]]>8BYTE59TcVarGlobal3078464Global_Variables.MAX_ROUTE_NAME_LEN8BYTE31TcVarGlobal3078472Global_Variables.MAX_REMOTE_PCS16INT99TcVarGlobal3078480Global_Variables.MAX_ADAPTER_NAME_LENGTH32UDINT259TcVarGlobal3139968Global_Variables.MAX_ADAPTER_DESCRIPTION_LENGTH32UDINT131TcVarGlobal3140000Global_Variables.MAX_ADAPTER_ADDRESS_LENGTH32UDINT7TcVarGlobal3140032Global_Variables.SYSTEMSERVICE_IPHELPERAPI32UDINT701TcVarGlobal3140064Global_Variables.SYSTEMSERVICE_IPHOSTNAME32UDINT702TcVarGlobal3140096Global_Variables.IPHELPERAPI_ADAPTERSINFO32UDINT1TcVarGlobal3140128Global_Variables.IPHELPERAPI_IPADDRBYHOSTNAME32UDINT4TcVarGlobal3140160Global_Variables.MAX_LOCAL_ADAPTERS32UDINT5TcVarGlobal3140192Global_Variables.SYSTEMSERVICE_ADDREMOTE32UDINT801TcVarGlobal3140224Global_Variables.SYSTEMSERVICE_DELREMOTE32UDINT802TcVarGlobal3140256Global_Variables.SYSTEMSERVICE_ENUMREMOTE32UDINT803TcVarGlobal3140288Global_Variables.ROUTE_FLAG_TEMPORARY32DWORD1TcVarGlobal3140320Global_Variables.ROUTE_FLAG_DYNAMIC32DWORD2TcVarGlobal3140352Global_Variables.ROUTE_FLAG_NOOVERRIDE32DWORD4TcVarGlobal3140384Global_Variables.MAX_ROUTE_ADDR_LEN8BYTE79TcVarGlobal3140416Global_Variables.MIN_ROUTE_TRANSPORT8BYTE0TcVarGlobal3140424Global_Variables.MAX_ROUTE_TRANSPORT8BYTE12TcVarGlobal3140432Global_Variables.DEFAULT_CSV_FIELD_DOUBLE_QUOTE used to enclose special characters like line breaks, double-quotes, commas... ]]>8BYTE34TcVarGlobal3140440Global_Variables.EMPTY_ROUTE_ENTRY1184ST_AmsRouteEntry.sName.sNetID.sAddress.tTimeout0.dwFlags0TcVarGlobal3140448Global_Variables.SYSTEMSERVICE_FFILEFIND32UDINT133TcVarGlobal3141632Global_Variables.HKEY_MAX_BINARY_DATA_SIZE32UDINT500TcVarGlobal3141664Global_Variables.AMSLOGGER_IGR_GENERAL32UDINT4096TcVarGlobal3141696Global_Variables.AMSLOGGER_IOF_MODE32UDINT1TcVarGlobal3141728Global_Variables.AMSPORT_AMSLOGGER16UINT10502TcVarGlobal3141760Global_Variables.FORMAT_MAX_ARGS16INT10TcVarGlobal3141776Global_Variables.FLOATREC_EXP_IS_NAN16INT-32768TcVarGlobal3141792Global_Variables.FLOATREC_EXP_IS_INF16INT32767TcVarGlobal3141808Global_Variables.FLOATREC_MAX_DIGITS16INT20TcVarGlobal3141824Global_Variables.FLOATREC_MAX_PRECISION16INT307TcVarGlobal3141840Global_Variables.FLOATREC_MIN_PRECISION16INT0TcVarGlobal3141856Global_Variables.FMTERR_NOERROR32DWORD0TcVarGlobal3141888Global_Variables.FMTERR_PERCENTSIGNPOSITION32DWORD16TcVarGlobal3141920Global_Variables.FMTERR_ASTERISKPOSITION32DWORD32TcVarGlobal3141952Global_Variables.FMTERR_WIDTHVALUE32DWORD64TcVarGlobal3141984Global_Variables.FMTERR_PRECISIONVALUE32DWORD128TcVarGlobal3142016Global_Variables.FMTERR_FLAGPOSITION32DWORD256TcVarGlobal3142048Global_Variables.FMTERR_WIDTHPRECISIONVALPOS32DWORD512TcVarGlobal3142080Global_Variables.FMTERR_PRECISIONDOTPOSITION32DWORD1024TcVarGlobal3142112Global_Variables.FMTERR_TYPEFIELDVALUE32DWORD2048TcVarGlobal3142144Global_Variables.FMTERR_ARGTYPEINVALID32DWORD4096TcVarGlobal3142176Global_Variables.FMTERR_UNACCEPTEDPARAMETER32DWORD8192TcVarGlobal3142208Global_Variables.FMTERR_INSUFFICIENTARGS32DWORD16384TcVarGlobal3142240Global_Variables.FMTERR_DESTBUFFOVERFLOW32DWORD32768TcVarGlobal3142272Global_Variables.FMTERR_INVALIDPOINTERINPUT32DWORD65536TcVarGlobal3142304Global_Variables.EMPTY_ARG_VALUE128T_Arg.eTypeE_ArgType.ARGTYPE_UNKNOWN.cbLen0.pData0TcVarGlobal3142336Global_Variables.FORMAT_HEXASC_CODES256BYTE02016[0,0]48[0,1]49[0,2]50[0,3]51[0,4]52[0,5]53[0,6]54[0,7]55[0,8]56[0,9]57[0,10]97[0,11]98[0,12]99[0,13]100[0,14]101[0,15]102[1,0]48[1,1]49[1,2]50[1,3]51[1,4]52[1,5]53[1,6]54[1,7]55[1,8]56[1,9]57[1,10]65[1,11]66[1,12]67[1,13]68[1,14]69[1,15]70TcVarGlobal3142464Global_Variables.FORMAT_DECASC_CODES80BYTE010[0]48[1]49[2]50[3]51[4]52[5]53[6]54[7]55[8]56[9]57TcVarGlobal3142720Global_Variables.SYSTEMTIME_MAX_MONTHDAYS384WORD02112[0,1]31[0,2]28[0,3]31[0,4]30[0,5]31[0,6]30[0,7]31[0,8]31[0,9]30[0,10]31[0,11]30[0,12]31[1,1]31[1,2]29[1,3]31[1,4]30[1,5]31[1,6]30[1,7]31[1,8]31[1,9]30[1,10]31[1,11]30[1,12]31TcVarGlobal3148208Global_Variables.SYSTEMTIME_MAX_YEARSDAY448WORD02014[0,0]0[0,1]31[0,2]59[0,3]90[0,4]120[0,5]151[0,6]181[0,7]212[0,8]243[0,9]273[0,10]304[0,11]334[0,12]365[0,13]396[1,0]0[1,1]31[1,2]60[1,3]91[1,4]121[1,5]152[1,6]182[1,7]213[1,8]244[1,9]274[1,10]305[1,11]335[1,12]366[1,13]397TcVarGlobal3148592Global_Variables.SYSTEMTIME_DATEDELTA_OFFSET32DWORD584389TcVarGlobal3149056Global_Variables.SYSTEMTIME_TICKSPERMSEC64T_ULARGE_INTEGER.dwHighPart0.dwLowPart10000TcVarGlobal3149088Global_Variables.SYSTEMTIME_TICKSPERSEC64T_ULARGE_INTEGER.dwHighPart0.dwLowPart10000000TcVarGlobal3149152Global_Variables.SYSTEMTIME_TICKSPERDAY64T_ULARGE_INTEGER.dwHighPart201.dwLowPart711573504TcVarGlobal3149216Global_Variables.SYSTEMTIME_DATE_AND_TIME_MIN64T_ULARGE_INTEGER.dwHighPart27111902.dwLowPart3577643008TcVarGlobal3149280Global_Variables.SYSTEMTIME_DATE_AND_TIME_MAX64T_ULARGE_INTEGER.dwHighPart37111701.dwLowPart2856069504TcVarGlobal3149344Global_Variables.DATE_AND_TIME_SECPERDAY32DWORD86400TcVarGlobal3149408Global_Variables.SYSTEMTIME_TICKSPERMSEC6464ULINT10000TcVarGlobal3149440Global_Variables.SYSTEMTIME_TICKSPERSEC6464ULINT10000000TcVarGlobal3149504Global_Variables.SYSTEMTIME_TICKSPERDAY6464ULINT864000000000TcVarGlobal3149568Global_Variables.SYSTEMTIME_DATE_AND_TIME_MIN6464ULINT116444736000000000TcVarGlobal3149632Global_Variables.SYSTEMTIME_DATE_AND_TIME_MAX6464ULINT159393544950000000TcVarGlobal3149696Global_Variables.WEST_EUROPE_TZI864ST_TimeZoneInformation.bias-60.standardNameW. Europe Standard Time.standardDate.wYear0.standardDate.wMonth10.standardDate.wDayOfWeek0.standardDate.wDay5.standardDate.wHour3.standardBias0.daylightNameW. Europe Daylight Time.daylightDate.wYear0.daylightDate.wMonth3.daylightDate.wDayOfWeek0.daylightDate.wDay5.daylightDate.wHour2.daylightBias-60TcVarGlobal3149760Global_Variables.DATE_AND_TIME_SECPERWEEK32DWORD604800TcVarGlobal3154720Global_Variables.DBG_OUTPUT_NONE32DWORD0TcVarGlobal3165024Global_Variables.DBG_OUTPUT_LOG32DWORD1TcVarGlobal3165056Global_Variables.DBG_OUTPUT_FILE32DWORD2TcVarGlobal3165088Global_Variables.DBG_OUTPUT_VISU32DWORD4TcVarGlobal3165120Global_Variables.DEFAULT_CSV_RECORD_SEP_CR record separator (first character) ]]>8BYTE13TcVarGlobal3165168Global_Variables.DEFAULT_CSV_RECORD_SEP_LF record separator (second character) ]]>8BYTE10TcVarGlobal3165176Global_Variables.EMPTY_GUID_STRUCT128GUID.Data10.Data20.Data30.Data4[0]0.Data4[1]0.Data4[2]0.Data4[3]0.Data4[4]0.Data4[5]0.Data4[6]0.Data4[7]0TcVarGlobal3286656Global_Variables.EMPTY_GUID_STRING296STRING(36)00000000-0000-0000-0000-000000000000TcVarGlobal3286784Global_Variables.EMPTY_GUID_REGSTRING312STRING(38){00000000-0000-0000-0000-000000000000}TcVarGlobal3287080Global_Constants.EMPTY_SEVERITY16TcEventSeverityTcEventSeverity.VerboseTcVarGlobal3287472Global_Constants.EMPTY_EVENT_CLASS128GUID.Data10.Data20.Data30.Data4[0]0.Data4[1]0.Data4[2]0.Data4[3]0.Data4[4]0.Data4[5]0.Data4[6]0.Data4[7]0TcVarGlobal3287488Global_Constants.EMPTY_EVENT_ID32UDINT0TcVarGlobal3287616Global_Constants.SUCCESS_EVENT192TcEventEntry.uuidEventClass.Data10.uuidEventClass.Data20.uuidEventClass.Data30.uuidEventClass.Data4[0]0.uuidEventClass.Data4[1]0.uuidEventClass.Data4[2]0.uuidEventClass.Data4[3]0.uuidEventClass.Data4[4]0.uuidEventClass.Data4[5]0.uuidEventClass.Data4[6]0.uuidEventClass.Data4[7]0.nEventID0.eSeverityGlobal_Constants.EMPTY_SEVERITYTcVarGlobal3287648GVL.nLangId_OnlineMonitoring32DINT1033TcVarGlobal3287840ParameterList.cSourceNameSize32UDINT (81..10000)256TcVarGlobal3287872Global_Version.stLibVersion_Tc3_EventLogger288ST_LibVersion.iMajor3.iMinor3.iBuild13.iRevision0.nFlags1.sVersion3.3.13.0const_non_replacedTcVarGlobal3287904GVL_INTERNAL.UNINITIALIZED_CLASS_GUID128GUID.Data13886330336.Data262671.Data318227.Data4[0]149.Data4[1]213.Data4[2]115.Data4[3]223.Data4[4]8.Data4[5]75.Data4[6]96.Data4[7]248TcVarGlobal3288192Global_Version.stLibVersion_Tc3_IotBase288ST_LibVersion.iMajor3.iMinor5.iBuild3.iRevision0.nFlags1.sVersion3.5.3.0const_non_replacedTcVarGlobal3289984GVL_Param_TcUnit.MaxNumberOfTestSuites16UINT1000TcVarGlobal3290736Global_Version.stLibVersion_Tc3_DynamicMemory288ST_LibVersion.iMajor1.iMinor1.iBuild4.iRevision0.nFlags1.sVersion1.1.4.0const_non_replacedTcVarGlobal3291360Global_Version.stLibVersion_Tc3_JsonXml288ST_LibVersion.iMajor3.iMinor4.iBuild7.iRevision0.nFlags1.sVersion3.4.7.0const_non_replacedTcVarGlobal3291648GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite16UINT100TcVarGlobal3291936GVL_Param_TcUnit.MaxNumberOfAssertsForEachTestSuite16UINT1000TcVarGlobal3291952GVL_Param_TcUnit.LogExtendedResults8BOOLtrueTcVarGlobal3291968GVL_Param_TcUnit.xUnitEnablePublish8BOOLfalseTcVarGlobal3291976GVL_Param_TcUnit.AdsLogMessageFifoRingBufferSize16UINT2000TcVarGlobal3291984GVL_Param_TcUnit.xUnitBufferSize32UDINT65535TcVarGlobal3292000GVL_Param_TcUnit.xUnitFilePath2048T_MaxStringC:\tcunit_xunit_testresults.xmlTcVarGlobal3292032GVL_Param_TcUnit.TimeBetweenTestSuitesExecution32TIMET#0MSTcVarGlobal3294080GVL_TcUnit.TestSuiteIsRegistered8BOOLTcVarGlobal3294112GVL_TcUnit.CurrentTestIsFinished8BOOLTcVarGlobal3294120GVL_TcUnit.IgnoreCurrentTest8BOOLTcVarGlobal3294128PRG_Main._xConfirmAlarms8BOOL3294136GVL_TcUnit.TcUnitRunner621828480FB_TcUnitRunnerTcVarGlobal3294144GVL_TcUnit.CurrentTestSuiteBeingCalled64FB_TestSuiteTcVarGlobal625122624GVL_TcUnit.CurrentTestNameBeingCalled2048T_MaxStringTcVarGlobal625122688GVL_TcUnit.NumberOfInitializedTestSuites16UINT0TcVarGlobal625124736FB_DynMem_Manager.nInstanceCreations16UINTTcVarStatic625124752.TCPADS_MAXUDP_BUFFSIZE32UDINT8192TcVarGlobal625124768GVL_TcUnit.TestSuiteAddresses64000FB_TestSuite11000TcVarGlobal625124800GVL_TcUnit.CurrentlyRunningOrderedTestInTestSuite16000UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)11000TcVarGlobal625188800GVL_TcUnit.AdsMessageQueue8321152FB_AdsLogStringMessageFifoQueueTcVarGlobal625204800Global_Version.stLibVersion_TcUnit288ST_LibVersion.iMajor1.iMinor2.iBuild0.iRevision0.sVersion1.2.0.0const_non_replacedTcVarGlobal633525952.TCPADS_TLS_HOSTNAME_SIZE32UDINT255TcVarGlobal633526240.TCPADS_TLS_CERTIFICATE_PATH_SIZE32UDINT255TcVarGlobal633526272.TCPADS_TLS_KEY_PASSWORD_SIZE32UDINT255TcVarGlobal633526304.TCPADS_TLS_PSK_IDENTITY_SIZE32UDINT255TcVarGlobal633526336.TCPADS_TLS_MAX_PSK_KEY_SIZE32UDINT128TcVarGlobal633526368Global_Version.stLibVersion_Tc2_TcpIp288ST_LibVersion.iMajor3.iMinor4.iBuild2.iRevision0.nFlags1.sVersion3.4.2.0const_non_replacedTcVarGlobal633526400TC_EVENTS.KukaRobot960ST_KukaRobottc_no_symbolunusedconst_non_replacedsuppress_warning_0C0228init_on_onlchangeTcVarGlobal633544800PRG_Main._xClear8BOOL633592416PRG_Main._xReset8BOOL633592424PRG_Main._xFirstCycle8BOOLtrue633592432PRG_Safety.xConfirmAlarms8BOOL633592440PRG_Main._fbHVTester192FB_HVTester634178048PRG_Main._fbEtcher1128FB_Etcher634178240PRG_Main._fbEtcher2128FB_Etcher634178368PRG_Main._stRobotCmd419456ST_PMLc634178496PRG_Main._stRobotStatus128ST_PMLs634597952PRG_Main._stRobotAdmin672ST_PMLa634598080PRG_Safety._rtrigDoorUnlock128R_TRIG634598784TwinCAT_PreventOnlineChangeGvl.WriteLineIDs8BOOLtrueTcVarGlobal634598920TwinCAT_PreventOnlineChangeGvl.PlcProfilerActive8BOOLfalseTcVarGlobal634598928GVL_SCADA.xErrAck8BOOLTcVarGlobal634598936GVL_SCADA.xOpenAllChambers8BOOLTcVarGlobal634598960PRG_Safety._tofErrorAck256TOF.PTT#500MS634598976TwinCAT_PreventOnlineChangeGvl.PlcProfilerConfigChecksum520STRING(64)TcVarGlobal634599232GVL_PackML_Conf.MAX_PARAMS16UINT10TcVarGlobal634599760GVL_PackML_Conf.MAX_PRODUCT_DATA16UINT10TcVarGlobal634599776GVL_PackML_Conf.MAX_RECIPES_PER_UNIT16UINT5TcVarGlobal634599792TwinCAT_SystemInfoVarList._AppInfo2048PlcAppSystemInfono_initTcVarGlobal634600128TwinCAT_SystemInfoVarList._TaskInfo1024PlcTaskSystemInfo11no_initTcVarGlobal634602176TwinCAT_SystemInfoVarList._TaskPouOid_PlcTask32OTCIDno_initTcVarGlobal634603200TwinCAT_SystemInfoVarList._TaskOid_PlcTask32OTCIDno_initTcVarGlobal634603232TwinCAT_SystemInfoVarList.__PlcTask896_Implicit_Task_Info.dwVersion2TcContextNamePlcTaskTcVarGlobal634603264PRG_Main._xStart8BOOL634630688PRG_Main._stRecipeGripperChange76288ST_PackMLRecipe.diID0.sNameChange gripper634802176PRG_Main._fbRobot539968FB_KukaRobot634878464KukaRobotApplicationNamePort_851ChangeDate2026-01-29T19:18:55GeneratedCodeSize401408GlobalDataSize78970880UTF8EncodedStringsfalse \ No newline at end of file diff --git a/PLC/PlcTask.TcTTO b/PLC/PlcTask.TcTTO index 2866370..85ca8d4 100644 --- a/PLC/PlcTask.TcTTO +++ b/PLC/PlcTask.TcTTO @@ -5,7 +5,7 @@ 10000 20 - PRG_Test + PRG_Main {40eb18ee-d47c-458f-bba5-88b899fc1567} {6e3535be-c313-4e44-9f98-4268a560c4bf} diff --git a/PLC/Visu/Visualization.TcVIS b/PLC/Visu/Visualization.TcVIS deleted file mode 100644 index ac5bfa5..0000000 --- a/PLC/Visu/Visualization.TcVIS +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - - "12" - - - - - - - - - - 571893170L - "Rest" - - - 1931512087L - "TOGGLE" - - - 300685745L - false - - - 2812299069L - 4294967295U - - - 494569607L - 4278190080U - - - 3719097617L - 0 - - - 1649127785L - 134 - - - 357335551L - 150 - - - 2422045748L - 229 - - - 2134141914L - 177 - - - 4062784938L - "Element-Switch-PushSwitch-Gray" - - - 550940142L - 248 - - - 1473355128L - 238 - - - 493260384L - 4294967295U - - - 135947015L - 4278190080U - - - 2678395525L - 1U - - - 2340015797L - "HCENTER" - - - 2565699834L - "VCENTER" - - - 296037572L - "" - - - 390574330L - "" - - - 2597686782L - false - - - 743958181L - "GVL_SCADA.xErrAck" - - - 3438453433L - "134" - - - - "PushSwitch" - "VisuFbElemPushSwitch" - true - "GenElemInst_1" - - - - {a9fe58e2-2923-486b-83ae-c30f51fc53bc} - {c7f813ad-d496-46cf-913b-a7293dcf426c} - - - 0 - - "0" - "" - 1 - - - - "" - 16777215 - - - - "" - false - false - 16777215 - false - - false - - - - - AreAllElementsHidden - a725eb54-6600-588a-9f13-869630ee3e7e - ContainsPoint - ab15b219-793c-4da0-bd07-15f4b9559413 - Destruct - 3ba10444-2f83-4df5-aa26-6b77c6d0abf6 - ElementInfo - 4fc818ce-9e66-4929-a86a-b286e246a68d - FB_Exit - 77528b4c-c8c4-4f11-a991-6b9fe9e1a3d3 - FB_Reinit - 1d8a778c-cc51-47a7-a51d-3d9eb8125008 - GetCallerNamespace - 43a88302-5fea-54cf-b14f-4c85099970ea - GetClientData - cadc6a04-3260-4217-ae88-86a7d1978d67 - GetDialogInterface - 061c17d4-c1fd-4666-8fbf-29cb1f99ec8e - GetDialogInterfaceSize - e770c9e8-0fe5-4727-bbf9-e82c4cdde02f - GetElementArray - 3453a92d-9e41-45ae-b333-a6fd05ecc05f - GetElementIdArray - 01969ee2-370e-4639-8b9e-fcc1b5861ed4 - GetElementName - 5549a8ef-993d-5c8c-a19e-92b606693b43 - GetInitializeVersion - 87415d8b-3769-4476-ba47-778b9c7d9830 - GetInstance - cb71613d-a9c0-4c65-af5b-0bf0cc1cc4a2 - GetLocalUsergroup - a16842f4-6e61-487d-a546-e447ff985552 - GetName - d299c55d-4dc9-4b9e-b9d7-81bcb628be24 - GetNamespace - a00a8d02-710d-4837-b03e-8ac7f3cea203 - GetResult - dd0c5ce2-d1c3-42c0-9d55-94b7f2ebfe7f - GetSize - aa96c3a1-2662-437e-b163-bed0cd701cbc - GetSurroundingRect - 8a93fd36-40b4-408c-a8fa-f2094bc31dc1 - GetTabOrderIdArray - 22aa349f-aa1a-5a1e-b8d1-fa8b274978fc - GetText - 26faf652-11c0-4434-b399-bdd6c186874b - GetTextProperties - 76184248-eb5e-40ac-82e0-1b69e783afd2 - GetTooltip - a0e4cc76-8d43-462d-b328-fda892a64d2d - GetTranslator - 409c1071-0ab9-46d9-9cb0-f29de52cf28e - GetUpdateRects - df55534a-e997-42c4-9622-83f8a02d6684 - HandleInput - 0612a83a-5c13-462f-b5b0-94227cd1d4b4 - HasInputAccess - 27cfb0a9-611b-41e2-a755-37c98bd69211 - HasInputAccessIntern - 63cc92a5-408f-57e0-87e9-b2033b2b12ef - HasVisibilityAccess - f11fc703-d33e-412b-9764-588a000bede4 - HasVisibilityAccessIntern - 12b8a5d1-0920-5c63-846f-df1f593d4075 - Initialize - 28e2b0d4-7ee2-4256-bcf3-9b3d048989d7 - IsAntialiasingInactive - 2a637b19-2d31-4c64-a5a2-a50b98a54f46 - Paint - 359a8f28-6be2-40a9-b444-a14b59912a36 - SetClientData - 84598ba9-869d-4d41-af71-685b89f2e17f - SetContainerSize - d54f5458-6e96-5c6d-9516-413a21c534b5 - SetDialogInterface - f991bc46-9bfd-4b50-87ce-4a160df90f4e - SetResult - 31cc2a76-5ca2-40be-9c81-4ce91ffc8ceb - SetStaticState - a71f3a37-1f69-40b3-8810-7fbb9613ce2e - SetVisuFlagsInternal - c86bc3f1-839c-44f7-a86e-8c31b378e47d - Update - 86c23628-283c-4cd6-9a8e-4fe213a72b01 - - - __getContainer - acc951a7-0e09-4639-b624-f1acf9de535a - __getVisu - 699a8058-a362-4d94-b2bf-8d83cc15d117 - - "NotImportant" - {c7f813ad-d496-46cf-913b-a7293dcf426c} - - {c3710736-16ea-4749-a94b-9a7cef0d94d9} - {848dba92-ad40-4262-a0e6-c897149b4673} - {4542b91b-c173-423b-a2e4-55fe1dcd4438} - - - - FB_Exit - d076fe0e-7df0-431f-b3a9-736edf093162 - FB_Init - 28fb6bb3-47cc-457f-82ec-a2ee72ded81b - FB_Reinit - ee89efe4-78d3-4256-a7b0-564fc198a1d2 - - - "NotImportant" - {cb986f24-4b1d-4e53-8e13-066c36701683} - - {833946e1-5ee1-443a-a77a-490182229e46} - - - - - abstrGetDefaultCursor - f71cf66f-d4e9-4025-b35a-6cbbe1d389fb - ExecuteDialogClosed - e1501d0a-e558-483c-a9a5-a357640775bf - ExecuteKeyDown - 4950c656-5a4e-4a24-a04d-c68e5fa80bc4 - ExecuteKeyUp - cf6a31c1-32e2-4079-9359-06f71f51ac03 - ExecuteLooseCapture - 81003bd8-702b-46c6-8576-55b4cb3d6508 - ExecuteMouseClick - 38ba0b28-4b12-4493-9592-7295d83cee3f - ExecuteMouseDblClick - d096b23e-54a3-422f-b2ad-5cab7f415d68 - ExecuteMouseDown - fd2a0ed4-cfa0-4c81-ac3a-154c476085bf - ExecuteMouseEnter - 3eb196da-dbad-4a33-b599-c92ac619c961 - ExecuteMouseLeave - 4d127b58-1b2d-4421-a7a2-590f2ab04eb8 - ExecuteMouseMove - ecfc61c4-6132-4304-b084-52c22b62b091 - ExecuteMouseUp - 97842947-afb6-4377-a1e0-497a4fad1b3a - ExecuteValueChanged - 5134f3a0-6cfd-4802-91ba-4bc2ef3ec14f - GetElementInfo - 18b304d4-0e71-4837-a644-83684312ccc5 - Initialize - 8f927b74-8f36-4a18-b313-e9657129d589 - - - "NotImportant" - {c5c7227b-e260-46ca-81aa-66e288af04d0} - - {f68c5176-54d2-4538-b87e-5801589c0396} - - 3 - - "VAR_IN_OUT - -END_VAR" - - - false - - 4140216668L - 0 - 1 - - 481037385728L - 549755813887L - 481037385728L - 549754765312L - 1048576L - - - - - 0 - - 363 - 327 - - 1 - - 363 - 327 - - 2 - - 363 - 327 - - - 2 - - - - - - System.Collections.ArrayList - {1038f12c-dd4b-4f96-87a3-a350fe8f3552} - System.Boolean - System.Byte - {7df88604-7ac5-4e36-91c4-55e4fdad3e68} - {1de566f6-72a7-494c-9353-9a418172c96e} - {703465dc-4679-4ff2-bcc3-c57d0a204da3} - {40d6dd8d-dfd0-493a-8e29-c9a35e1e6539} - {f86c2928-8614-4cca-824b-e819ac4d58c4} - System.Guid - System.Collections.Hashtable - {6b108d46-58af-4e41-a3f4-174d8f160cc4} - System.Int32 - System.Int64 - System.String - {f3878285-8e4f-490b-bb1b-9acbb7eb04db} - System.UInt32 - {ef9d0b20-c96e-48db-b361-2ded4063150e} - {f285c9a3-7019-446b-b98c-ccec3a0af8fa} - {c694e3a2-5c0b-4177-ab35-cb06bd5a6a02} - {a4b83bea-3742-489c-9fe8-d96d68dba7ab} - {17e26cd1-bb9b-47fe-a3d5-18fcd63b9c96} - {f18bec89-9fef-401d-9953-2f11739a6808} - {6ad3e88f-aee2-4766-a7ea-a8790037ef51} - {5f612b0e-b404-455f-8177-27864e9f5332} - - - - - - - 0 - 1024 - 768 - false - AutoDetect - false - false - false - true - - - false - - - - System.Boolean - System.Int32 - {477d844b-9b2a-407e-90a4-d36fd6dde2fc} - {34718b76-91f6-43de-8c65-b77e0b1ee621} - - - - - \ No newline at end of file diff --git a/PLC/Visualization Manager.TcVMO b/PLC/Visualization Manager.TcVMO deleted file mode 100644 index 298b4f0..0000000 --- a/PLC/Visualization Manager.TcVMO +++ /dev/null @@ -1,593 +0,0 @@ - - - - - - - Undefined - Undefined - - - "Visualization" - false - false - AutoDetect - 2000 - 2000 - false - 50000 - 400000 - false - false - true - "Default, 3.1.9.0 (Beckhoff Automation GmbH)" - 100 - - "VisuDialogs.Numpad" - "VisuDialogs.Keypad" - "VisuDialogs.TextinputWithLimits" - false - false - false - true - true - false - "VisuUserManagement.VUM_Login" - "VisuUserManagement.VUM_ChangePassword" - "VisuUserManagement.VUM_UserManagementWide" - {00000000-0000-0000-0000-000000000000} - {00000000-0000-0000-0000-000000000000} - true - true - - OpenCentered - - - - true - 200 - false - "" - "" - 0 - 0 - 0 - 0 - true - true - true - - - - FB_Exit - 3b10f3d4-3918-46ea-8c63-adbf43a8a336 - FB_Init - 9df8d017-b198-465e-8e55-f69841ae986f - FB_Reinit - 359af835-44f2-492f-a13c-f66f07fb0cd2 - - - "NotImportant" - {f71ed0ce-2435-440b-9610-dc8f551135be} - - - - 7 - 4096 - "1002 0004" - "1.0.0.8" - {cb73a13e-6ccc-4bc6-8859-f5aa98bb116b} - - - true - 48 - "0" - - - true - 49 - "1" - - - true - 50 - "2" - - - true - 51 - "3" - - - true - 52 - "4" - - - true - 53 - "5" - - - true - 54 - "6" - - - true - 55 - "7" - - - true - 56 - "8" - - - true - 57 - "9" - - - true - 65 - "A" - - - true - 107 - "ADDITION" - - - true - 66 - "B" - - - true - 8 - "BACKSPACE" - - - true - 67 - "C" - - - true - 110 - "COMMA" - - - true - 68 - "D" - - - true - 46 - "DELETE" - - - true - 111 - "DIVIDE" - - - true - 40 - "DOWN" - - - true - 69 - "E" - - - true - 35 - "END" - - - true - 27 - "ESCAPE" - - - true - 70 - "F" - - - true - 112 - "F1" - - - true - 121 - "F10" - - - true - 122 - "F11" - - - true - 123 - "F12" - - - true - 113 - "F2" - - - true - 114 - "F3" - - - true - 115 - "F4" - - - true - 116 - "F5" - - - true - 117 - "F6" - - - true - 118 - "F7" - - - true - 119 - "F8" - - - true - 120 - "F9" - - - true - 71 - "G" - - - true - 72 - "H" - - - true - 36 - "HOME" - - - true - 73 - "I" - - - true - 45 - "INSERT" - - - true - 74 - "J" - - - true - 75 - "K" - - - true - 76 - "L" - - - true - 37 - "LEFT" - - - true - 77 - "M" - - - true - 106 - "MULTIPLY" - - - true - 78 - "N" - - - true - 96 - "NUM0" - - - true - 97 - "NUM1" - - - true - 98 - "NUM2" - - - true - 99 - "NUM3" - - - true - 100 - "NUM4" - - - true - 101 - "NUM5" - - - true - 102 - "NUM6" - - - true - 103 - "NUM7" - - - true - 104 - "NUM8" - - - true - 105 - "NUM9" - - - true - 79 - "O" - - - true - 80 - "P" - - - true - 19 - "PAUSE" - - - true - 42 - "PRINT" - - - true - 81 - "Q" - - - true - 82 - "R" - - - true - 13 - "RETURN_KEY" - - - true - 39 - "RIGHT" - - - true - 83 - "S" - - - true - 32 - "SPACE" - - - true - 109 - "SUBTRACT" - - - true - 84 - "T" - - - true - 9 - "TAB" - - - true - 85 - "U" - - - true - 38 - "UP" - - - true - 86 - "V" - - - true - 87 - "W" - - - true - 88 - "X" - - - true - 89 - "Y" - - - true - 90 - "Z" - - - - - - 481037385728L - 549755813887L - 481037385728L - 549754765312L - 1048576L - - - - - abstrGetDefaultCursor - cc321d7f-2f37-4b53-bce2-a9bd974a8681 - ExecuteDialogClosed - 3bcbc0ce-81cd-4911-8914-44188c177411 - ExecuteKeyDown - fc479f4f-e138-4aaa-b6d6-697590969705 - ExecuteKeyUp - 156daac4-6443-4540-9838-4cc30c6e8821 - ExecuteLooseCapture - 0626945c-155a-452e-99e1-bc92ccdce784 - ExecuteMouseClick - 1b7b169c-830d-4535-a164-ba6f8d1bf165 - ExecuteMouseDblClick - b1f03962-2989-414f-a5bb-812a75d56c3b - ExecuteMouseDown - 028a586e-2455-441f-8a8d-00d127345483 - ExecuteMouseEnter - e2b598c7-7a39-486e-9017-323dac257c30 - ExecuteMouseLeave - 4718b2dc-1651-40fd-9361-ef7d890a938b - ExecuteMouseMove - 03e1fd3f-3a59-4354-a91c-81e5a0428954 - ExecuteMouseUp - 047888b5-4c63-4490-9a8c-d7184e3c26ce - ExecuteValueChanged - d7dc51a1-595c-4e58-86b1-6d8e24a5fb22 - FB_Exit - e93ac5c5-9b6e-4ca7-8d80-5d9bcb7edb63 - FB_Init - fbbfef41-6677-40ae-8e1d-435b00930c8d - FB_Reinit - 341a7933-16e7-4fa3-a7a8-6e3d2f3c148c - GetElementInfo - 0ca14ef6-3126-4c73-9f23-beb3d2c12e33 - Init - ebbdcf07-6ef1-440f-91b4-94e62b85242c - Initialize - d51c9946-c924-4a41-9a42-6e79c7023378 - - - "NotImportant" - {5b10dcd0-a6a2-4394-8d7e-fc1a897d49c8} - - - - true - true - - - - - - {7b398c37-b8f2-44fa-92e6-cd0ac4432e05} - {b7af0301-7d32-4dec-821a-a12a7de2afe2} - {b114b7fc-7845-4db6-b717-6ef08132d0b3} - {f6e93e7a-f026-47f1-9ad6-9ad85a537957} - {05d2daea-b06a-4275-855d-b7edf1e9a29d} - {699620e8-1df5-45c4-8a2d-7f8ef1544fd5} - {db37476f-f0fb-4fa9-8a33-33f55c6ee3e6} - {37f8aba3-8d02-4b60-b71d-909d434464e0} - {db09399b-72ff-43d1-8c3a-e078e68c9297} - {6864ac69-a0df-43f7-bcd5-4b9c7dc64b57} - {406a9ed5-2529-4fd5-9ad9-3ae887dda070} - {a4b8d7f7-933b-40f3-9d72-9fe1ba44d7ed} - {129b0553-f73f-4a63-a791-589dde777670} - {9003aa7f-2db3-4a80-9478-ff56da7ce674} - {c5aeb04a-4e37-466e-adb7-6e1defc764ae} - {94a93fd8-eed7-425b-b4e7-d49ab50e79cc} - {bdccb31c-de80-4c34-8469-8d8f1b48172b} - {b8e3eef6-1f94-489e-bb87-7da6cde40255} - {ac528ee4-49b0-4bb2-8b8d-0881d5ce92e3} - {cb123efe-50d6-4c66-b719-5a9abc7b78be} - {925e8f6d-a925-4ccb-9007-f4aa925f657b} - {0e5d2904-0f49-4ca0-873b-e30003524293} - {469f8113-0911-47c3-8ac7-302e738f100d} - {c8fed093-737d-41c7-b196-fe237ae7ae11} - {be83b5db-04d7-49b4-95f4-135b529cdb8c} - {63abefd0-8bc2-4603-9bff-e90b8c47d6fe} - {c256e1fd-f3b9-4401-8b5a-a0bb6db81a94} - {14dbfc96-fd74-4e8a-afb4-01575aa81bde} - {e291df9c-0ae4-40f9-aaf6-c7479d74a4b2} - {d9548cb4-7280-404a-a145-5a8f38a9e691} - {d5955983-4cbf-4785-9324-6a3ae3b62362} - {b155374e-21a8-4e99-83be-933da117fdc3} - - - - System.Collections.ArrayList - System.Boolean - {7df88604-7ac5-4e36-91c4-55e4fdad3e68} - {11a86981-4b02-4f98-b432-96e385cb41b7} - {c91fc5aa-1e38-43b2-9a05-c52cc5d7f5b6} - {40d6dd8d-dfd0-493a-8e29-c9a35e1e6539} - {550f8ee0-c42e-42f0-b253-4fadf0c12bdf} - System.Guid - {6b108d46-58af-4e41-a3f4-174d8f160cc4} - System.Int32 - System.Int64 - {05125339-dc8c-4673-b403-e21bec548370} - System.String - {19611221-ebd3-4607-86d2-9822fbe84c30} - {c37fe731-4f69-4d98-82fe-4f9aefbe200d} - {997fedbb-1888-4256-b61c-2933d8056bfd} - {422ed780-41e9-4352-8132-b322b16154c1} - {4d3fdb8f-ab50-4c35-9d3a-d4bb9bb9a628} - {ec9b2ec6-92a2-4856-be72-7866fb274c64} - - - - \ No newline at end of file diff --git a/TwinSAFE/GVLs/GVL1.sgvl b/TwinSAFE/GVLs/GVL1.sgvl index 956ca97..cc867f2 100644 --- a/TwinSAFE/GVLs/GVL1.sgvl +++ b/TwinSAFE/GVLs/GVL1.sgvl @@ -1,5 +1,5 @@  - + Com_Err @@ -45,21 +45,6 @@ - - RunStop - - - 9 - 1 - 1131179973 - - - - - 08fab2e8-8d41-4915-ba0f-0c17dc36ad64 - - - ComStartUp diff --git a/TwinSAFE/TargetSystemConfig.xml b/TwinSAFE/TargetSystemConfig.xml index 7f10f81..f95763b 100644 --- a/TwinSAFE/TargetSystemConfig.xml +++ b/TwinSAFE/TargetSystemConfig.xml @@ -1,5 +1,5 @@  - + HSafetyPLC EL1918 false @@ -7,7 +7,7 @@ PC_K01_KL02 (EL1918) 02 (V01.08) 3885647 - 12630 + 32969 false false 1 diff --git a/TwinSAFE/TwinSafeGroup1/TwinSafeGroup1.sal b/TwinSAFE/TwinSafeGroup1/TwinSafeGroup1.sal index 2448bdf..404055a 100644 --- a/TwinSAFE/TwinSafeGroup1/TwinSafeGroup1.sal +++ b/TwinSAFE/TwinSafeGroup1/TwinSafeGroup1.sal @@ -1,5 +1,5 @@  - + @@ -1409,13 +1409,7 @@ - - - - - - - + diff --git a/_Config/IO/Device 1 (EtherCAT).xti b/_Config/IO/Device 1 (EtherCAT).xti index d759226..046ef84 100644 --- a/_Config/IO/Device 1 (EtherCAT).xti +++ b/_Config/IO/Device 1 (EtherCAT).xti @@ -544,7 +544,7 @@ 424de6000000000000007600000028000000100000000e000000010004000000000070000000000000000000000010000000000000001c120800244aa500203262002462ee001c273f00245ad500243a7c001c222b001c1a1e002472fc00244fb7001c2a4d00243a7100246afc0024428d001c1a1300d5bbbbbbedddddddddb8777fcdd9dd9dd580ffffcddddddd9e7780f47b5dd9ddd3d35cb700e9ddd9ddd9d9de88a9ddddd9dddd9abb3dddddddddd99e04d9dd9dddddddd20adddddd9dd9d958b9ddd9ddddddd18cddddddd9dd5554e99d999d1dd9b07b2ee111e1add5bb777774bb6add 424de6000000000000007600000028000000100000000e000000010004000000000070000000000000000000000000000000000000000000000000008000008000000080800080000000800080008080000080808000c0c0c0000000ff0000ff000000ffff00ff000000ff00ff00ffff0000ffffff00bb1111113bbbbbbbbb1000001bbbbbbbbb0000001bbbbbbbb300000001bbbbbbbbbbb110003bbbbbbbbbbbb3003bbbbbbbbbbbb311bbbbbbbbbbbbb300bbbbbbbbbbbbb103bbbbbbbbbbbbb01bbbbbbbbbbbb301bbbbbbbbbbbbb03bbbbbbb3bbb1001133333333bb3110000001113bb - + __FILENAME__ @@ -556,6 +556,9 @@ Image + + Prozessabbild-2 + Etcher1ChuckPresent (EP1018-0001) 1000 @@ -35037,19 +35040,19 @@ Bit 8 - 15 : reserved]]> HEAD ECAT_HEAD - 12416 + 1184 DATA ARRAY [0..511] OF BYTE - 12496 + 1264 CNT UINT - 16592 + 5360 @@ -35057,19 +35060,19 @@ After receiving]]> HEAD ECAT_HEAD - 12416 + 1184 DATA ARRAY [0..511] OF BYTE - 12496 + 1264 CNT UINT - 16592 + 5360 diff --git a/_Config/NC/NC.xti b/_Config/NC/NC.xti index cc9a4e5..634d173 100644 --- a/_Config/NC/NC.xti +++ b/_Config/NC/NC.xti @@ -1440,7 +1440,7 @@ External Setpoint Generation: NC-Task 1 SVB - + Etcher1Chuck @@ -1585,7 +1585,7 @@ External Setpoint Generation: - + Etcher1BSR @@ -1729,7 +1729,7 @@ External Setpoint Generation: - + Etcher2Chuck @@ -1874,7 +1874,7 @@ External Setpoint Generation: - + Etcher2BSR @@ -2018,7 +2018,7 @@ External Setpoint Generation: - + AlignerXAxis @@ -2177,7 +2177,7 @@ External Setpoint Generation: - + AlignerYAxis diff --git a/_Config/PLC/PLC Instance.xti b/_Config/PLC/PLC Instance.xti index 4235036..95fa8e4 100644 --- a/_Config/PLC/PLC Instance.xti +++ b/_Config/PLC/PLC Instance.xti @@ -18,4 +18,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_Config/SPLC/TwinSAFE.xti b/_Config/SPLC/TwinSAFE.xti index efc6731..75d9825 100644 --- a/_Config/SPLC/TwinSAFE.xti +++ b/_Config/SPLC/TwinSAFE.xti @@ -1,6 +1,6 @@ - + diff --git a/doc/.vscode/settings.json b/doc/.vscode/settings.json new file mode 100644 index 0000000..5eaeb49 --- /dev/null +++ b/doc/.vscode/settings.json @@ -0,0 +1,10 @@ +{ + "json.schemas": [ + { + "fileMatch": [ + "./recipe_data.json" + ], + "url": "./recipe_data_schema.json" + } + ] +} \ No newline at end of file diff --git a/doc/StateMachines.drawio b/doc/StateMachines.drawio new file mode 100644 index 0000000..3b9c1df --- /dev/null +++ b/doc/StateMachines.drawio @@ -0,0 +1,285 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/recipe_data.json b/doc/recipe_data.json new file mode 100644 index 0000000..3c9acbe --- /dev/null +++ b/doc/recipe_data.json @@ -0,0 +1,63 @@ +{ + "metadata": { + "version": "1.0", + "description": "Beschreibung der Rezeptparameter", + "maxParams": 5 + }, + "processVariables": { + "real": [ + { + "index": 0, + "id": 1, + "name": "Temperatur", + "unit": "degC", + "min": 0.0, + "max": 60.5 + }, + { + "index": 1, + "id": 2, + "name": "Dummy 1", + "unit": "mm", + "min": 0.0, + "max": 100.0 + } + ], + "string": [ + { + "index": "0", + "id": 4, + "name": "Dummy string", + "unit": "" + } + ], + "lreal": [ + { + "index": 0, + "id": 5, + "name": "Test lreal", + "unit": "um", + "min": -123000.3, + "max": 450000.264 + } + ], + "dint": [ + { + "index": 0, + "id": 6, + "name": "Greifer Nummer", + "unit": "", + "min": 1, + "max": 3 + }, + { + "index": 1, + "id": 7, + "name": "Teller nummer", + "unit": "", + "min": 1, + "max": 3 + } + ] + } +} \ No newline at end of file diff --git a/doc/recipe_data_schema.json b/doc/recipe_data_schema.json new file mode 100644 index 0000000..ea8934c --- /dev/null +++ b/doc/recipe_data_schema.json @@ -0,0 +1,87 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PackTagV3ProcessVariablesSSOT", + "type": "object", + "required": ["metadata", "processVariables"], + "properties": { + "metadata": { + "type": "object", + "required": ["version", "description", "maxParams"], + "properties": { + "version": { "type": "string" }, + "description": { "type": "string" }, + "maxParams": { "type": "integer", "minimum": 1 } + }, + "additionalProperties": false + }, + "processVariables": { + "type": "object", + "properties": { + "real": { + "type": "array", + "items": { + "type": "object", + "required": ["index", "id", "name", "unit", "min", "max"], + "properties": { + "index": { "type": "integer", "minimum": 0 }, + "id": { "type": "integer", "minimum": 0 }, + "name": { "type": "string", "maxLength": 80 }, + "unit": { "type": "string", "maxLength": 6 }, + "min": { "type": "number" }, + "max": { "type": "number" } + }, + "additionalProperties": false + } + }, + "lreal": { + "type": "array", + "items": { + "type": "object", + "required": ["index", "id", "name", "unit", "min", "max"], + "properties": { + "index": { "type": "integer", "minimum": 0 }, + "id": { "type": "integer", "minimum": 0 }, + "name": { "type": "string", "maxLength": 80 }, + "unit": { "type": "string", "maxLength": 6 }, + "min": { "type": "number" }, + "max": { "type": "number" } + }, + "additionalProperties": false + } + }, + "dint": { + "type": "array", + "items": { + "type": "object", + "required": ["index", "id", "name", "unit", "min", "max"], + "properties": { + "index": { "type": "integer", "minimum": 0 }, + "id": { "type": "integer", "minimum": 0 }, + "name": { "type": "string", "maxLength": 80 }, + "unit": { "type": "string", "maxLength": 6 }, + "min": { "type": "integer" }, + "max": { "type": "integer" } + }, + "additionalProperties": false + } + }, + "string": { + "type": "array", + "items": { + "type": "object", + "required": ["index", "id", "name", "unit"], + "properties": { + "index": { "type": [ "integer", "string" ] }, + "id": { "type": "integer", "minimum": 0 }, + "name": { "type": "string", "maxLength": 80 }, + "unit": { "type": "string", "maxLength": 6 } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false +}