diff --git a/solution.sln b/solution.sln
index 725c379..60113c2 100644
--- a/solution.sln
+++ b/solution.sln
@@ -33,6 +33,22 @@ Global
{9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64)
{9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86)
{9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86)
+ {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7)
+ {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7)
+ {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2)
+ {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2)
+ {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64)
+ {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64)
+ {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86)
+ {FB261665-FD20-4BF2-97F8-2854C82B752D}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86)
+ {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7)
+ {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7)
+ {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2)
+ {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2)
+ {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64)
+ {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64)
+ {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86)
+ {FB261665-FD20-4BF2-97F8-2854C82B752D}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86)
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/solution/_Config/NC/Axes/Axis 2.xti b/solution/_Config/NC/Axes/Axis 2.xti
deleted file mode 100644
index 9fb7bf0..0000000
--- a/solution/_Config/NC/Axes/Axis 2.xti
+++ /dev/null
@@ -1,1562 +0,0 @@
-
-
-
-
- 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/PLC/tc_project_app.xti b/solution/_Config/PLC/tc_project_app.xti
index c18c2d8..a4e7439 100644
--- a/solution/_Config/PLC/tc_project_app.xti
+++ b/solution/_Config/PLC/tc_project_app.xti
@@ -1,77 +1,9 @@
-
+
tc_project_app Instance
{08500001-0000-0000-F000-000000000064}
-
- PlcTask Inputs
-
- GVL.astAxes[1].stStatus.nEncoderRawCounter
-
- UDINT
-
-
- GVL.astAxes[1].stStatus.nStepperDriveCounter
-
- UDINT
-
-
- GVL.astAxes[1].stInputs.bLimitFwd
- BOOL
-
-
- GVL.astAxes[1].stInputs.bLimitBwd
- BOOL
-
-
- GVL.astAxes[1].stInputs.bHomeSensor
-
- BOOL
-
-
- 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
-
- GVL.astAxes[1].Axis.PlcToNc
- PLCTONC_AXIS_REF
-
-
- GVL.astAxes[2].Axis.PlcToNc
- PLCTONC_AXIS_REF
-
-
0
diff --git a/solution/tc_project_app/LineIDs.dbg b/solution/tc_project_app/LineIDs.dbg
index be60dce..d28bd26 100644
Binary files a/solution/tc_project_app/LineIDs.dbg and b/solution/tc_project_app/LineIDs.dbg differ
diff --git a/solution/tc_project_app/POUs/MAIN.TcPOU b/solution/tc_project_app/POUs/MAIN.TcPOU
index 64c62f6..4093482 100644
--- a/solution/tc_project_app/POUs/MAIN.TcPOU
+++ b/solution/tc_project_app/POUs/MAIN.TcPOU
@@ -40,14 +40,19 @@ AXES();]]>
IF _TaskInfo[fbGetCurTaskIndex.index].FirstCycle THEN
FOR GVL.iAxis := 1 TO GVL_APP.nAXIS_NUM DO
afbAxes[GVL.iAxis].stAxis REF= astAxes[GVL.iAxis];
- aIAxes[GVL.iAxis] := afbAxes[GVL.iAxis];
+ //aIAxes[GVL.iAxis] := afbAxes[GVL.iAxis];
END_FOR
//Custom axis types defined and linked to aiAxes here
+ //fbCustomAxis extends FB_axis
+ //fbCustomAxis.stAxis REF= astAxes[x];
END_IF
//Execute FB_Axis logic
FOR GVL.iAxis := 1 TO GVL_APP.nAXIS_NUM DO
- aIAxes[GVL.iAxis].Run();
+ afbAxes[GVL.iAxis].Run();
+ //aIAxes[GVL.iAxis].Run();
+ //Run the Run() of the custom axis
+ //fbCustomAxis.Run();
END_FOR
//Execute Pneumatic Axis logic
diff --git a/solution/tc_project_app/tc_mca_std_lib b/solution/tc_project_app/tc_mca_std_lib
index c176846..e2becdb 160000
--- a/solution/tc_project_app/tc_mca_std_lib
+++ b/solution/tc_project_app/tc_mca_std_lib
@@ -1 +1 @@
-Subproject commit c17684688ba488189bc26cd49c221eb0b241fc5f
+Subproject commit e2becdb1a3fbbfde36738eabdf3dcb44937adc71