diff --git a/solution/_Config/NC/Axes/Axis 2.xti b/solution/_Config/NC/Axes/Axis 2.xti
new file mode 100644
index 0000000..9fb7bf0
--- /dev/null
+++ b/solution/_Config/NC/Axes/Axis 2.xti
@@ -0,0 +1,1562 @@
+
+
+
+
+ UINTARR2
+ 32
+ UINT
+
+ 0
+ 2
+
+
+ [%u, %u]
+ [0]
+ [1]
+
+
+ 0x%08x [%u, %u]
+ .
+ [0]
+ [1]
+
+
+ 0x%08x (%u)
+ .
+ .
+
+
+
+ NCENCODERSTRUCT_IN2B
+ 320
+
+ nDataIn1
+ UINTARR2
+ 32
+ 0
+
+
+ nDataIn2
+ UINTARR2
+ 32
+ 32
+
+
+ nState1
+ USINT
+ 8
+ 64
+
+
+ nState2
+ USINT
+ 8
+ 72
+
+
+ nState3
+ USINT
+ 8
+ 80
+
+
+ nState4
+ USINT
+
+ 8
+ 88
+
+
+ nDataIn3
+ UINTARR2
+ 32
+ 96
+
+
+ nDataIn4
+ UINTARR2
+ 32
+ 128
+
+
+ nDataIn5
+ UINTARR2
+ 32
+ 160
+
+
+ nDataIn6
+ UINTARR2
+ 32
+ 192
+
+
+ nState5
+ USINT
+ 8
+ 224
+
+
+ nState6
+ USINT
+ 8
+ 232
+
+
+ nState7
+ USINT
+ 8
+ 240
+
+
+ nState8
+ USINT
+ 8
+ 248
+
+
+ nDcInputTime
+ DINT
+ 32
+ 256
+
+
+ nDataIn7
+ UINTARR2
+
+ 32
+ 288
+
+
+
+ NCENCODERSTRUCT_IN
+
+ 96
+
+
+
+
+
+ NCENCODERSTRUCT_OUT2
+ 320
+
+ nDataOut1
+ UINTARR2
+ 32
+ 0
+
+
+ nDataOut2
+ UINTARR2
+ 32
+ 32
+
+
+ nCtrl1
+ USINT
+ 8
+ 64
+
+
+ nCtrl2
+ USINT
+ 8
+ 72
+
+
+ nCtrl3
+ USINT
+ 8
+ 80
+
+
+ nCtrl4
+ USINT
+ 8
+ 88
+
+
+ nDataOut3
+ UINTARR2
+ 32
+ 96
+
+
+ nDataOut4
+ UINTARR2
+ 32
+ 128
+
+
+ nDataOut5
+ UINTARR2
+ 32
+ 160
+
+
+ nDataOut6
+ UINTARR2
+ 32
+ 192
+
+
+ nCtrl5
+ USINT
+ 8
+ 224
+
+
+ nCtrl6
+ USINT
+ 8
+ 232
+
+
+ nCtrl7
+ USINT
+ 8
+ 240
+
+
+ nCtrl8
+ USINT
+ 8
+ 248
+
+
+
+ NCENCODERSTRUCT_OUT
+
+ 96
+
+
+
+
+
+ NCDRIVESTRUCT_IN2
+ 320
+
+ nDataIn1
+ UINTARR2
+ 32
+ 0
+
+
+ nDataIn2
+ UINTARR2
+ 32
+ 32
+
+
+ nState1
+ USINT
+ 8
+ 64
+
+
+ nState2
+ USINT
+ 8
+ 72
+
+
+ nState3
+ USINT
+ 8
+ 80
+
+
+ nState4
+ USINT
+
+ 8
+ 88
+
+
+ nDataIn3
+ UINTARR2
+ 32
+ 96
+
+
+ nDataIn4
+ UINTARR2
+ 32
+ 128
+
+
+ nDataIn5
+ UINTARR2
+ 32
+ 160
+
+
+ nDataIn6
+ UINTARR2
+ 32
+ 192
+
+
+ nState5
+ USINT
+ 8
+ 224
+
+
+ nState6
+ USINT
+ 8
+ 232
+
+
+ nState7
+ USINT
+ 8
+ 240
+
+
+ nState8
+ USINT
+
+ 8
+ 248
+
+
+ nDcOutputTime
+ DINT
+ 32
+ 256
+
+
+
+ NCDRIVESTRUCT_IN
+
+ 96
+
+
+
+
+
+ NCDRIVESTRUCT_OUT2
+ 320
+
+ nDataOut1
+ UINTARR2
+ 32
+ 0
+
+
+ nDataOut2
+ UINTARR2
+ 32
+ 32
+
+
+ nCtrl1
+ USINT
+ 8
+ 64
+
+
+ nCtrl2
+ USINT
+ 8
+ 72
+
+
+ nCtrl3
+ USINT
+ 8
+ 80
+
+
+ nCtrl4
+ USINT
+ 8
+ 88
+
+
+ nDataOut3
+ UINTARR2
+ 32
+ 96
+
+
+ nDataOut4
+ UINTARR2
+ 32
+ 128
+
+
+ nDataOut5
+ UINTARR2
+ 32
+ 160
+
+
+ nDataOut6
+ UINTARR2
+ 32
+ 192
+
+
+ nCtrl5
+ USINT
+ 8
+ 224
+
+
+ nCtrl6
+ USINT
+ 8
+ 232
+
+
+ nCtrl7
+ USINT
+ 8
+ 240
+
+
+ nCtrl8
+ USINT
+ 8
+ 248
+
+
+
+ NCDRIVESTRUCT_OUT
+
+ 96
+
+
+
+
+
+ PLCTONC_AXIS_REF_CTRL
+ 32
+
+ Enable
+ BIT
+ 1
+ 0
+
+
+ FeedEnablePlus
+ BIT
+ 1
+ 1
+
+
+ FeedEnableMinus
+ BIT
+ 1
+ 2
+
+
+ HomingSensor
+ BIT
+ 1
+ 5
+
+
+ AcceptBlockedDrive
+ BIT
+ 1
+ 8
+
+
+ PlcDebugFlag
+ BIT
+ 1
+ 30
+
+
+ NcDebugFlag
+ BIT
+ 1
+ 31
+
+
+ %08x
+
+
+ 0x%08x
+
+
+ 16#%08X
+
+
+
+ PLCTONC_AXIS_REF
+ 1024
+
+ ControlDWord
+ PLCTONC_AXIS_REF_CTRL
+ 32
+ 0
+
+
+ Override
+ UDINT
+ 32
+ 32
+
+
+ AxisModeRequest
+ UDINT
+ 32
+ 64
+
+
+ AxisModeDWord
+ UDINT
+ 32
+ 96
+
+
+ AxisModeLReal
+ LREAL
+ 64
+ 128
+
+
+ PositionCorrection
+ LREAL
+ 64
+ 192
+
+
+ ExtSetPos
+ LREAL
+ 64
+ 256
+
+
+ ExtSetVelo
+ LREAL
+ 64
+ 320
+
+
+ ExtSetAcc
+ LREAL
+ 64
+ 384
+
+
+ ExtSetDirection
+ DINT
+ 32
+ 448
+
+
+ ExtControllerOutput
+ LREAL
+ 64
+ 512
+
+
+ GearRatio1
+ LREAL
+ 64
+ 576
+
+
+ GearRatio2
+ LREAL
+ 64
+ 640
+
+
+ GearRatio3
+ LREAL
+ 64
+ 704
+
+
+ GearRatio4
+ LREAL
+ 64
+ 768
+
+
+ MapState
+ BOOL
+ 8
+ 832
+
+
+ PlcCycleControl
+ BYTE
+ 8
+ 840
+
+
+ PlcCycleCount
+ BYTE
+ 8
+ 848
+
+
+
+ NcStructType
+ 1
+
+
+
+
+ NCAXLESTRUCT_FROMPLC3
+
+
+
+
+ NCTOPLC_AXIS_REF_STATE
+ 32
+
+ Operational
+ BIT
+ 1
+ 0
+
+
+ Homed
+ BIT
+ 1
+ 1
+
+
+ NotMoving
+ BIT
+ 1
+ 2
+
+
+ InPositionArea
+ BIT
+ 1
+ 3
+
+
+ InTargetPosition
+ BIT
+ 1
+ 4
+
+
+ Protected
+ BIT
+ 1
+ 5
+
+
+ ErrorPropagationDelayed
+ BIT
+ 1
+ 6
+
+
+ HasBeenStopped
+ BIT
+ 1
+ 7
+
+
+ HasJob
+ BIT
+ 1
+ 8
+
+
+ PositiveDirection
+ BIT
+ 1
+ 9
+
+
+ NegativeDirection
+ BIT
+ 1
+ 10
+
+
+ HomingBusy
+ BIT
+ 1
+ 11
+
+
+ ConstantVelocity
+ BIT
+ 1
+ 12
+
+
+ Compensating
+ BIT
+ 1
+ 13
+
+
+ ExtSetPointGenEnabled
+ BIT
+ 1
+ 14
+
+
+ PhasingActive
+ BIT
+ 1
+ 15
+
+
+ ExternalLatchValid
+ BIT
+ 1
+ 16
+
+
+ NewTargetPos
+ BIT
+ 1
+ 17
+
+
+ IsDriveLimitActive
+ BIT
+ 1
+ 18
+
+
+ ContinuousMotion
+ BIT
+ 1
+ 19
+
+
+ ControlLoopClosed
+ BIT
+ 1
+ 20
+
+
+ CamTableQueued
+ BIT
+ 1
+ 21
+
+
+ CamDataQueued
+ BIT
+ 1
+ 22
+
+
+ CamScalingPending
+ BIT
+ 1
+ 23
+
+
+ CmdBuffered
+ BIT
+ 1
+ 24
+
+
+ PTPmode
+ BIT
+ 1
+ 25
+
+
+ SoftLimitMinExceeded
+ BIT
+ 1
+ 26
+
+
+ SoftLimitMaxExceeded
+ BIT
+ 1
+ 27
+
+
+ DriveDeviceError
+ BIT
+ 1
+ 28
+
+
+ MotionCommandsLocked
+ BIT
+ 1
+ 29
+
+
+ IoDataInvalid
+ BIT
+ 1
+ 30
+
+
+ Error
+ BIT
+ 1
+ 31
+
+
+ %08x
+
+
+ 0x%08x
+
+
+ 16#%08X
+
+
+
+ {4C3FC5AC-D5AA-44C6-AC5A-159774BA0F6D}
+
+
+
+
+ NCTOPLC_AXIS_REF_OPMODE
+ 32
+
+ OpModePosAreaMonitoring
+ BIT
+ 1
+ 0
+
+
+ OpModeTargetPosMonitoring
+ BIT
+ 1
+ 1
+
+
+ OpModeLoop
+ BIT
+ 1
+ 2
+
+
+ OpModeMotionMonitoring
+ BIT
+ 1
+ 3
+
+
+ OpModePEHTimeMonitoring
+ BIT
+ 1
+ 4
+
+
+ OpModeBacklashCompensation
+ BIT
+ 1
+ 5
+
+
+ OpModeDelayedErrorReaction
+ BIT
+ 1
+ 6
+
+
+ OpModeModulo
+ BIT
+ 1
+ 7
+
+
+ OpModeSimulationAxis
+ BIT
+ 1
+ 8
+
+
+ OpModeStopMonitoring
+ BIT
+ 1
+ 12
+
+
+ OpModeOutputSmoothingFilter
+ BIT
+ 1
+ 13
+
+
+ OpModePosLagMonitoring
+ BIT
+ 1
+ 16
+
+
+ OpModeVeloLagMonitoring
+ BIT
+ 1
+ 17
+
+
+ OpModeSoftLimitMinMonitoring
+ BIT
+ 1
+ 18
+
+
+ OpModeSoftLimitMaxMonitoring
+ BIT
+ 1
+ 19
+
+
+ OpModePosCorrection
+ BIT
+ 1
+ 20
+
+
+ OpModeAllowSlaveCommands
+ BIT
+ 1
+ 21
+
+
+ OpModeAllowExtSetAxisCommands
+ BIT
+ 1
+ 22
+
+
+ ApplicationRequest
+ BIT
+ 1
+ 23
+
+
+
+ NCTOPLC_AXIS_REF_STATE2_FLAGS
+ 32
+
+ AvoidingCollision
+ BIT
+ 1
+ 0
+
+
+ %08x
+
+
+ 0x%08x
+
+
+ 16#%08X
+
+
+
+ NCTOPLC_AXIS_REF_STATE2
+ 32
+
+ Value
+ DWORD
+ 32
+ 0
+
+
+ Flags
+ NCTOPLC_AXIS_REF_STATE2_FLAGS
+ 32
+ 0
+
+
+ %08x
+
+
+ 0x%08x
+
+
+ 16#%08X
+
+
+
+ NCTOPLC_AXIS_REF_STATE3_FLAGS
+ 32
+
+ TouchProbe1InputState
+ BIT
+ 1
+ 0
+
+
+ TouchProbe2InputState
+ BIT
+ 1
+ 1
+
+
+ %08x
+
+
+ 0x%08x
+
+
+ 16#%08X
+
+
+
+ NCTOPLC_AXIS_REF_STATE3
+ 32
+
+ Value
+ DWORD
+ 32
+ 0
+
+
+ Flags
+ NCTOPLC_AXIS_REF_STATE3_FLAGS
+ 32
+ 0
+
+
+ %08x
+
+
+ 0x%08x
+
+
+ 16#%08X
+
+
+
+ NCTOPLC_AXIS_REF_CAMCOUPLINGSTATE
+ 8
+
+ CamActivationPending
+ BIT
+ 1
+ 0
+
+
+ CamDeactivationPending
+ BIT
+ 1
+ 1
+
+
+ CamActive
+ BIT
+ 1
+ 2
+
+
+ CamDataQueued
+ BIT
+ 1
+ 6
+
+
+ CamScalingPending
+ BIT
+ 1
+ 7
+
+
+
+ UINTARR8
+ 128
+ UINT
+
+ 0
+ 8
+
+
+
+ NCTOPLC_AXIS_REF
+ 2048
+
+ StateDWord
+ NCTOPLC_AXIS_REF_STATE
+ 32
+ 0
+
+
+ ErrorCode
+ UDINT
+ 32
+ 32
+
+
+ AxisState
+ UDINT
+
+ 32
+ 64
+
+
+ AxisModeConfirmation
+ UDINT
+ 32
+ 96
+
+
+ HomingState
+ UDINT
+
+ 32
+ 128
+
+
+ CoupleState
+ UDINT
+
+ 32
+ 160
+
+
+ SvbEntries
+ UDINT
+ 32
+ 192
+
+
+ SafEntries
+ UDINT
+ 32
+ 224
+
+
+ AxisId
+ UDINT
+ 32
+ 256
+
+
+ OpModeDWord
+ NCTOPLC_AXIS_REF_OPMODE
+ 32
+ 288
+
+
+ ActPos
+ LREAL
+ 64
+ 320
+
+
+ ModuloActPos
+ LREAL
+ 64
+ 384
+
+
+ ActiveControlLoopIndex
+ UINT
+ 16
+ 448
+
+
+ ControlLoopIndex
+ UINT
+ 16
+ 464
+
+
+ ModuloActTurns
+ DINT
+ 32
+ 480
+
+
+ ActVelo
+ LREAL
+ 64
+ 512
+
+
+ PosDiff
+ LREAL
+ 64
+ 576
+
+
+ SetPos
+ LREAL
+ 64
+ 640
+
+
+ SetVelo
+ LREAL
+ 64
+ 704
+
+
+ SetAcc
+ LREAL
+ 64
+ 768
+
+
+ TargetPos
+ LREAL
+ 64
+ 832
+
+
+ ModuloSetPos
+ LREAL
+ 64
+ 896
+
+
+ ModuloSetTurns
+ DINT
+ 32
+ 960
+
+
+ CmdNo
+ UINT
+ 16
+ 992
+
+
+ CmdState
+ UINT
+ 16
+ 1008
+
+
+ SetJerk
+ LREAL
+ 64
+ 1024
+
+
+ SetTorque
+ LREAL
+ 64
+ 1088
+
+
+ ActTorque
+ LREAL
+ 64
+ 1152
+
+
+ StateDWord2
+ NCTOPLC_AXIS_REF_STATE2
+ 32
+ 1216
+
+
+ StateDWord3
+ NCTOPLC_AXIS_REF_STATE3
+ 32
+ 1248
+
+
+ TouchProbeState
+ DWORD
+ 32
+ 1280
+
+
+ TouchProbeCounter
+ DWORD
+ 32
+ 1312
+
+
+ CamCouplingState
+ NCTOPLC_AXIS_REF_CAMCOUPLINGSTATE
+
+ 0
+ 8
+
+ 64
+ 1344
+
+
+ CamCouplingTableID
+ UINTARR8
+ 128
+ 1408
+
+
+ ActTorqueDerivative
+ LREAL
+ 64
+ 1536
+
+
+ SetTorqueDerivative
+ LREAL
+ 64
+ 1600
+
+
+ AbsPhasingPos
+ LREAL
+ 64
+ 1664
+
+
+ TorqueOffset
+ LREAL
+ 64
+ 1728
+
+
+ ActPosWithoutPosCorrection
+ LREAL
+ 64
+ 1792
+
+
+ ActAcc
+ LREAL
+ 64
+ 1856
+
+
+ DcTimeStamp
+ UDINT
+ 32
+ 1920
+
+
+
+ NcStructType
+ 2
+
+
+
+
+ NCAXLESTRUCT_TOPLC
+
+
+ NCAXLESTRUCT_TOPLC2
+
+
+ NCAXLESTRUCT_TOPLC3
+
+
+ NCAXLESTRUCT_TOPLC4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ __FILENAME__
+
+
+
+
+
+ Inputs
+
+ In
+ NCENCODERSTRUCT_IN2B
+
+ nDataIn1
+
+
+ nDataIn2
+
+
+ nDataIn3
+
+
+ nDataIn4
+
+
+ nDataIn5
+
+
+ nDataIn6
+
+
+ nDataIn7
+
+
+
+
+
+ Outputs
+
+ Out
+ NCENCODERSTRUCT_OUT2
+
+ nDataOut1
+
+
+ nDataOut2
+
+
+ nDataOut3
+
+
+ nDataOut4
+
+
+ nDataOut5
+
+
+ nDataOut6
+
+
+
+
+
+
+
+
+
+ Inputs
+
+ In
+ NCDRIVESTRUCT_IN2
+
+ nDataIn1
+
+
+ nDataIn2
+
+
+ nDataIn3
+
+
+ nDataIn4
+
+
+ nDataIn5
+
+
+ nDataIn6
+
+
+
+
+ Outputs
+
+ Out
+ NCDRIVESTRUCT_OUT2
+
+ nDataOut1
+
+
+ nDataOut2
+
+
+ nCtrl2
+
+
+
+ nCtrl3
+
+
+
+ nDataOut3
+
+
+ nDataOut4
+
+
+ nDataOut5
+
+
+ nDataOut6
+
+
+
+
+
+
+
+
+
+
+ Inputs
+
+ FromPlc
+ PLCTONC_AXIS_REF
+
+
+
+ Outputs
+
+ ToPlc
+ NCTOPLC_AXIS_REF
+
+
+
+
diff --git a/solution/_Config/NC/NC.xti b/solution/_Config/NC/NC.xti
index 47b0332..4198911 100644
--- a/solution/_Config/NC/NC.xti
+++ b/solution/_Config/NC/NC.xti
@@ -1487,6 +1487,7 @@ External Setpoint Generation:
+
Inputs
@@ -1575,5 +1576,6 @@ External Setpoint Generation:
+
diff --git a/solution/_Config/PLC/tc_project_app.xti b/solution/_Config/PLC/tc_project_app.xti
index d2e45af..407b10e 100644
--- a/solution/_Config/PLC/tc_project_app.xti
+++ b/solution/_Config/PLC/tc_project_app.xti
@@ -965,7 +965,7 @@ External Setpoint Generation:
-
+
tc_project_app Instance
{08500001-0000-0000-F000-000000000064}
@@ -997,6 +997,33 @@ External Setpoint Generation:
GVL.astAxes[1].Axis.NcToPlc
NCTOPLC_AXIS_REF
+
+ GVL.astAxes[2].stStatus.nEncoderRawCounter
+
+ UDINT
+
+
+ GVL.astAxes[2].stStatus.nStepperDriveCounter
+
+ UDINT
+
+
+ GVL.astAxes[2].stInputs.bLimitFwd
+ BOOL
+
+
+ GVL.astAxes[2].stInputs.bLimitBwd
+ BOOL
+
+
+ GVL.astAxes[2].stInputs.bHomeSensor
+
+ BOOL
+
+
+ GVL.astAxes[2].Axis.NcToPlc
+ NCTOPLC_AXIS_REF
+
PlcTask Outputs
@@ -1004,6 +1031,10 @@ External Setpoint Generation:
GVL.astAxes[1].Axis.PlcToNc
PLCTONC_AXIS_REF
+
+ GVL.astAxes[2].Axis.PlcToNc
+ PLCTONC_AXIS_REF
+
@@ -1027,6 +1058,10 @@ External Setpoint Generation:
+
+
+
+
diff --git a/solution/tc_project_app/GVLs/GVL_APP.TcGVL b/solution/tc_project_app/GVLs/GVL_APP.TcGVL
index 981641b..fd47c34 100644
--- a/solution/tc_project_app/GVLs/GVL_APP.TcGVL
+++ b/solution/tc_project_app/GVLs/GVL_APP.TcGVL
@@ -7,7 +7,7 @@ VAR_GLOBAL
END_VAR
VAR_GLOBAL CONSTANT
- nAXIS_NUM: UINT := 1; (*~ (OPC: 1 : available for OPC-clients)(OPC_PROP[0005]: 1 : OPC_PROP_RIGHTS, here read only)*)
+ nAXIS_NUM: UINT := 2; (*~ (OPC: 1 : available for OPC-clients)(OPC_PROP[0005]: 1 : OPC_PROP_RIGHTS, here read only)*)
nPNEUMATIC_AXIS_NUM: UINT := 0;
END_VAR
]]>
diff --git a/solution/tc_project_app/tc_mca_std_lib b/solution/tc_project_app/tc_mca_std_lib
index d038658..a51213c 160000
--- a/solution/tc_project_app/tc_mca_std_lib
+++ b/solution/tc_project_app/tc_mca_std_lib
@@ -1 +1 @@
-Subproject commit d038658aa1ccb02078ee4d3f6074d82b71a21f4d
+Subproject commit a51213ca1368444f4ce1bca951d5d2f2adc8ac5f