@@ -70,13 +70,13 @@ NAMESPACE Simatic.Ax.Actuators
7070 // MoveToWorkPosition
7171 // ##############################################
7272 ActuatorState #MoveToWorkPosition:
73- IF (THIS .StateHasChanged ()) THEN
73+ IF (THIS .StateHasChanged () AND NOT (_isInWorkPos) ) THEN
7474 Q_ToHomePosition .Reset ();
7575 Q_ToWorkPosition .Set ();
7676 Q_ToWorkPosition2 .Reset ();
7777 I_InWorkPosition .StartMonitoring ();
7878 END_IF ;
79- IF (I_InWorkPosition . IsActivated () ) THEN
79+ IF (_isInWorkPos ) THEN
8080 Q_ToWorkPosition .Hold ();
8181 THIS .SetDone ();
8282 THIS .ChangeState (ActuatorState #InWorkPosition );
@@ -93,13 +93,13 @@ NAMESPACE Simatic.Ax.Actuators
9393 // MoveToWorkPosition
9494 // ##############################################
9595 ActuatorState #MoveToWorkPosition2:
96- IF (THIS .StateHasChanged ()) THEN
96+ IF (THIS .StateHasChanged () AND NOT (_isInWorkPos2) ) THEN
9797 Q_ToHomePosition .Reset ();
9898 Q_ToWorkPosition .Reset ();
9999 Q_ToWorkPosition2 .Set ();
100100 I_InWorkPosition2 .StartMonitoring ();
101101 END_IF ;
102- IF (I_InWorkPosition2 . IsActivated () ) THEN
102+ IF (_isInWorkPos2 ) THEN
103103 Q_ToWorkPosition2 .Hold ();
104104 THIS .SetDone ();
105105 THIS .ChangeState (ActuatorState #InWorkPosition2 );
@@ -115,13 +115,13 @@ NAMESPACE Simatic.Ax.Actuators
115115 // Move to home position
116116 // ##############################################
117117 ActuatorState #MoveToHomePosition:
118- IF (THIS .StateHasChanged ()) THEN
118+ IF (THIS .StateHasChanged () AND NOT (_isInHomePos) ) THEN
119119 Q_ToHomePosition .Set ();
120120 Q_ToWorkPosition .Reset ();
121121 Q_ToWorkPosition2 .Reset ();
122122 I_InHomePosition .StartMonitoring ();
123123 END_IF ;
124- IF (I_InHomePosition . IsActivated () ) THEN
124+ IF (_isInHomePos ) THEN
125125 Q_ToHomePosition .Hold ();
126126 THIS .SetDone ();
127127 THIS .ChangeState (ActuatorState #InHomePosition );
0 commit comments