From 9d2a5ec988f6cb627c079d31295c0121f8a23c83 Mon Sep 17 00:00:00 2001 From: "blazej.kuhajda" Date: Tue, 2 Jun 2026 08:25:49 +0200 Subject: [PATCH 01/14] remove task timeout --- .../ctrl/src/AxoKrc4/v_5_x_x/AxoKrc4.st | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/src/components.kuka.robotics/ctrl/src/AxoKrc4/v_5_x_x/AxoKrc4.st b/src/components.kuka.robotics/ctrl/src/AxoKrc4/v_5_x_x/AxoKrc4.st index 198e1120a..fb8eb0975 100644 --- a/src/components.kuka.robotics/ctrl/src/AxoKrc4/v_5_x_x/AxoKrc4.st +++ b/src/components.kuka.robotics/ctrl/src/AxoKrc4/v_5_x_x/AxoKrc4.st @@ -470,9 +470,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); - StartAtMainTask.ThrowWhen(_errorTimer.output ); Status.Action.Id := TO_UINT(_power_progress); - StartAtMainTask.ThrowWhen(StartAtMainTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartAtMainTask timeout.#>'); END_IF; IF StartAtMainTask.DoneReached() THEN Status.Action.Id := UINT#101; @@ -622,9 +620,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); - StartMotorsAndProgramTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); - StartMotorsAndProgramTask.ThrowWhen(StartMotorsAndProgramTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartMotorsAndProgramTask timeout.#>'); END_IF; IF StartMotorsAndProgramTask.DoneReached() THEN Status.Action.Id := UINT#111; @@ -883,9 +879,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(NOT _movementExecuting); - StartMotorsProgramAndMovementsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); - StartMotorsProgramAndMovementsTask.ThrowWhen(StartMotorsProgramAndMovementsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartMotorsProgramAndMovementsTask timeout.#>'); END_IF; IF StartMotorsProgramAndMovementsTask.IsFirstExecutionCycle() THEN MovementParameters := Status.CurrentMovementParameters; @@ -975,7 +969,6 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); - StartMotorsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); END_IF; IF StartMotorsTask.DoneReached() THEN @@ -1164,9 +1157,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(NOT _movementExecuting); - StartMovementsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_movement_progress); - StartMovementsTask.ThrowWhen(StartMovementsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartMovementsTask timeout.#>'); END_IF; IF StartMovementsTask.IsFirstExecutionCycle() THEN MovementParameters := Status.CurrentMovementParameters; @@ -1318,9 +1309,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); - StartProgramTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); - StartProgramTask.ThrowWhen(StartProgramTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartProgramTask timeout.#>'); END_IF; IF StartProgramTask.DoneReached() THEN Status.Action.Id := UINT#171; @@ -1381,9 +1370,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); - StopMotorsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); - StopMotorsTask.ThrowWhen(StopMotorsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StopMotorsTask timeout.#>'); END_IF; IF StopMotorsTask.DoneReached() THEN Status.Action.Id := UINT#181; @@ -1453,9 +1440,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(TRUE); - StopMovementsAndProgramTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); - StopMovementsAndProgramTask.ThrowWhen(StopMovementsAndProgramTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StopMovementsAndProgramTask timeout.#>'); END_IF; IF StopMovementsAndProgramTask.DoneReached() THEN Status.Action.Id := UINT#191; @@ -1513,9 +1498,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(TRUE); - StopMovementsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); - StopMovementsTask.ThrowWhen(StopMovementsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StopMovementsTask timeout.#>'); END_IF; IF StopMovementsTask.DoneReached() THEN Status.Action.Id := UINT#201; @@ -1572,9 +1555,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(TRUE); - StopProgramTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); - StopProgramTask.ThrowWhen(StopProgramTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StopProgramTask timeout.#>'); END_IF; IF StopProgramTask.DoneReached() THEN Status.Action.Id := UINT#911; @@ -1665,9 +1646,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(TRUE); - ResetAllOutputsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); - ResetAllOutputsTask.ThrowWhen(ResetAllOutputsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#ResetAllOutputsTask timeout.#>'); END_IF; IF ResetAllOutputsTask.DoneReached() THEN Status.Action.Id := UINT#921; From ff23939cafe0ce437716ec814b275f6fccea401f Mon Sep 17 00:00:00 2001 From: "blazej.kuhajda" Date: Wed, 3 Jun 2026 07:37:17 +0200 Subject: [PATCH 02/14] wip --- .../ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st b/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st index 4886e1e76..4d33e4be9 100644 --- a/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st +++ b/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st @@ -99,6 +99,11 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Config : AxoKrc5_Config; END_VAR + VAR CONSTANT INTERNAL + BLINKER_TIME : TIME := T#1S; + END_VAR + + VAR PUBLIC //STATUS {#ix-attr:[Container(Layout.Stack)]} {#ix-attr:[ComponentDetails("Status")]} @@ -462,13 +467,14 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#100,StartAtMainTask.IsBusy(), eAxoMessageCategory#Info); Messenger.ActivateOnCondition(ULINT#101,StartAtMainTask.IsDone(), eAxoMessageCategory#Info); IF StartAtMainTask.Execute(THIS) THEN - _blink.Blink(Context := _context, inOnTime:=T#500MS,inOffTime:=T#500MS); + _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); IF _power_progress = 0 THEN Status.Error.Id := UINT#0; TaskMessenger.Restore(); THIS.CallTimers(FALSE); _power_progress := 300; END_IF; + // Start at main running: waiting for the program pointer changed. IF _power_progress = 300 THEN IF _infoTimer.output THEN @@ -480,6 +486,8 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Outputs.DrivesOff := TRUE; Outputs.ActionNo := BYTE#255; + Outputs.ErrorConfirmation := Inputs.StopMess AND NOT _blink.output; // try to ack error + Outputs.StartAtMain := NOT Inputs.PpMoved AND _blink.output; IF Inputs.PpMoved THEN @@ -526,7 +534,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#110,StartMotorsAndProgramTask.IsBusy(), eAxoMessageCategory#Info); Messenger.ActivateOnCondition(ULINT#111,StartMotorsAndProgramTask.IsDone(), eAxoMessageCategory#Info); IF StartMotorsAndProgramTask.Execute(THIS) THEN - _blink.Blink(Context := _context, inOnTime:=T#500MS,inOffTime:=T#500MS); + _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); IF _power_progress = 0 THEN Status.Error.Id := UINT#0; @@ -543,6 +551,8 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Outputs.MoveEnable := TRUE; Outputs.DrivesOff := TRUE; Outputs.ActionNo := BYTE#255; + + Outputs.ErrorConfirmation := Inputs.StopMess AND NOT _blink.output; // try to ack error IF Inputs.UserSafetySwitchClosed THEN THIS.CallTimers(FALSE); @@ -571,6 +581,8 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Outputs.DrivesOff:=TRUE; Outputs.DrivesOn:=_blink.output; + Outputs.ErrorConfirmation := Inputs.StopMess AND NOT _blink.output; // try to ack error + IF Inputs.DrivesReady THEN Outputs.DrivesOn:=FALSE; THIS.CallTimers(FALSE); @@ -675,7 +687,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#120,StartMotorsProgramAndMovementsTask.IsBusy(), eAxoMessageCategory#Info); Messenger.ActivateOnCondition(ULINT#121,StartMotorsProgramAndMovementsTask.IsDone(), eAxoMessageCategory#Info); IF StartMotorsProgramAndMovementsTask.Execute(THIS) THEN - _blink.Blink(Context := _context, inOnTime:=T#500MS,inOffTime:=T#500MS); + _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); IF _power_progress = 0 THEN Status.Error.Id := UINT#0; @@ -961,7 +973,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#140,StartMotorsTask.IsBusy(), eAxoMessageCategory#Info); Messenger.ActivateOnCondition(ULINT#141,StartMotorsTask.IsDone(), eAxoMessageCategory#Info); IF StartMotorsTask.Execute(THIS) THEN - _blink.Blink(Context := _context, inOnTime:=T#500MS,inOffTime:=T#500MS); + _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); IF _power_progress = 0 THEN Status.Error.Id := UINT#0; @@ -1263,7 +1275,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#170,StartAtMainTask.IsBusy(), eAxoMessageCategory#Info); Messenger.ActivateOnCondition(ULINT#171,StartAtMainTask.IsDone(), eAxoMessageCategory#Info); IF StartProgramTask.Execute(THIS) THEN - _blink.Blink(Context := _context, inOnTime:=T#500MS,inOffTime:=T#500MS); + _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); IF _power_progress = 0 THEN Status.Error.Id := UINT#0; @@ -1412,7 +1424,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#180,StartAtMainTask.IsBusy(), eAxoMessageCategory#Info); Messenger.ActivateOnCondition(ULINT#181,StartAtMainTask.IsDone(), eAxoMessageCategory#Info); IF StopMotorsTask.Execute(THIS) THEN - _blink.Blink(Context := _context, inOnTime:=T#500MS,inOffTime:=T#500MS); + _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); IF _power_progress = 0 THEN Status.Error.Id := UINT#0; @@ -1998,4 +2010,3 @@ END_NAMESPACE - From 399344a06306e08a04ab68fb5d5b9906c400926b Mon Sep 17 00:00:00 2001 From: "blazej.kuhajda" Date: Wed, 3 Jun 2026 07:52:24 +0200 Subject: [PATCH 03/14] ack error krc5 --- .../ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st b/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st index 4d33e4be9..0c5cc7029 100644 --- a/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st +++ b/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st @@ -535,7 +535,6 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#111,StartMotorsAndProgramTask.IsDone(), eAxoMessageCategory#Info); IF StartMotorsAndProgramTask.Execute(THIS) THEN _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); - IF _power_progress = 0 THEN Status.Error.Id := UINT#0; TaskMessenger.Restore(); @@ -706,6 +705,8 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Outputs.DrivesOff := TRUE; Outputs.ActionNo := BYTE#255; + Outputs.ErrorConfirmation := Inputs.StopMess AND NOT _blink.output; // try to ack error + IF Inputs.UserSafetySwitchClosed THEN THIS.CallTimers(FALSE); _power_progress := 321; @@ -974,7 +975,6 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#141,StartMotorsTask.IsDone(), eAxoMessageCategory#Info); IF StartMotorsTask.Execute(THIS) THEN _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); - IF _power_progress = 0 THEN Status.Error.Id := UINT#0; TaskMessenger.Restore(); @@ -990,6 +990,8 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Outputs.MoveEnable := TRUE; Outputs.DrivesOff := TRUE; + Outputs.ErrorConfirmation := Inputs.StopMess AND NOT _blink.output; // try to ack error + IF Inputs.UserSafetySwitchClosed THEN THIS.CallTimers(FALSE); _power_progress := 341; @@ -1060,6 +1062,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#150,StartMovementsTask.IsBusy(), eAxoMessageCategory#Info); Messenger.ActivateOnCondition(ULINT#151,StartMovementsTask.IsDone(), eAxoMessageCategory#Info); IF StartMovementsTask.Execute(THIS) THEN + _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); IF _movement_progress = 0 THEN Status.Error.Id := UINT#0; TaskMessenger.Restore(); @@ -1075,6 +1078,8 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Outputs.MoveEnable := TRUE; Outputs.DrivesOff := TRUE; + Outputs.ErrorConfirmation := Inputs.StopMess AND NOT _blink.output; // try to ack error + IF Inputs.ProActive THEN THIS.CallTimers(FALSE); _movement_progress := 351; @@ -1276,7 +1281,6 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#171,StartAtMainTask.IsDone(), eAxoMessageCategory#Info); IF StartProgramTask.Execute(THIS) THEN _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); - IF _power_progress = 0 THEN Status.Error.Id := UINT#0; TaskMessenger.Restore(); @@ -1292,6 +1296,8 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Outputs.MoveEnable := TRUE; Outputs.DrivesOff := TRUE; Outputs.ActionNo := BYTE#255; + + Outputs.ErrorConfirmation := Inputs.StopMess AND NOT _blink.output; // try to ack error IF Inputs.UserSafetySwitchClosed THEN THIS.CallTimers(FALSE); From 01370f7e8dd2427d137e7823b1630087f6e5f987 Mon Sep 17 00:00:00 2001 From: "blazej.kuhajda" Date: Wed, 3 Jun 2026 13:41:05 +0200 Subject: [PATCH 04/14] revert task timeout krc5 --- .../ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st b/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st index 0c5cc7029..cf32fe20e 100644 --- a/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st +++ b/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st @@ -504,7 +504,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); + StartAtMainTask.ThrowWhen(_errorTimer.output ); Status.Action.Id := TO_UINT(_power_progress); + StartAtMainTask.ThrowWhen(StartAtMainTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartAtMainTask timeout.#>'); END_IF; IF StartAtMainTask.DoneReached() THEN Status.Action.Id := UINT#101; @@ -657,7 +659,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); + StartMotorsAndProgramTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); + StartMotorsAndProgramTask.ThrowWhen(StartMotorsAndProgramTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartMotorsAndProgramTask timeout.#>'); END_IF; IF StartMotorsAndProgramTask.DoneReached() THEN Status.Action.Id := UINT#111; @@ -942,7 +946,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(NOT _movementExecuting); + StartMotorsProgramAndMovementsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); + StartMotorsProgramAndMovementsTask.ThrowWhen(StartMotorsProgramAndMovementsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartMotorsProgramAndMovementsTask timeout.#>'); END_IF; IF StartMotorsProgramAndMovementsTask.IsFirstExecutionCycle() THEN MovementParameters := Status.CurrentMovementParameters; @@ -1033,6 +1039,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); + StartMotorsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); END_IF; IF StartMotorsTask.DoneReached() THEN @@ -1248,7 +1255,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(NOT _movementExecuting); + StartMovementsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_movement_progress); + StartMovementsTask.ThrowWhen(StartMovementsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartMovementsTask timeout.#>'); END_IF; IF StartMovementsTask.IsFirstExecutionCycle() THEN MovementParameters := Status.CurrentMovementParameters; @@ -1401,7 +1410,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); + StartProgramTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); + StartProgramTask.ThrowWhen(StartProgramTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartProgramTask timeout.#>'); END_IF; IF StartProgramTask.DoneReached() THEN Status.Action.Id := UINT#171; @@ -1462,7 +1473,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); + StopMotorsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); + StopMotorsTask.ThrowWhen(StopMotorsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StopMotorsTask timeout.#>'); END_IF; IF StopMotorsTask.DoneReached() THEN Status.Action.Id := UINT#181; @@ -1532,7 +1545,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(TRUE); + StopMovementsAndProgramTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); + StopMovementsAndProgramTask.ThrowWhen(StopMovementsAndProgramTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StopMovementsAndProgramTask timeout.#>'); END_IF; IF StopMovementsAndProgramTask.DoneReached() THEN Status.Action.Id := UINT#191; @@ -1590,7 +1605,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(TRUE); + StopMovementsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); + StopMovementsTask.ThrowWhen(StopMovementsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StopMovementsTask timeout.#>'); END_IF; IF StopMovementsTask.DoneReached() THEN Status.Action.Id := UINT#201; @@ -1647,7 +1664,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(TRUE); + StopProgramTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); + StopProgramTask.ThrowWhen(StopProgramTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StopProgramTask timeout.#>'); END_IF; IF StopProgramTask.DoneReached() THEN Status.Action.Id := UINT#911; @@ -1738,7 +1757,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(TRUE); + ResetAllOutputsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); + ResetAllOutputsTask.ThrowWhen(ResetAllOutputsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#ResetAllOutputsTask timeout.#>'); END_IF; IF ResetAllOutputsTask.DoneReached() THEN Status.Action.Id := UINT#921; @@ -2016,3 +2037,4 @@ END_NAMESPACE + From 1adbe10c97b7cb012ebdd3f0f82a7f9698abf888 Mon Sep 17 00:00:00 2001 From: "blazej.kuhajda" Date: Wed, 3 Jun 2026 13:45:20 +0200 Subject: [PATCH 05/14] revert krc4 --- .../ctrl/src/AxoKrc4/v_5_x_x/AxoKrc4.st | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/components.kuka.robotics/ctrl/src/AxoKrc4/v_5_x_x/AxoKrc4.st b/src/components.kuka.robotics/ctrl/src/AxoKrc4/v_5_x_x/AxoKrc4.st index fb8eb0975..198e1120a 100644 --- a/src/components.kuka.robotics/ctrl/src/AxoKrc4/v_5_x_x/AxoKrc4.st +++ b/src/components.kuka.robotics/ctrl/src/AxoKrc4/v_5_x_x/AxoKrc4.st @@ -470,7 +470,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); + StartAtMainTask.ThrowWhen(_errorTimer.output ); Status.Action.Id := TO_UINT(_power_progress); + StartAtMainTask.ThrowWhen(StartAtMainTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartAtMainTask timeout.#>'); END_IF; IF StartAtMainTask.DoneReached() THEN Status.Action.Id := UINT#101; @@ -620,7 +622,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); + StartMotorsAndProgramTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); + StartMotorsAndProgramTask.ThrowWhen(StartMotorsAndProgramTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartMotorsAndProgramTask timeout.#>'); END_IF; IF StartMotorsAndProgramTask.DoneReached() THEN Status.Action.Id := UINT#111; @@ -879,7 +883,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(NOT _movementExecuting); + StartMotorsProgramAndMovementsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); + StartMotorsProgramAndMovementsTask.ThrowWhen(StartMotorsProgramAndMovementsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartMotorsProgramAndMovementsTask timeout.#>'); END_IF; IF StartMotorsProgramAndMovementsTask.IsFirstExecutionCycle() THEN MovementParameters := Status.CurrentMovementParameters; @@ -969,6 +975,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); + StartMotorsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); END_IF; IF StartMotorsTask.DoneReached() THEN @@ -1157,7 +1164,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(NOT _movementExecuting); + StartMovementsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_movement_progress); + StartMovementsTask.ThrowWhen(StartMovementsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartMovementsTask timeout.#>'); END_IF; IF StartMovementsTask.IsFirstExecutionCycle() THEN MovementParameters := Status.CurrentMovementParameters; @@ -1309,7 +1318,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); + StartProgramTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); + StartProgramTask.ThrowWhen(StartProgramTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartProgramTask timeout.#>'); END_IF; IF StartProgramTask.DoneReached() THEN Status.Action.Id := UINT#171; @@ -1370,7 +1381,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); + StopMotorsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); + StopMotorsTask.ThrowWhen(StopMotorsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StopMotorsTask timeout.#>'); END_IF; IF StopMotorsTask.DoneReached() THEN Status.Action.Id := UINT#181; @@ -1440,7 +1453,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(TRUE); + StopMovementsAndProgramTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); + StopMovementsAndProgramTask.ThrowWhen(StopMovementsAndProgramTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StopMovementsAndProgramTask timeout.#>'); END_IF; IF StopMovementsAndProgramTask.DoneReached() THEN Status.Action.Id := UINT#191; @@ -1498,7 +1513,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(TRUE); + StopMovementsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); + StopMovementsTask.ThrowWhen(StopMovementsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StopMovementsTask timeout.#>'); END_IF; IF StopMovementsTask.DoneReached() THEN Status.Action.Id := UINT#201; @@ -1555,7 +1572,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(TRUE); + StopProgramTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); + StopProgramTask.ThrowWhen(StopProgramTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StopProgramTask timeout.#>'); END_IF; IF StopProgramTask.DoneReached() THEN Status.Action.Id := UINT#911; @@ -1646,7 +1665,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(TRUE); + ResetAllOutputsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); + ResetAllOutputsTask.ThrowWhen(ResetAllOutputsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#ResetAllOutputsTask timeout.#>'); END_IF; IF ResetAllOutputsTask.DoneReached() THEN Status.Action.Id := UINT#921; From d7744ea5741ae9a1c142819c3a2736ca68fb5c8e Mon Sep 17 00:00:00 2001 From: "blazej.kuhajda" Date: Wed, 3 Jun 2026 14:05:31 +0200 Subject: [PATCH 06/14] error time and time out = 0 --- .../ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st | 16 +++++++++------- .../TypesStructuresAndEnums/AxoKrc5_Config.st | 4 ++-- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st b/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st index cf32fe20e..fdb67d58e 100644 --- a/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st +++ b/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st @@ -459,6 +459,8 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; //**************************************** + _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); + //*************StartAtMainTask************ StartAtMainTask.SetIsDisabled(_stopTasksAreActive); IF StartAtMainTask.StartTriggered() THEN @@ -467,7 +469,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#100,StartAtMainTask.IsBusy(), eAxoMessageCategory#Info); Messenger.ActivateOnCondition(ULINT#101,StartAtMainTask.IsDone(), eAxoMessageCategory#Info); IF StartAtMainTask.Execute(THIS) THEN - _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); + //_blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); IF _power_progress = 0 THEN Status.Error.Id := UINT#0; TaskMessenger.Restore(); @@ -536,7 +538,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#110,StartMotorsAndProgramTask.IsBusy(), eAxoMessageCategory#Info); Messenger.ActivateOnCondition(ULINT#111,StartMotorsAndProgramTask.IsDone(), eAxoMessageCategory#Info); IF StartMotorsAndProgramTask.Execute(THIS) THEN - _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); + //_blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); IF _power_progress = 0 THEN Status.Error.Id := UINT#0; TaskMessenger.Restore(); @@ -690,7 +692,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#120,StartMotorsProgramAndMovementsTask.IsBusy(), eAxoMessageCategory#Info); Messenger.ActivateOnCondition(ULINT#121,StartMotorsProgramAndMovementsTask.IsDone(), eAxoMessageCategory#Info); IF StartMotorsProgramAndMovementsTask.Execute(THIS) THEN - _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); + //_blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); IF _power_progress = 0 THEN Status.Error.Id := UINT#0; @@ -980,7 +982,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#140,StartMotorsTask.IsBusy(), eAxoMessageCategory#Info); Messenger.ActivateOnCondition(ULINT#141,StartMotorsTask.IsDone(), eAxoMessageCategory#Info); IF StartMotorsTask.Execute(THIS) THEN - _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); + //_blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); IF _power_progress = 0 THEN Status.Error.Id := UINT#0; TaskMessenger.Restore(); @@ -1069,7 +1071,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#150,StartMovementsTask.IsBusy(), eAxoMessageCategory#Info); Messenger.ActivateOnCondition(ULINT#151,StartMovementsTask.IsDone(), eAxoMessageCategory#Info); IF StartMovementsTask.Execute(THIS) THEN - _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); + // _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); IF _movement_progress = 0 THEN Status.Error.Id := UINT#0; TaskMessenger.Restore(); @@ -1289,7 +1291,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#170,StartAtMainTask.IsBusy(), eAxoMessageCategory#Info); Messenger.ActivateOnCondition(ULINT#171,StartAtMainTask.IsDone(), eAxoMessageCategory#Info); IF StartProgramTask.Execute(THIS) THEN - _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); + //_blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); IF _power_progress = 0 THEN Status.Error.Id := UINT#0; TaskMessenger.Restore(); @@ -1441,7 +1443,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.ActivateOnCondition(ULINT#180,StartAtMainTask.IsBusy(), eAxoMessageCategory#Info); Messenger.ActivateOnCondition(ULINT#181,StartAtMainTask.IsDone(), eAxoMessageCategory#Info); IF StopMotorsTask.Execute(THIS) THEN - _blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); + //_blink.Blink(Context := _context, inOnTime:=BLINKER_TIME,inOffTime:=BLINKER_TIME); IF _power_progress = 0 THEN Status.Error.Id := UINT#0; diff --git a/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/TypesStructuresAndEnums/AxoKrc5_Config.st b/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/TypesStructuresAndEnums/AxoKrc5_Config.st index bab3bfe4f..374275332 100644 --- a/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/TypesStructuresAndEnums/AxoKrc5_Config.st +++ b/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/TypesStructuresAndEnums/AxoKrc5_Config.st @@ -8,9 +8,9 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x {#ix-set:AttributeName = "<#Info time#>"} InfoTime : LTIME := LT#2S; {#ix-set:AttributeName = "<#Error time#>"} - ErrorTime : LTIME := LT#5S; + ErrorTime : LTIME := LT#0S; {#ix-set:AttributeName = "<#Task timeout#>"} - TaskTimeout : LTIME := LT#50S; + TaskTimeout : LTIME := LT#0S; {#ix-set:AttributeName = "<#Hardware IDs#>"} HWIDs : AxoKrc5_HWIDs; END_VAR From 3feb8593f215774387d46f4f2e0fc0af876714e9 Mon Sep 17 00:00:00 2001 From: "blazej.kuhajda" Date: Wed, 3 Jun 2026 14:22:40 +0200 Subject: [PATCH 07/14] estop signal --- .../ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st | 9 +++++++-- .../v_5_x_x/TypesStructuresAndEnums/AxoKrc5_State.st | 4 ++-- .../AxoKrc5/v_5_x_x/AxoKrc5.cs | 2 ++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st b/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st index fdb67d58e..ded846389 100644 --- a/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st +++ b/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st @@ -311,7 +311,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Inputs.InHome := _data[1].%X0; Inputs.Manual := _data[1].%X1; - Inputs.Automatic := _data[1].%X2; + Inputs.LocalEstopOk := _data[1].%X2; Inputs.ExternalAutomatic := _data[1].%X3; Inputs.ProActive := _data[1].%X4; Inputs.PpMoved := _data[1].%X5; @@ -1795,7 +1795,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x Messenger.Activate(UINT#20001,eAxoMessageCategory#Error); Status.Error.Id := UINT#20001; END_IF; - IF(NOT Inputs.Automatic) THEN + IF(NOT Inputs.ExternalAutomatic) THEN Messenger.Activate(UINT#20002,eAxoMessageCategory#Info); Status.Error.Id := UINT#20002; END_IF; @@ -1813,6 +1813,11 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; END_IF; + IF(NOT Inputs.LocalEstopOk) THEN + Messenger.Activate(UINT#20006,eAxoMessageCategory#Error); + Status.Error.Id := UINT#20006; + END_IF; + //***********UPDATE**OUTPUTS***************** //SYSTEM OUTPUTS _data[0].%X0 := Outputs.ExternalStart; diff --git a/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/TypesStructuresAndEnums/AxoKrc5_State.st b/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/TypesStructuresAndEnums/AxoKrc5_State.st index 1ccd655be..a9c3841a0 100644 --- a/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/TypesStructuresAndEnums/AxoKrc5_State.st +++ b/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/TypesStructuresAndEnums/AxoKrc5_State.st @@ -29,8 +29,8 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x InHome : BOOL; {#ix-set:AttributeName = "<#Manual [T1]#>"} Manual : BOOL; - {#ix-set:AttributeName = "<#Automatic [AUT]#>"} - Automatic : BOOL; + {#ix-set:AttributeName = "<#Local Emergency Stop OK#>"} + LocalEstopOk : BOOL; {#ix-set:AttributeName = "<#ExternalAutomatic [EXT]#>"} ExternalAutomatic : BOOL; {#ix-set:AttributeName = "<#ProcesActive [PRO_ACT]#>"} diff --git a/src/components.kuka.robotics/src/AXOpen.Components.Kuka.Robotics/AxoKrc5/v_5_x_x/AxoKrc5.cs b/src/components.kuka.robotics/src/AXOpen.Components.Kuka.Robotics/AxoKrc5/v_5_x_x/AxoKrc5.cs index 17a32b5d3..ddd968f4c 100644 --- a/src/components.kuka.robotics/src/AXOpen.Components.Kuka.Robotics/AxoKrc5/v_5_x_x/AxoKrc5.cs +++ b/src/components.kuka.robotics/src/AXOpen.Components.Kuka.Robotics/AxoKrc5/v_5_x_x/AxoKrc5.cs @@ -133,6 +133,7 @@ private void InitializeMessenger() new KeyValuePair(20003, new AxoMessengerTextItem("Waiting for signal 'Inputs.AlarmStopActive' to be set!","Check the signal.")), new KeyValuePair(20004, new AxoMessengerTextItem("Waiting for signal 'Inputs.UserSafetySwitchClosed' to be set!","Check the signal.")), new KeyValuePair(20005, new AxoMessengerTextItem("Waiting for signal 'Inputs.Error' to be reseted!","Check the signal.")), + new KeyValuePair(20006, new AxoMessengerTextItem("Waiting for signal 'Inputs.LocalEstopOk' to be set!","Check the signal.")), @@ -378,6 +379,7 @@ public string ErrorDescription errorDescriptionDict.Add(20003, "Waiting for signal 'Inputs.AlarmStopActive' to be set!"); errorDescriptionDict.Add(20004, "Waiting for signal 'Inputs.UserSafetySwitchClosed' to be set!"); errorDescriptionDict.Add(20005, "Waiting for signal 'Inputs.Error' to be reseted!"); + errorDescriptionDict.Add(20006, "Waiting for signal 'Inputs.LocalEstopOk' to be set!"); } string errorDescription = " "; From f9d827fb82d63c07b3503adc01d8e229d71fcc03 Mon Sep 17 00:00:00 2001 From: "blazej.kuhajda" Date: Wed, 3 Jun 2026 14:33:13 +0200 Subject: [PATCH 08/14] view --- .../AxoKrc5/v_5_x_x/AxoKrc5View.razor | 8 ++++---- .../AxoKrc5/v_5_x_x/AxoKrc5View.razor.cs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components.kuka.robotics/src/AXOpen.Components.Kuka.Robotics.blazor/AxoKrc5/v_5_x_x/AxoKrc5View.razor b/src/components.kuka.robotics/src/AXOpen.Components.Kuka.Robotics.blazor/AxoKrc5/v_5_x_x/AxoKrc5View.razor index 1492a0ddf..a441db47f 100644 --- a/src/components.kuka.robotics/src/AXOpen.Components.Kuka.Robotics.blazor/AxoKrc5/v_5_x_x/AxoKrc5View.razor +++ b/src/components.kuka.robotics/src/AXOpen.Components.Kuka.Robotics.blazor/AxoKrc5/v_5_x_x/AxoKrc5View.razor @@ -6,9 +6,9 @@
- @if (Component.Inputs.Automatic.Cyclic) + @if (Component.Inputs.LocalEstopOk.Cyclic) { - @Localizer["Automatic"] + @Localizer["EStop"] } else if (Component.Inputs.ExternalAutomatic.Cyclic) { @@ -236,8 +236,8 @@ @Localizer["Manual"]
- - @Localizer["Automatic"] + + @Localizer["LocalEstopOk"]
diff --git a/src/components.kuka.robotics/src/AXOpen.Components.Kuka.Robotics.blazor/AxoKrc5/v_5_x_x/AxoKrc5View.razor.cs b/src/components.kuka.robotics/src/AXOpen.Components.Kuka.Robotics.blazor/AxoKrc5/v_5_x_x/AxoKrc5View.razor.cs index f66e08a43..9461f81d1 100644 --- a/src/components.kuka.robotics/src/AXOpen.Components.Kuka.Robotics.blazor/AxoKrc5/v_5_x_x/AxoKrc5View.razor.cs +++ b/src/components.kuka.robotics/src/AXOpen.Components.Kuka.Robotics.blazor/AxoKrc5/v_5_x_x/AxoKrc5View.razor.cs @@ -19,7 +19,7 @@ public override void ConfigurePolling() this.StartPolling(Component.Inputs.InHome); this.StartPolling(Component.Inputs.Manual); - this.StartPolling(Component.Inputs.Automatic); + this.StartPolling(Component.Inputs.LocalEstopOk); this.StartPolling(Component.Inputs.ExternalAutomatic); this.StartPolling(Component.Inputs.ProActive); this.StartPolling(Component.Inputs.ProgramMoveActive); From 57fa5bc420c92265c18954099147f3652eee8dd6 Mon Sep 17 00:00:00 2001 From: "blazej.kuhajda" Date: Wed, 3 Jun 2026 15:09:35 +0200 Subject: [PATCH 09/14] comment throwwhen error timer --- .../ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st b/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st index ded846389..603c43eab 100644 --- a/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st +++ b/src/components.kuka.robotics/ctrl/src/AxoKrc5/v_5_x_x/AxoKrc5.st @@ -506,7 +506,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); - StartAtMainTask.ThrowWhen(_errorTimer.output ); + //StartAtMainTask.ThrowWhen(_errorTimer.output ); Status.Action.Id := TO_UINT(_power_progress); StartAtMainTask.ThrowWhen(StartAtMainTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartAtMainTask timeout.#>'); END_IF; @@ -661,7 +661,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); - StartMotorsAndProgramTask.ThrowWhen(_errorTimer.output); + //StartMotorsAndProgramTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); StartMotorsAndProgramTask.ThrowWhen(StartMotorsAndProgramTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartMotorsAndProgramTask timeout.#>'); END_IF; @@ -948,7 +948,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(NOT _movementExecuting); - StartMotorsProgramAndMovementsTask.ThrowWhen(_errorTimer.output); + //StartMotorsProgramAndMovementsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); StartMotorsProgramAndMovementsTask.ThrowWhen(StartMotorsProgramAndMovementsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartMotorsProgramAndMovementsTask timeout.#>'); END_IF; @@ -1041,7 +1041,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); - StartMotorsTask.ThrowWhen(_errorTimer.output); + //StartMotorsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); END_IF; IF StartMotorsTask.DoneReached() THEN @@ -1257,7 +1257,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(NOT _movementExecuting); - StartMovementsTask.ThrowWhen(_errorTimer.output); + //StartMovementsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_movement_progress); StartMovementsTask.ThrowWhen(StartMovementsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartMovementsTask timeout.#>'); END_IF; @@ -1412,7 +1412,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); - StartProgramTask.ThrowWhen(_errorTimer.output); + //StartProgramTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); StartProgramTask.ThrowWhen(StartProgramTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StartProgramTask timeout.#>'); END_IF; @@ -1475,7 +1475,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x END_IF; THIS.CallTimers(TRUE); - StopMotorsTask.ThrowWhen(_errorTimer.output); + //StopMotorsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); StopMotorsTask.ThrowWhen(StopMotorsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StopMotorsTask timeout.#>'); END_IF; @@ -1547,7 +1547,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(TRUE); - StopMovementsAndProgramTask.ThrowWhen(_errorTimer.output); + //StopMovementsAndProgramTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); StopMovementsAndProgramTask.ThrowWhen(StopMovementsAndProgramTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StopMovementsAndProgramTask timeout.#>'); END_IF; @@ -1607,7 +1607,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(TRUE); - StopMovementsTask.ThrowWhen(_errorTimer.output); + //StopMovementsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); StopMovementsTask.ThrowWhen(StopMovementsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StopMovementsTask timeout.#>'); END_IF; @@ -1666,7 +1666,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(TRUE); - StopProgramTask.ThrowWhen(_errorTimer.output); + //StopProgramTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); StopProgramTask.ThrowWhen(StopProgramTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#StopProgramTask timeout.#>'); END_IF; @@ -1759,7 +1759,7 @@ NAMESPACE AXOpen.Components.Kuka.Robotics.v_5_x_x THIS.CallTimers(TRUE); - ResetAllOutputsTask.ThrowWhen(_errorTimer.output); + //ResetAllOutputsTask.ThrowWhen(_errorTimer.output); Status.Action.Id := TO_UINT(_power_progress); ResetAllOutputsTask.ThrowWhen(ResetAllOutputsTask.Duration >= Config.TaskTimeout AND Config.TaskTimeout > T#0s ,'<#ResetAllOutputsTask timeout.#>'); END_IF; From c6f67221064e0bf5032b435682a1223b32e2b121 Mon Sep 17 00:00:00 2001 From: "blazej.kuhajda" Date: Thu, 4 Jun 2026 11:10:49 +0200 Subject: [PATCH 10/14] tuning --- src/core/ctrl/src/AxoTask/AxoTaskLight.st | 1 + .../AxoMessenger/Static/AxoIncidentBarView.razor | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/ctrl/src/AxoTask/AxoTaskLight.st b/src/core/ctrl/src/AxoTask/AxoTaskLight.st index 0cc75ce90..93cd9621f 100644 --- a/src/core/ctrl/src/AxoTask/AxoTaskLight.st +++ b/src/core/ctrl/src/AxoTask/AxoTaskLight.st @@ -361,6 +361,7 @@ NAMESPACE AXOpen.Core IF IsDisabled && (_stateKicking || Status = eAxoTaskState#Busy) THEN THIS.Abort(); + ErrorDetails := 'Aborted - disabled during kicking and busy'; END_IF; diff --git a/src/core/src/AXOpen.Core.Blazor/AxoMessenger/Static/AxoIncidentBarView.razor b/src/core/src/AXOpen.Core.Blazor/AxoMessenger/Static/AxoIncidentBarView.razor index acdf0b7b7..06ef42076 100644 --- a/src/core/src/AXOpen.Core.Blazor/AxoMessenger/Static/AxoIncidentBarView.razor +++ b/src/core/src/AXOpen.Core.Blazor/AxoMessenger/Static/AxoIncidentBarView.razor @@ -18,7 +18,7 @@