diff --git a/lcls-twincat-motion/Library/POUs/Motion/FB_MotionVirtualFrame.TcPOU b/lcls-twincat-motion/Library/POUs/Motion/FB_MotionVirtualFrame.TcPOU index 64e7564..6923f6f 100644 --- a/lcls-twincat-motion/Library/POUs/Motion/FB_MotionVirtualFrame.TcPOU +++ b/lcls-twincat-motion/Library/POUs/Motion/FB_MotionVirtualFrame.TcPOU @@ -3,6 +3,16 @@ = fbVirtActPositionVec3.x THEN - fbVirtTarVelocityVec3.x := stMotionStageVx.fVelocity; - fbVirtTarAcceleraVec3.x := stMotionStageVx.fAcceleration; - ELSE - fbVirtTarVelocityVec3.x := -stMotionStageVx.fVelocity; - fbVirtTarAcceleraVec3.x := -stMotionStageVx.fAcceleration; - END_IF +IF bBaseToNew THEN + RotatePosVelAccFrame( + fbBaseFramePositionVec3 := fbRealActPositionVec3, + fbBaseFrameVelocityVec3 := fbRealActVelocityVec3, + fbBaseFrameAcceleraVec3 := fbRealActAcceleraVec3, + fbNewFramePositionVec3 => fbVirtActPositionVec3, + fbNewFrameVelocityVec3 => fbVirtActVelocityVec3, + fbNewFrameAcceleraVec3 => fbVirtActAcceleraVec3, + fAlphaRadians := fAlphaRadians, + fBetaRadians := fBetaRadians, + fGammaRadians := fGammaRadians, + sOrder := sOrder + ); ELSE - fbVirtTarPositionVec3.x := fbVirtActPositionVec3.x; - fbVirtTarVelocityVec3.x := 0.0; - fbVirtTarAcceleraVec3.x := 0.0; + RotatePosVelAccFrame( + fbBaseFramePositionVec3 := fbRealActPositionVec3, + fbBaseFrameVelocityVec3 := fbRealActVelocityVec3, + fbBaseFrameAcceleraVec3 := fbRealActAcceleraVec3, + fbNewFramePositionVec3 => fbVirtActPositionVec3, + fbNewFrameVelocityVec3 => fbVirtActVelocityVec3, + fbNewFrameAcceleraVec3 => fbVirtActAcceleraVec3, + fAlphaRadians := -fGammaRadians, + fBetaRadians := -fBetaRadians, + fGammaRadians := -fAlphaRadians, + sOrder := sOrderReversed + ); END_IF -IF stMotionStageVy.bBusy THEN - fbVirtTarPositionVec3.y := stMotionStageVy.fPosition; - IF fbVirtTarPositionVec3.y >= fbVirtActPositionVec3.y THEN - fbVirtTarVelocityVec3.y := stMotionStageVy.fVelocity; - fbVirtTarAcceleraVec3.y := stMotionStageVy.fAcceleration; - ELSE - fbVirtTarVelocityVec3.y := -stMotionStageVy.fVelocity; - fbVirtTarAcceleraVec3.y := -stMotionStageVy.fAcceleration; - END_IF -ELSE - fbVirtTarPositionVec3.y := fbVirtActPositionVec3.y; - fbVirtTarVelocityVec3.y := 0.0; - fbVirtTarAcceleraVec3.y := 0.0; -END_IF +SetTargetPosVelAcc3D( + stMotionStageX := stMotionStageVx, + stMotionStageY := stMotionStageVy, + stMotionStageZ := stMotionStageVz, + fbActPosVec3 := fbVirtActPositionVec3, + fbTarPosVec3 => fbVirtTarPositionVec3, + fbTarVelVec3 => fbVirtTarVelocityVec3, + fbTarAccVec3 => fbVirtTarAcceleraVec3 +); -IF stMotionStageVz.bBusy THEN - fbVirtTarPositionVec3.z := stMotionStageVz.fPosition; - IF fbVirtTarPositionVec3.z >= fbVirtActPositionVec3.z THEN - fbVirtTarVelocityVec3.z := stMotionStageVz.fVelocity; - fbVirtTarAcceleraVec3.z := stMotionStageVz.fAcceleration; - ELSE - fbVirtTarVelocityVec3.z := -stMotionStageVz.fVelocity; - fbVirtTarAcceleraVec3.z := -stMotionStageVz.fAcceleration; - END_IF +IF bBaseToNew THEN + RotatePosVelAccFrame( + fbBaseFramePositionVec3 := fbVirtTarPositionVec3, + fbBaseFrameVelocityVec3 := fbVirtTarVelocityVec3, + fbBaseFrameAcceleraVec3 := fbVirtTarAcceleraVec3, + fbNewFramePositionVec3 => fbRealTarPositionVec3, + fbNewFrameVelocityVec3 => fbRealTarVelocityVec3, + fbNewFrameAcceleraVec3 => fbRealTarAcceleraVec3, + fAlphaRadians := -fGammaRadians, + fBetaRadians := -fBetaRadians, + fGammaRadians := -fAlphaRadians, + sOrder := sOrderReversed + ); ELSE - fbVirtTarPositionVec3.z := fbVirtActPositionVec3.z; - fbVirtTarVelocityVec3.z := 0.0; - fbVirtTarAcceleraVec3.z := 0.0; + RotatePosVelAccFrame( + fbBaseFramePositionVec3 := fbVirtTarPositionVec3, + fbBaseFrameVelocityVec3 := fbVirtTarVelocityVec3, + fbBaseFrameAcceleraVec3 := fbVirtTarAcceleraVec3, + fbNewFramePositionVec3 => fbRealTarPositionVec3, + fbNewFrameVelocityVec3 => fbRealTarVelocityVec3, + fbNewFrameAcceleraVec3 => fbRealTarAcceleraVec3, + fAlphaRadians := fAlphaRadians, + fBetaRadians := fBetaRadians, + fGammaRadians := fGammaRadians, + sOrder := sOrder + ); END_IF -sLeft := LEFT(sOrder, 1); -sMid := MID(sOrder, 1, 1); -sRight := RIGHT(sOrder, 1); -sOrderReversed := CONCAT(sRight, CONCAT(sMid, sLeft)); - -fbRealTarPositionVec3 := F_EulerRotateVec3Frame( - iVec3 := fbVirtTarPositionVec3, - fAlphaRadians := -fGammaRadians, - fBetaRadians := -fBetaRadians, - fGammaRadians := -fAlphaRadians, - sOrder := sOrderReversed -); - -fbRealTarVelocityVec3 := F_EulerRotateVec3Frame( - iVec3 := fbVirtTarVelocityVec3, - fAlphaRadians := -fGammaRadians, - fBetaRadians := -fBetaRadians, - fGammaRadians := -fAlphaRadians, - sOrder := sOrderReversed -); - -fbRealTarAcceleraVec3 := F_EulerRotateVec3Frame( - iVec3 := fbVirtTarAcceleraVec3, - fAlphaRadians := -fGammaRadians, - fBetaRadians := -fBetaRadians, - fGammaRadians := -fAlphaRadians, - sOrder := sOrderReversed -); - IF bEnable THEN IF rtExecuteVx.Q OR rtExecuteVy.Q OR rtExecuteVz.Q THEN stMotionStageRx.fPosition := fbRealTarPositionVec3.x; @@ -223,5 +213,174 @@ IF bEnable THEN END_IF ]]> + + + + + + + + + + + + + + + + + + + + + + = fActPos THEN + fTarVel := stMotionStage.fVelocity; + fTarAcc := stMotionStage.fAcceleration; + ELSE + fTarVel := -stMotionStage.fVelocity; + fTarAcc := -stMotionStage.fAcceleration; + END_IF +ELSE + fTarPos := fActPos; + fTarVel := 0.0; + fTarAcc := 0.0; +END_IF +]]> + + + + + + fTarPosX, + fTarVel => fTarVelX, + fTarAcc => fTarAccX +); + +SetTargetPosVelAcc1D( + stMotionStage := stMotionStageY, + fActPos := fbActPosVec3.y, + fTarPos => fTarPosY, + fTarVel => fTarVelY, + fTarAcc => fTarAccY +); + +SetTargetPosVelAcc1D( + stMotionStage := stMotionStageZ, + fActPos := fbActPosVec3.z, + fTarPos => fTarPosZ, + fTarVel => fTarVelZ, + fTarAcc => fTarAccZ +); + +fbTarPosVec3.Set(fTarPosX, fTarPosY, fTarPosZ); +fbTarVelVec3.Set(fTarVelX, fTarVelY, fTarVelZ); +fbTarAccVec3.Set(fTarAccX, fTarAccY, fTarAccZ); +]]> + + \ No newline at end of file diff --git a/lcls-twincat-motion/Library/Tests/FB_MotionVirtualFrame_Test.TcPOU b/lcls-twincat-motion/Library/Tests/FB_MotionVirtualFrame_Test.TcPOU index 13773dc..dc6a3f3 100644 --- a/lcls-twincat-motion/Library/Tests/FB_MotionVirtualFrame_Test.TcPOU +++ b/lcls-twincat-motion/Library/Tests/FB_MotionVirtualFrame_Test.TcPOU @@ -54,6 +54,10 @@ TestEnabled000090XYZMoveVxExpectNoErrorsCorrectPosVelAcc(); TestEnabled009090XYZMoveVxExpectNoErrorsCorrectPosVelAcc(); TestEnabled909090XYZMoveVxExpectNoErrorsCorrectPosVelAcc(); + +TestEnabledN22N21P4XYZMoveVxVyVzExpectNoErrorsCorrectPosVelAcc(); + +TestEnabledN22N21P4XYZMoveVyExpectNoErrorsCorrectPosVelAcc(); ]]> @@ -270,6 +274,8 @@ fbMotorTestSuite.SetEnables(stMotionStage := stMotionStageVx); fbMotorTestSuite.SetEnables(stMotionStage := stMotionStageVy); fbMotorTestSuite.SetEnables(stMotionStage := stMotionStageVz); +SetTar0(); + fbMotionStageSetHelperRx( bExecute := TRUE, fStartPosition := 0.0, @@ -392,6 +398,38 @@ IF fbMotionStageSetHelperRx.bSetDone AND END_IF]]> + + + + + + , fbVirtActVelocityVec3 => , fbVirtActAcceleraVec3 => @@ -448,7 +487,7 @@ IF stMotionStageVx.bBusy THEN bBusyReached := TRUE; END_IF -IF bBusyReached AND NOT stMotionStageRx.bBusy THEN +IF bBusyReached AND NOT stMotionStageVx.bBusy THEN bComplete := TRUE; END_IF @@ -534,9 +573,9 @@ IF NOT bInit THEN END_IF IF bInit THEN - stMotionStageVx.fPosition := 15.0 + INT_TO_LREAL(nTestIDAssigner) * 5.0; - stMotionStageVx.fVelocity := 10.0 + INT_TO_LREAL(nTestIDAssigner) * 1.0; - stMotionStageVx.fAcceleration := 50.0 + INT_TO_LREAL(nTestIDAssigner) * 10.0; + stMotionStageVx.fPosition := 20.0; + stMotionStageVx.fVelocity := stMotionStageVx.fPosition * 2.0 / 3.0; + stMotionStageVx.fAcceleration := stMotionStageVx.fVelocity * 5.0; rtMoveCmdOnce(CLK := TRUE); stMotionStageVx.bMoveCmd := rtMoveCmdOnce.Q; END_IF @@ -553,6 +592,7 @@ fbMotionVirtualFrame( fBetaDegrees := 0.0, fGammaDegrees := 90.0, sOrder := 'XYZ', + bBaseToNew := TRUE, fbVirtActPositionVec3 => , fbVirtActVelocityVec3 => , fbVirtActAcceleraVec3 => @@ -562,7 +602,7 @@ IF stMotionStageVx.bBusy THEN bBusyReached := TRUE; END_IF -IF bBusyReached AND NOT stMotionStageRx.bBusy THEN +IF bBusyReached AND NOT stMotionStageVx.bBusy THEN bComplete := TRUE; END_IF @@ -648,9 +688,9 @@ IF NOT bInit THEN END_IF IF bInit THEN - stMotionStageVx.fPosition := 15.0 + INT_TO_LREAL(nTestIDAssigner) * 5.0; - stMotionStageVx.fVelocity := 10.0 + INT_TO_LREAL(nTestIDAssigner) * 1.0; - stMotionStageVx.fAcceleration := 50.0 + INT_TO_LREAL(nTestIDAssigner) * 10.0; + stMotionStageVx.fPosition := 25.0; + stMotionStageVx.fVelocity := stMotionStageVx.fPosition * 2.0 / 3.0; + stMotionStageVx.fAcceleration := stMotionStageVx.fVelocity * 5.0; rtMoveCmdOnce(CLK := TRUE); stMotionStageVx.bMoveCmd := rtMoveCmdOnce.Q; END_IF @@ -667,6 +707,7 @@ fbMotionVirtualFrame( fBetaDegrees := 90.0, fGammaDegrees := 90.0, sOrder := 'XYZ', + bBaseToNew := TRUE, fbVirtActPositionVec3 => , fbVirtActVelocityVec3 => , fbVirtActAcceleraVec3 => @@ -676,7 +717,7 @@ IF stMotionStageVx.bBusy THEN bBusyReached := TRUE; END_IF -IF bBusyReached AND NOT stMotionStageRx.bBusy THEN +IF bBusyReached AND NOT stMotionStageVx.bBusy THEN bComplete := TRUE; END_IF @@ -762,9 +803,9 @@ IF NOT bInit THEN END_IF IF bInit THEN - stMotionStageVx.fPosition := 15.0 + INT_TO_LREAL(nTestIDAssigner) * 5.0; - stMotionStageVx.fVelocity := 10.0 + INT_TO_LREAL(nTestIDAssigner) * 1.0; - stMotionStageVx.fAcceleration := 50.0 + INT_TO_LREAL(nTestIDAssigner) * 10.0; + stMotionStageVx.fPosition := 35.0; + stMotionStageVx.fVelocity := stMotionStageVx.fPosition * 2.0 / 3.0; + stMotionStageVx.fAcceleration := stMotionStageVx.fVelocity * 5.0; rtMoveCmdOnce(CLK := TRUE); stMotionStageVx.bMoveCmd := rtMoveCmdOnce.Q; END_IF @@ -781,6 +822,7 @@ fbMotionVirtualFrame( fBetaDegrees := 90.0, fGammaDegrees := 90.0, sOrder := 'XYZ', + bBaseToNew := TRUE, fbVirtActPositionVec3 => , fbVirtActVelocityVec3 => , fbVirtActAcceleraVec3 => @@ -790,7 +832,7 @@ IF stMotionStageVx.bBusy THEN bBusyReached := TRUE; END_IF -IF bBusyReached AND NOT stMotionStageRx.bBusy THEN +IF bBusyReached AND NOT stMotionStageVx.bBusy THEN bComplete := TRUE; END_IF @@ -842,6 +884,247 @@ fbMotionStageVx(stMotionStage := stMotionStageVx); fbMotionStageVy(stMotionStage := stMotionStageVy); fbMotionStageVz(stMotionStage := stMotionStageVz); +nPositionCountsVx := LREAL_TO_UDINT((fbMotionVirtualFrame.fbVirtActPositionVec3.x + 100.0) * 1e6); +nPositionCountsVy := LREAL_TO_UDINT((fbMotionVirtualFrame.fbVirtActPositionVec3.y + 100.0) * 1e6); +nPositionCountsVz := LREAL_TO_UDINT((fbMotionVirtualFrame.fbVirtActPositionVec3.z + 100.0) * 1e6); +]]> + + + + + + nTestIDAssigner OR NOT tonStart.Q THEN + RETURN; +END_IF + +tonTimeout(IN := TRUE, PT := T#3s); + +IF NOT bInit THEN + bInit := InitMotors(); +END_IF + +IF bInit THEN + rtMoveCmdOnce(CLK := TRUE); + + stMotionStageVx.fPosition := 15.0; + stMotionStageVx.fVelocity := stMotionStageVx.fPosition * 2.0 / 3.0; + stMotionStageVx.fAcceleration := stMotionStageVx.fVelocity * 5.0; + stMotionStageVx.bMoveCmd := rtMoveCmdOnce.Q; + + stMotionStageVy.fPosition := -30.0; + stMotionStageVy.fVelocity := ABS(stMotionStageVy.fPosition * 2.0 / 3.0); + stMotionStageVy.fAcceleration := ABS(stMotionStageVy.fVelocity * 5.0); + stMotionStageVy.bMoveCmd := rtMoveCmdOnce.Q; + + stMotionStageVz.fPosition := 45.0; + stMotionStageVz.fVelocity := stMotionStageVz.fPosition * 2.0 / 3.0; + stMotionStageVz.fAcceleration := stMotionStageVz.fVelocity * 5.0; + stMotionStageVz.bMoveCmd := rtMoveCmdOnce.Q; +END_IF + +fbMotionVirtualFrame( + stMotionStageRx := stMotionStageRx, + stMotionStageRy := stMotionStageRy, + stMotionStageRz := stMotionStageRz, + stMotionStageVx := stMotionStageVx, + stMotionStageVy := stMotionStageVy, + stMotionStageVz := stMotionStageVz, + bEnable := TRUE, + fAlphaDegrees := -22.21, + fBetaDegrees := -20.7, + fGammaDegrees := 3.793, + sOrder := 'XYZ', + bBaseToNew := FALSE, + fbVirtActPositionVec3 => , + fbVirtActVelocityVec3 => , + fbVirtActAcceleraVec3 => +); + +IF stMotionStageVx.bBusy AND stMotionStageVy.bBusy AND stMotionStageVz.bBusy THEN + bBusyReached := TRUE; +END_IF + +IF bBusyReached AND NOT stMotionStageVx.bBusy AND NOT stMotionStageVy.bBusy AND NOT stMotionStageVz.bBusy THEN + bComplete := TRUE; +END_IF + +IF (bComplete AND + NOT stMotionStageVx.bBusy AND + NOT stMotionStageVy.bBusy AND + NOT stMotionStageVz.bBusy AND + NOT stMotionStageRx.bBusy AND + NOT stMotionStageRy.bBusy AND + NOT stMotionStageRz.bBusy) + OR tonTimeout.Q THEN + + AssertNoErrors(); + + AssertPosVelAccCorrect( + fDelta := fDelta, + fRxPosExpected := 21.732640182123049, + fRyPosExpected := -46.323371856381527, + fRzPosExpected := 23.061603816078627, + fVxPosExpected := stMotionStageVx.fPosition, + fVyPosExpected := stMotionStageVy.fPosition, + fVzPosExpected := stMotionStageVz.fPosition, + fRxVelExpected := 14.488426788082032, + fRyVelExpected := 30.882247904254346, + fRzVelExpected := 15.374402544052412, + fVxVelExpected := stMotionStageVx.fVelocity, + fVyVelExpected := stMotionStageVy.fVelocity, + fVzVelExpected := stMotionStageVz.fVelocity, + fRxAccExpected := 0.724421339404102 * 1e2, + fRyAccExpected := 1.544112395212718 * 1e2, + fRzAccExpected := 0.768720127202621 * 1e2, + fVxAccExpected := stMotionStageVx.fAcceleration, + fVyAccExpected := stMotionStageVy.fAcceleration, + fVzAccExpected := stMotionStageVz.fAcceleration + ); + + TEST_FINISHED(); + + tonTimeout(IN := FALSE); + + nTestID := nTestID + 1; +END_IF + +fbMotionStageRx(stMotionStage := stMotionStageRx); +fbMotionStageRy(stMotionStage := stMotionStageRy); +fbMotionStageRz(stMotionStage := stMotionStageRz); + +fbMotionStageVx(stMotionStage := stMotionStageVx); +fbMotionStageVy(stMotionStage := stMotionStageVy); +fbMotionStageVz(stMotionStage := stMotionStageVz); + +nPositionCountsVx := LREAL_TO_UDINT((fbMotionVirtualFrame.fbVirtActPositionVec3.x + 100.0) * 1e6); +nPositionCountsVy := LREAL_TO_UDINT((fbMotionVirtualFrame.fbVirtActPositionVec3.y + 100.0) * 1e6); +nPositionCountsVz := LREAL_TO_UDINT((fbMotionVirtualFrame.fbVirtActPositionVec3.z + 100.0) * 1e6); +]]> + + + + + + nTestIDAssigner OR NOT tonStart.Q THEN + RETURN; +END_IF + +tonTimeout(IN := TRUE, PT := T#3s); + +IF NOT bInit THEN + bInit := InitMotors(); +END_IF + +IF bInit THEN + stMotionStageVy.fPosition := 30.0; + stMotionStageVy.fVelocity := stMotionStageVy.fPosition * 2.0 / 3.0; + stMotionStageVy.fAcceleration := stMotionStageVy.fVelocity * 5.0; + rtMoveCmdOnce(CLK := TRUE); + stMotionStageVy.bMoveCmd := rtMoveCmdOnce.Q; +END_IF + +fbMotionVirtualFrame( + stMotionStageRx := stMotionStageRx, + stMotionStageRy := stMotionStageRy, + stMotionStageRz := stMotionStageRz, + stMotionStageVx := stMotionStageVx, + stMotionStageVy := stMotionStageVy, + stMotionStageVz := stMotionStageVz, + bEnable := TRUE, + fAlphaDegrees := -22.21, + fBetaDegrees := -20.7, + fGammaDegrees := 3.793, + sOrder := 'XYZ', + bBaseToNew := FALSE, + fbVirtActPositionVec3 => , + fbVirtActVelocityVec3 => , + fbVirtActAcceleraVec3 => +); + +IF stMotionStageVy.bBusy THEN + bBusyReached := TRUE; +END_IF + +IF bBusyReached AND NOT stMotionStageVy.bBusy THEN + bComplete := TRUE; +END_IF + +IF (bComplete AND + NOT stMotionStageVx.bBusy AND + NOT stMotionStageVy.bBusy AND + NOT stMotionStageVz.bBusy AND + NOT stMotionStageRx.bBusy AND + NOT stMotionStageRy.bBusy AND + NOT stMotionStageRz.bBusy) + OR tonTimeout.Q THEN + + AssertNoErrors(); + + AssertPosVelAccCorrect( + fDelta := fDelta, + fRxPosExpected := 5.836964390001455, + fRyPosExpected := 27.448135465863341, + fRzPosExpected := 10.608001987060069, + fVxPosExpected := 0.0, + fVyPosExpected := stMotionStageVy.fPosition, + fVzPosExpected := 0.0, + fRxVelExpected := 5.836964390001455 * 2.0 / 3.0, + fRyVelExpected := 27.448135465863341 * 2.0 / 3.0, + fRzVelExpected := 10.608001987060069 * 2.0 / 3.0, + fVxVelExpected := 0.0, + fVyVelExpected := stMotionStageVy.fVelocity, + fVzVelExpected := 0.0, + fRxAccExpected := 5.836964390001455 * 2.0 / 3.0 * 5.0, + fRyAccExpected := 27.448135465863341 * 2.0 / 3.0 * 5.0, + fRzAccExpected := 10.608001987060069 * 2.0 / 3.0 * 5.0, + fVxAccExpected := 0.0, + fVyAccExpected := stMotionStageVy.fAcceleration, + fVzAccExpected := 0.0 + ); + + TEST_FINISHED(); + + tonTimeout(IN := FALSE); + + nTestID := nTestID + 1; +END_IF + +fbMotionStageRx(stMotionStage := stMotionStageRx); +fbMotionStageRy(stMotionStage := stMotionStageRy); +fbMotionStageRz(stMotionStage := stMotionStageRz); + +fbMotionStageVx(stMotionStage := stMotionStageVx); +fbMotionStageVy(stMotionStage := stMotionStageVy); +fbMotionStageVz(stMotionStage := stMotionStageVz); + nPositionCountsVx := LREAL_TO_UDINT((fbMotionVirtualFrame.fbVirtActPositionVec3.x + 100.0) * 1e6); nPositionCountsVy := LREAL_TO_UDINT((fbMotionVirtualFrame.fbVirtActPositionVec3.y + 100.0) * 1e6); nPositionCountsVz := LREAL_TO_UDINT((fbMotionVirtualFrame.fbVirtActPositionVec3.z + 100.0) * 1e6); diff --git a/lcls-twincat-motion/_Config/PLC/Library.xti b/lcls-twincat-motion/_Config/PLC/Library.xti index e028fbe..5f36fae 100644 --- a/lcls-twincat-motion/_Config/PLC/Library.xti +++ b/lcls-twincat-motion/_Config/PLC/Library.xti @@ -983,7 +983,7 @@ External Setpoint Generation: - + Library Instance {08500001-0000-0000-F000-000000000064} @@ -1451,105 +1451,105 @@ External Setpoint Generation: PLCTONC_AXIS_REF - PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4234__TestAbove_4247__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4259__TestAbove_4272__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4234__TestAt_4248__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4259__TestAt_4273__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4234__TestBelow_4249__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4259__TestBelow_4274__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4234__TestBoundsAfterFallingIntoUnknownState_4250__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4259__TestBoundsAfterFallingIntoUnknownState_4275__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4234__TestDisabled_4251__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4259__TestDisabled_4276__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4234__TestInvalid_4252__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4259__TestInvalid_4277__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4234__TestLimits_4253__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4259__TestLimits_4278__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4234__TestMoveAt_4254__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4259__TestMoveAt_4279__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4234__TestMoveTo_4255__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4259__TestMoveTo_4280__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4234__TestNotUpdated_4256__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_StatePMPSEnables_Test.FB_StatePMPSEnables_Test_4259__TestNotUpdated_4281__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[1].Axis.PlcToNc + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[1].Axis.PlcToNc PLCTONC_AXIS_REF - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[1].bBrakeRelease + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[1].bBrakeRelease BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[2].Axis.PlcToNc + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[2].Axis.PlcToNc PLCTONC_AXIS_REF - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[2].bBrakeRelease + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[2].bBrakeRelease BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[3].Axis.PlcToNc + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[3].Axis.PlcToNc PLCTONC_AXIS_REF - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[3].bBrakeRelease + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[3].bBrakeRelease BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[1].Axis.PlcToNc + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[1].Axis.PlcToNc PLCTONC_AXIS_REF - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[1].bBrakeRelease + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[1].bBrakeRelease BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[2].Axis.PlcToNc + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[2].Axis.PlcToNc PLCTONC_AXIS_REF - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[2].bBrakeRelease + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[2].bBrakeRelease BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[3].Axis.PlcToNc + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[3].Axis.PlcToNc PLCTONC_AXIS_REF - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[3].bBrakeRelease + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[3].bBrakeRelease BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__fbFFHWO.q_xFastFaultOut BOOL @@ -1580,15 +1580,15 @@ External Setpoint Generation: BOOL - PRG_TEST.fb_StatePMPSEnablesND_Test.FB_StatePMPSEnablesND_Test_4306__TestCount_4319__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_StatePMPSEnablesND_Test.FB_StatePMPSEnablesND_Test_4331__TestCount_4344__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_StatePMPSEnablesND_Test.FB_StatePMPSEnablesND_Test_4306__TestMaint_4320__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_StatePMPSEnablesND_Test.FB_StatePMPSEnablesND_Test_4331__TestMaint_4345__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_StatePMPSEnablesND_Test.FB_StatePMPSEnablesND_Test_4306__TestUnderOverGoals_4321__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_StatePMPSEnablesND_Test.FB_StatePMPSEnablesND_Test_4331__TestUnderOverGoals_4346__fbFFHWO.q_xFastFaultOut BOOL @@ -1712,27 +1712,27 @@ External Setpoint Generation: BOOL - PRG_TEST.fb_PositionStatePMPSND_Test.FB_PositionStatePMPSND_Test_4338__Test1D_4352__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_PositionStatePMPSND_Test.FB_PositionStatePMPSND_Test_4363__Test1D_4377__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_PositionStatePMPSND_Test.FB_PositionStatePMPSND_Test_4338__Test2D_4353__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_PositionStatePMPSND_Test.FB_PositionStatePMPSND_Test_4363__Test2D_4378__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_PositionStatePMPSND_Test.FB_PositionStatePMPSND_Test_4338__Test3D_4354__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_PositionStatePMPSND_Test.FB_PositionStatePMPSND_Test_4363__Test3D_4379__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_PositionStatePMPSND_Test.FB_PositionStatePMPSND_Test_4338__TestStartup1D_4355__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_PositionStatePMPSND_Test.FB_PositionStatePMPSND_Test_4363__TestStartup1D_4380__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_PositionStatePMPSND_Test.FB_PositionStatePMPSND_Test_4338__TestStartup2D_4356__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_PositionStatePMPSND_Test.FB_PositionStatePMPSND_Test_4363__TestStartup2D_4381__fbFFHWO.q_xFastFaultOut BOOL - PRG_TEST.fb_PositionStatePMPSND_Test.FB_PositionStatePMPSND_Test_4338__TestStartup3D_4357__fbFFHWO.q_xFastFaultOut + PRG_TEST.fb_PositionStatePMPSND_Test.FB_PositionStatePMPSND_Test_4363__TestStartup3D_4382__fbFFHWO.q_xFastFaultOut BOOL @@ -1749,29 +1749,29 @@ External Setpoint Generation: PLCTONC_AXIS_REF - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[1].Axis.PlcToNc + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[1].Axis.PlcToNc PLCTONC_AXIS_REF - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[1].bBrakeRelease + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[1].bBrakeRelease BOOL - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[2].Axis.PlcToNc + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[2].Axis.PlcToNc PLCTONC_AXIS_REF - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[2].bBrakeRelease + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[2].bBrakeRelease BOOL - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[3].Axis.PlcToNc + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[3].Axis.PlcToNc PLCTONC_AXIS_REF - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[3].bBrakeRelease + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[3].bBrakeRelease BOOL @@ -3267,236 +3267,236 @@ External Setpoint Generation: NCTOPLC_AXIS_REF - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[1].Axis.NcToPlc + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[1].Axis.NcToPlc NCTOPLC_AXIS_REF - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[1].bLimitForwardEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[1].bLimitForwardEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[1].bLimitBackwardEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[1].bLimitBackwardEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[1].bHome + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[1].bHome BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[1].bHardwareEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[1].bHardwareEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[1].nRawEncoderULINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[1].nRawEncoderULINT ULINT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[1].nRawEncoderUINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[1].nRawEncoderUINT UINT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[1].nRawEncoderINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[1].nRawEncoderINT INT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[2].Axis.NcToPlc + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[2].Axis.NcToPlc NCTOPLC_AXIS_REF - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[2].bLimitForwardEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[2].bLimitForwardEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[2].bLimitBackwardEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[2].bLimitBackwardEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[2].bHome + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[2].bHome BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[2].bHardwareEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[2].bHardwareEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[2].nRawEncoderULINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[2].nRawEncoderULINT ULINT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[2].nRawEncoderUINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[2].nRawEncoderUINT UINT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[2].nRawEncoderINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[2].nRawEncoderINT INT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[3].Axis.NcToPlc + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[3].Axis.NcToPlc NCTOPLC_AXIS_REF - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[3].bLimitForwardEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[3].bLimitForwardEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[3].bLimitBackwardEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[3].bLimitBackwardEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[3].bHome + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[3].bHome BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[3].bHardwareEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[3].bHardwareEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[3].nRawEncoderULINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[3].nRawEncoderULINT ULINT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[3].nRawEncoderUINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[3].nRawEncoderUINT UINT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestBlankCount_4288__astMotionStage[3].nRawEncoderINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestBlankCount_4313__astMotionStage[3].nRawEncoderINT INT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[1].Axis.NcToPlc + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[1].Axis.NcToPlc NCTOPLC_AXIS_REF - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[1].bLimitForwardEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[1].bLimitForwardEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[1].bLimitBackwardEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[1].bLimitBackwardEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[1].bHome + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[1].bHome BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[1].bHardwareEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[1].bHardwareEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[1].nRawEncoderULINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[1].nRawEncoderULINT ULINT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[1].nRawEncoderUINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[1].nRawEncoderUINT UINT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[1].nRawEncoderINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[1].nRawEncoderINT INT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[2].Axis.NcToPlc + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[2].Axis.NcToPlc NCTOPLC_AXIS_REF - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[2].bLimitForwardEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[2].bLimitForwardEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[2].bLimitBackwardEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[2].bLimitBackwardEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[2].bHome + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[2].bHome BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[2].bHardwareEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[2].bHardwareEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[2].nRawEncoderULINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[2].nRawEncoderULINT ULINT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[2].nRawEncoderUINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[2].nRawEncoderUINT UINT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[2].nRawEncoderINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[2].nRawEncoderINT INT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[3].Axis.NcToPlc + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[3].Axis.NcToPlc NCTOPLC_AXIS_REF - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[3].bLimitForwardEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[3].bLimitForwardEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[3].bLimitBackwardEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[3].bLimitBackwardEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[3].bHome + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[3].bHome BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[3].bHardwareEnable + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[3].bHardwareEnable BOOL - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[3].nRawEncoderULINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[3].nRawEncoderULINT ULINT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[3].nRawEncoderUINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[3].nRawEncoderUINT UINT - PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4275__TestTwoMotorEncError_4289__astMotionStage[3].nRawEncoderINT + PRG_TEST.fb_PerMotorFFOND_Test.FB_PerMotorFFOND_Test_4300__TestTwoMotorEncError_4314__astMotionStage[3].nRawEncoderINT INT @@ -4141,119 +4141,119 @@ External Setpoint Generation: NCTOPLC_AXIS_REF - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[1].Axis.NcToPlc + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[1].Axis.NcToPlc NCTOPLC_AXIS_REF - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[1].bLimitForwardEnable + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[1].bLimitForwardEnable BOOL - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[1].bLimitBackwardEnable + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[1].bLimitBackwardEnable BOOL - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[1].bHome + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[1].bHome BOOL - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[1].bHardwareEnable + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[1].bHardwareEnable BOOL - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[1].nRawEncoderULINT + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[1].nRawEncoderULINT ULINT - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[1].nRawEncoderUINT + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[1].nRawEncoderUINT UINT - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[1].nRawEncoderINT + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[1].nRawEncoderINT INT - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[2].Axis.NcToPlc + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[2].Axis.NcToPlc NCTOPLC_AXIS_REF - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[2].bLimitForwardEnable + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[2].bLimitForwardEnable BOOL - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[2].bLimitBackwardEnable + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[2].bLimitBackwardEnable BOOL - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[2].bHome + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[2].bHome BOOL - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[2].bHardwareEnable + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[2].bHardwareEnable BOOL - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[2].nRawEncoderULINT + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[2].nRawEncoderULINT ULINT - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[2].nRawEncoderUINT + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[2].nRawEncoderUINT UINT - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[2].nRawEncoderINT + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[2].nRawEncoderINT INT - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[3].Axis.NcToPlc + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[3].Axis.NcToPlc NCTOPLC_AXIS_REF - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[3].bLimitForwardEnable + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[3].bLimitForwardEnable BOOL - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[3].bLimitBackwardEnable + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[3].bLimitBackwardEnable BOOL - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[3].bHome + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[3].bHome BOOL - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[3].bHardwareEnable + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[3].bHardwareEnable BOOL - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[3].nRawEncoderULINT + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[3].nRawEncoderULINT ULINT - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[3].nRawEncoderUINT + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[3].nRawEncoderUINT UINT - PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4465__PassiveReinit_4478__astMotionStageMax[3].nRawEncoderINT + PRG_TEST.fb_TestStateInitTiming.FB_TestStateInitTiming_4490__PassiveReinit_4503__astMotionStageMax[3].nRawEncoderINT INT