Files
Motion_test/tash show
[Luke Nisbet] aeb84c2a7a Ticket READY FOR REVIEW
The functionality is esentially thhe same as the lasat commit
but it has now been changed to fit into the current framework
a little better by making fbWriteParameters only run when called.
2020-03-04 09:52:22 +00:00

117 KiB

commit bf64da273b5d33918c3e238409a3e550ec219687 (HEAD -> mbp-100-read-write-axis-parameters, origin/mbp-100-read-write-axis-parameters)
Author: [Luke Nisbet] <[Luke.nisbet@STFC.ac.uk]>
Date: Thu Feb 6 13:38:32 2020 +0000
 
Ticket compleated to original specification
 
The code can read and write all possible PLC Open and Beckhoff
axis parameters it uses the MC_ReadParameter and MC_WriteParameter
function block within FB_Axis. Errors are passed out to the error
handling and it is possible to control it all through MainVisu.
 
diff --git a/solution.sln b/solution.sln
index 9459e68..4dccbdf 100644
--- a/solution.sln
+++ b/solution.sln
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.21005.1
+# TcXaeShell Solution File, Format Version 11.00
+VisualStudioVersion = 15.0.28010.2050
MinimumVisualStudioVersion = 10.0.40219.1
Project("{B1E792BE-AA5F-4E3C-8C82-674BF9C0715B}") = "solution", "solution\solution.tsproj", "{9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}"
EndProject
@@ -33,22 +33,6 @@ 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)
- {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7)
- {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7)
- {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2)
- {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2)
- {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64)
- {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64)
- {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86)
- {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86)
- {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7)
- {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7)
- {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2)
- {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2)
- {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64)
- {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64)
- {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86)
- {F935F1DE-0753-4702-B418-1DC0ED040A4D}.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)
@@ -65,8 +49,26 @@ Global
{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)
+ {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7)
+ {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7)
+ {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2)
+ {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2)
+ {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64)
+ {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64)
+ {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86)
+ {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86)
+ {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7)
+ {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7)
+ {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2)
+ {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2)
+ {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64)
+ {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86)
+ {F935F1DE-0753-4702-B418-1DC0ED040A4D}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86)
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {3F42AC3D-5210-4834-8C00-062CE02B7502}
+ EndGlobalSection
EndGlobal
diff --git a/solution/solution.tsproj b/solution/solution.tsproj
index f74cba4..e0f327a 100644
--- a/solution/solution.tsproj
+++ b/solution/solution.tsproj
@@ -2,746 +2,813 @@
<TcSmProject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4023.119">
<DataTypes>
<DataType>
- <Name GUID="{4C3FC5AC-D5AA-44C6-AC5A-159774BA0F6D}" Namespace="MC" TcBaseType="true" HideType="true" IecDeclaration="DWORD;">NCTOPLC_AXIS_REF_STATE</Name>
+ <Name GUID="{18071995-0000-0000-0000-000000000035}" TcBaseType="true" HideType="true">UINTARR2</Name>
<BitSize>32</BitSize>
+ <BaseType GUID="{18071995-0000-0000-0000-000000000005}">UINT</BaseType>
+ <ArrayInfo>
+ <LBound>0</LBound>
+ <Elements>2</Elements>
+ </ArrayInfo>
+ <Format Name="ArrayView" Preview="[%u, %u]">
+ <Printf>[%u, %u]</Printf>
+ <Parameter>[0]</Parameter>
+ <Parameter>[1]</Parameter>
+ </Format>
+ <Format Name="MixedView" Preview="%x [%u, %u]">
+ <Printf>0x%08x [%u, %u]</Printf>
+ <Parameter>.</Parameter>
+ <Parameter>[0]</Parameter>
+ <Parameter>[1]</Parameter>
+ </Format>
+ <Format Name="32bitView" Preview="%x (%u)">
+ <Printf>0x%08x (%u)</Printf>
+ <Parameter>.</Parameter>
+ <Parameter>.</Parameter>
+ </Format>
+ </DataType>
+ <DataType>
+ <Name GUID="{901C2423-655B-45CE-B7E3-21F174F0F99F}" Namespace="MC" TcBaseType="true">NCENCODERSTRUCT_IN2B</Name>
+ <BitSize>320</BitSize>
<SubItem>
- <Name>Operational</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
+ <Name>nDataIn1</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
<BitOffs>0</BitOffs>
</SubItem>
<SubItem>
- <Name>Homed</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>1</BitOffs>
- </SubItem>
- <SubItem>
- <Name>NotMoving</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>2</BitOffs>
+ <Name>nDataIn2</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>32</BitOffs>
</SubItem>
<SubItem>
- <Name>InPositionArea</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>3</BitOffs>
+ <Name>nState1</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>64</BitOffs>
</SubItem>
<SubItem>
- <Name>InTargetPosition</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>4</BitOffs>
+ <Name>nState2</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>72</BitOffs>
</SubItem>
<SubItem>
- <Name>Protected</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>5</BitOffs>
+ <Name>nState3</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>80</BitOffs>
</SubItem>
<SubItem>
- <Name>ErrorPropagationDelayed</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>6</BitOffs>
+ <Name>nState4</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <Comment><![CDATA[Encoder Status 4 (automatically linked):
+0x01 (Bit 0) = IO data invalid (e.g. EtherCAT 'WcState')
+0x02 (Bit 1) = IO data input toggle (e.g. EtherCAT 'InputToggle')
+]]></Comment>
+ <BitSize>8</BitSize>
+ <BitOffs>88</BitOffs>
</SubItem>
<SubItem>
- <Name>HasBeenStopped</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>7</BitOffs>
+ <Name>nDataIn3</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>96</BitOffs>
</SubItem>
<SubItem>
- <Name>HasJob</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>8</BitOffs>
+ <Name>nDataIn4</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>128</BitOffs>
</SubItem>
<SubItem>
- <Name>PositiveDirection</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>9</BitOffs>
+ <Name>nDataIn5</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>160</BitOffs>
</SubItem>
<SubItem>
- <Name>NegativeDirection</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>10</BitOffs>
+ <Name>nDataIn6</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>192</BitOffs>
</SubItem>
<SubItem>
- <Name>HomingBusy</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>11</BitOffs>
+ <Name>nState5</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>224</BitOffs>
</SubItem>
<SubItem>
- <Name>ConstantVelocity</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>12</BitOffs>
+ <Name>nState6</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>232</BitOffs>
</SubItem>
<SubItem>
- <Name>Compensating</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>13</BitOffs>
+ <Name>nState7</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>240</BitOffs>
</SubItem>
<SubItem>
- <Name>ExtSetPointGenEnabled</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>14</BitOffs>
+ <Name>nState8</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>248</BitOffs>
</SubItem>
<SubItem>
- <Name>PhasingActive</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>15</BitOffs>
+ <Name>nDcInputTime</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000009}">DINT</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>256</BitOffs>
</SubItem>
<SubItem>
- <Name>ExternalLatchValid</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>16</BitOffs>
+ <Name>nDataIn7</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>288</BitOffs>
</SubItem>
+ <Relations>
+ <Relation>
+ <Type GUID="{55728D3F-7B02-4448-8096-580617CECBA3}">NCENCODERSTRUCT_IN</Type>
+ <MapEntry>
+ <BitSize>96</BitSize>
+ </MapEntry>
+ </Relation>
+ </Relations>
+ </DataType>
+ <DataType>
+ <Name GUID="{9CC50AB2-5D79-4869-A3C2-1FA7761BAFEA}" Namespace="MC" TcBaseType="true">NCENCODERSTRUCT_OUT2</Name>
+ <BitSize>320</BitSize>
<SubItem>
- <Name>NewTargetPos</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>17</BitOffs>
+ <Name>nDataOut1</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>0</BitOffs>
</SubItem>
<SubItem>
- <Name>ContinuousMotion</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>19</BitOffs>
+ <Name>nDataOut2</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>32</BitOffs>
</SubItem>
<SubItem>
- <Name>ControlLoopClosed</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>20</BitOffs>
+ <Name>nCtrl1</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>64</BitOffs>
</SubItem>
<SubItem>
- <Name>CamTableQueued</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>21</BitOffs>
+ <Name>nCtrl2</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>72</BitOffs>
</SubItem>
<SubItem>
- <Name>CamDataQueued</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>22</BitOffs>
+ <Name>nCtrl3</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>80</BitOffs>
</SubItem>
<SubItem>
- <Name>CamScalingPending</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>23</BitOffs>
+ <Name>nCtrl4</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>88</BitOffs>
</SubItem>
<SubItem>
- <Name>CmdBuffered</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>24</BitOffs>
+ <Name>nDataOut3</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>96</BitOffs>
</SubItem>
<SubItem>
- <Name>PTPmode</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>25</BitOffs>
+ <Name>nDataOut4</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>128</BitOffs>
</SubItem>
<SubItem>
- <Name>SoftLimitMinExceeded</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>26</BitOffs>
+ <Name>nDataOut5</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>160</BitOffs>
</SubItem>
<SubItem>
- <Name>SoftLimitMaxExceeded</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>27</BitOffs>
+ <Name>nDataOut6</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>192</BitOffs>
</SubItem>
<SubItem>
- <Name>DriveDeviceError</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>28</BitOffs>
+ <Name>nCtrl5</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>224</BitOffs>
</SubItem>
<SubItem>
- <Name>MotionCommandsLocked</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>29</BitOffs>
+ <Name>nCtrl6</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>232</BitOffs>
</SubItem>
<SubItem>
- <Name>IoDataInvalid</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>30</BitOffs>
+ <Name>nCtrl7</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>240</BitOffs>
</SubItem>
<SubItem>
- <Name>Error</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>31</BitOffs>
+ <Name>nCtrl8</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>248</BitOffs>
</SubItem>
- <Format Name="Short">
- <Printf>%08x</Printf>
- </Format>
- <Format Name="Cpp">
- <Printf>0x%08x</Printf>
- </Format>
- <Format Name="IEC">
- <Printf>16#%08X</Printf>
- </Format>
+ <Relations>
+ <Relation>
+ <Type GUID="{5FE34D39-3B85-4458-8264-8C4874D8985C}">NCENCODERSTRUCT_OUT</Type>
+ <MapEntry>
+ <BitSize>96</BitSize>
+ </MapEntry>
+ </Relation>
+ </Relations>
</DataType>
<DataType>
- <Name GUID="{6EF49753-C72C-4F50-AA44-3C7498E76CFE}" Namespace="MC" TcBaseType="true" HideType="true" IecDeclaration="DWORD;">NCTOPLC_AXIS_REF_OPMODE</Name>
- <BitSize>32</BitSize>
+ <Name GUID="{F95C7C69-0C87-46C4-9559-1285CCA5B23A}" Namespace="MC" TcBaseType="true">NCDRIVESTRUCT_IN2</Name>
+ <BitSize>320</BitSize>
<SubItem>
- <Name>OpModePosAreaMonitoring</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
+ <Name>nDataIn1</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
<BitOffs>0</BitOffs>
</SubItem>
<SubItem>
- <Name>OpModeTargetPosMonitoring</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>1</BitOffs>
+ <Name>nDataIn2</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>32</BitOffs>
</SubItem>
<SubItem>
- <Name>OpModeLoop</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>2</BitOffs>
+ <Name>nState1</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>64</BitOffs>
</SubItem>
<SubItem>
- <Name>OpModeMotionMonitoring</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>3</BitOffs>
+ <Name>nState2</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>72</BitOffs>
</SubItem>
<SubItem>
- <Name>OpModePEHTimeMonitoring</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>4</BitOffs>
+ <Name>nState3</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>80</BitOffs>
</SubItem>
<SubItem>
- <Name>OpModeBacklashCompensation</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>5</BitOffs>
+ <Name>nState4</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <Comment><![CDATA[Drive Status 4 (automatically linked):
+0x01 (0000 0001) = IO data invalid (e.g. EtherCAT 'WcState')
+0x02 (0000 0010) = IO data input toggle (e.g. EtherCAT 'InputToggle')
+
+Drive Status 4 (manually linked):
+0x80 (1000 0000) = Fast axis stop (digital IO interrupt)
+]]></Comment>
+ <BitSize>8</BitSize>
+ <BitOffs>88</BitOffs>
</SubItem>
<SubItem>
- <Name>OpModeDelayedErrorReaction</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>6</BitOffs>
+ <Name>nDataIn3</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>96</BitOffs>
</SubItem>
<SubItem>
- <Name>OpModeModulo</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>7</BitOffs>
+ <Name>nDataIn4</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>128</BitOffs>
</SubItem>
<SubItem>
- <Name>OpModeSimulationAxis</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>8</BitOffs>
+ <Name>nDataIn5</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>160</BitOffs>
</SubItem>
<SubItem>
- <Name>OpModePosLagMonitoring</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>16</BitOffs>
+ <Name>nDataIn6</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>192</BitOffs>
</SubItem>
<SubItem>
- <Name>OpModeVeloLagMonitoring</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>17</BitOffs>
+ <Name>nState5</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>224</BitOffs>
</SubItem>
<SubItem>
- <Name>OpModeSoftLimitMinMonitoring</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>18</BitOffs>
+ <Name>nState6</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>232</BitOffs>
</SubItem>
<SubItem>
- <Name>OpModeSoftLimitMaxMonitoring</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>19</BitOffs>
+ <Name>nState7</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>240</BitOffs>
</SubItem>
<SubItem>
- <Name>OpModePosCorrection</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>20</BitOffs>
+ <Name>nState8</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>248</BitOffs>
</SubItem>
<SubItem>
- <Name>OpModeAllowSlaveCommands</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>21</BitOffs>
+ <Name>nDcOutputTime</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000009}">DINT</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>256</BitOffs>
</SubItem>
+ <Relations>
+ <Relation>
+ <Type GUID="{9AC463DC-3417-4DEA-AD2A-5FBD4C9C15AA}">NCDRIVESTRUCT_IN</Type>
+ <MapEntry>
+ <BitSize>96</BitSize>
+ </MapEntry>
+ </Relation>
+ </Relations>
+ </DataType>
+ <DataType>
+ <Name GUID="{644DC4BD-3D15-4DCB-94C7-24F3A5D579AA}" Namespace="MC" TcBaseType="true">NCDRIVESTRUCT_OUT2</Name>
+ <BitSize>320</BitSize>
<SubItem>
- <Name>OpModeAllowExtSetAxisCommands</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>22</BitOffs>
+ <Name>nDataOut1</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>0</BitOffs>
</SubItem>
<SubItem>
- <Name>ApplicationRequest</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>23</BitOffs>
+ <Name>nDataOut2</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>32</BitOffs>
</SubItem>
- </DataType>
- <DataType>
- <Name GUID="{303D9411-849C-467F-8A4C-5C8CD0F3DD46}" Namespace="MC" TcBaseType="true" HideType="true">NCTOPLC_AXIS_REF_STATE2_FLAGS</Name>
- <BitSize>32</BitSize>
<SubItem>
- <Name>AvoidingCollision</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
- <BitSize>1</BitSize>
- <BitOffs>0</BitOffs>
+ <Name>nCtrl1</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>64</BitOffs>
</SubItem>
- <Format Name="Short">
- <Printf>%08x</Printf>
- </Format>
- <Format Name="Cpp">
- <Printf>0x%08x</Printf>
- </Format>
- <Format Name="IEC">
- <Printf>16#%08X</Printf>
- </Format>
- </DataType>
- <DataType>
- <Name GUID="{669F3788-48FD-42CF-8A59-2DA946853FB6}" Namespace="MC" TcBaseType="true" HideType="true">NCTOPLC_AXIS_REF_STATE2</Name>
- <BitSize>32</BitSize>
<SubItem>
- <Name>Value</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000007}">DWORD</Type>
+ <Name>nCtrl2</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>72</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>nCtrl3</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>80</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>nCtrl4</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>88</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>nDataOut3</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
<BitSize>32</BitSize>
- <BitOffs>0</BitOffs>
+ <BitOffs>96</BitOffs>
</SubItem>
<SubItem>
- <Name>Flags</Name>
- <Type GUID="{303D9411-849C-467F-8A4C-5C8CD0F3DD46}" Namespace="MC">NCTOPLC_AXIS_REF_STATE2_FLAGS</Type>
+ <Name>nDataOut4</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
<BitSize>32</BitSize>
- <BitOffs>0</BitOffs>
+ <BitOffs>128</BitOffs>
</SubItem>
- <Format Name="Short">
- <Printf>%08x</Printf>
- </Format>
- <Format Name="Cpp">
- <Printf>0x%08x</Printf>
- </Format>
- <Format Name="IEC">
- <Printf>16#%08X</Printf>
- </Format>
+ <SubItem>
+ <Name>nDataOut5</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>160</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>nDataOut6</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000035}">UINTARR2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>192</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>nCtrl5</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>224</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>nCtrl6</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>232</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>nCtrl7</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>240</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>nCtrl8</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000002}">USINT</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>248</BitOffs>
+ </SubItem>
+ <Relations>
+ <Relation>
+ <Type GUID="{595E16A9-7783-4B1C-A30C-48BA6EFCC859}">NCDRIVESTRUCT_OUT</Type>
+ <MapEntry>
+ <BitSize>96</BitSize>
+ </MapEntry>
+ </Relation>
+ </Relations>
</DataType>
<DataType>
- <Name GUID="{BA9D9D0F-1A4A-4A27-A19F-3032626A8491}" Namespace="MC" TcBaseType="true" HideType="true">NCTOPLC_AXIS_REF_CAMCOUPLINGSTATE</Name>
- <BitSize>8</BitSize>
+ <Name GUID="{875D2B22-B7EB-497E-B933-0C004593CCF3}" Namespace="MC" TcBaseType="true" HideType="true" IecDeclaration="DWORD;">PLCTONC_AXIS_REF_CTRL</Name>
+ <BitSize>32</BitSize>
<SubItem>
- <Name>CamActivationPending</Name>
+ <Name>Enable</Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
<BitOffs>0</BitOffs>
</SubItem>
<SubItem>
- <Name>CamDeactivationPending</Name>
+ <Name>FeedEnablePlus</Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
<BitOffs>1</BitOffs>
</SubItem>
<SubItem>
- <Name>CamActive</Name>
+ <Name>FeedEnableMinus</Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
<BitOffs>2</BitOffs>
</SubItem>
<SubItem>
- <Name>CamDataQueued</Name>
+ <Name>HomingSensor</Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
- <BitOffs>6</BitOffs>
+ <BitOffs>5</BitOffs>
</SubItem>
<SubItem>
- <Name>CamScalingPending</Name>
+ <Name>AcceptBlockedDrive</Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
- <BitOffs>7</BitOffs>
+ <BitOffs>8</BitOffs>
</SubItem>
+ <SubItem>
+ <Name>PlcDebugFlag</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>30</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>NcDebugFlag</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>31</BitOffs>
+ </SubItem>
+ <Format Name="Short">
+ <Printf>%08x</Printf>
+ </Format>
+ <Format Name="Cpp">
+ <Printf>0x%08x</Printf>
+ </Format>
+ <Format Name="IEC">
+ <Printf>16#%08X</Printf>
+ </Format>
</DataType>
<DataType>
- <Name GUID="{18071995-0000-0000-0000-000000000039}" TcBaseType="true" HideType="true">UINTARR8</Name>
- <BitSize>128</BitSize>
- <BaseType GUID="{18071995-0000-0000-0000-000000000005}">UINT</BaseType>
- <ArrayInfo>
- <LBound>0</LBound>
- <Elements>8</Elements>
- </ArrayInfo>
- </DataType>
- <DataType>
- <Name GUID="{6A65C767-34E5-42BF-AD87-E1A503EAC7BE}" Namespace="MC" TcBaseType="true">NCTOPLC_AXIS_REF</Name>
- <BitSize>2048</BitSize>
+ <Name GUID="{63A84524-72E3-41C8-BEAB-4CCE44690A13}" Namespace="MC" TcBaseType="true">PLCTONC_AXIS_REF</Name>
+ <BitSize>1024</BitSize>
<SubItem>
- <Name>StateDWord</Name>
- <Type GUID="{4C3FC5AC-D5AA-44C6-AC5A-159774BA0F6D}" Namespace="MC">NCTOPLC_AXIS_REF_STATE</Type>
+ <Name>ControlDWord</Name>
+ <Type GUID="{875D2B22-B7EB-497E-B933-0C004593CCF3}" Namespace="MC">PLCTONC_AXIS_REF_CTRL</Type>
<BitSize>32</BitSize>
<BitOffs>0</BitOffs>
</SubItem>
<SubItem>
- <Name>ErrorCode</Name>
+ <Name>Override</Name>
<Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
<BitSize>32</BitSize>
<BitOffs>32</BitOffs>
</SubItem>
<SubItem>
- <Name>AxisState</Name>
+ <Name>AxisModeRequest</Name>
<Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
- <Comment><![CDATA[Present State Of The Axis Movement (continuous axis):
-0 = INACTIVE: axis has no job
-1 = RUNNING: axis is executing a motion job
-2 = OVERRIDE_ZERO: axis is executing a job but override is zero
-3 = PHASE_VELOCONST: axis is moving at constant velocity
-4 = PHASE_ACCPOS: axis is accelerating
-5 = PHASE_ACCNEG: axis is decelerating
-Slaves only:
-11 = PREPHASE: slave axis is in a motion pre-phase
-12 = SYNCHRONIZING: slave axis is synchronizing
-13 = SYNCHRONOUS: slave axis is moving synchronously
-External Setpoint Generation:
-41 = EXTSETGEN_MODE1: external setpoint generation active
-42 = EXTSETGEN_MODE2: internal and external setpoint gen. active
-]]></Comment>
<BitSize>32</BitSize>
<BitOffs>64</BitOffs>
</SubItem>
<SubItem>
- <Name>AxisModeConfirmation</Name>
+ <Name>AxisModeDWord</Name>
<Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
<BitSize>32</BitSize>
<BitOffs>96</BitOffs>
</SubItem>
<SubItem>
- <Name>HomingState</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
- <Comment><![CDATA[Axis Homing Status:
-0: idle
-1: start homing
-2: searching home switch
-3: stopping on home switch
-4: moving off home switch
-5: searching sync pulse
-6: stopping after homing
-]]></Comment>
- <BitSize>32</BitSize>
+ <Name>AxisModeLReal</Name>
+ <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
+ <BitSize>64</BitSize>
<BitOffs>128</BitOffs>
</SubItem>
<SubItem>
- <Name>CoupleState</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
- <Comment><![CDATA[Axis Coupling Status:
-0: axis is a single axis (not coupled)
-1: axis is a master axis
-2: axis is master and slave
-3: axis is a slave axis
-]]></Comment>
- <BitSize>32</BitSize>
- <BitOffs>160</BitOffs>
- </SubItem>
- <SubItem>
- <Name>SvbEntries</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
- <BitSize>32</BitSize>
+ <Name>PositionCorrection</Name>
+ <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
+ <BitSize>64</BitSize>
<BitOffs>192</BitOffs>
</SubItem>
<SubItem>
- <Name>SafEntries</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
- <BitSize>32</BitSize>
- <BitOffs>224</BitOffs>
- </SubItem>
- <SubItem>
- <Name>AxisId</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
- <BitSize>32</BitSize>
+ <Name>ExtSetPos</Name>
+ <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
+ <BitSize>64</BitSize>
<BitOffs>256</BitOffs>
</SubItem>
<SubItem>
- <Name>OpModeDWord</Name>
- <Type GUID="{6EF49753-C72C-4F50-AA44-3C7498E76CFE}" Namespace="MC">NCTOPLC_AXIS_REF_OPMODE</Type>
- <BitSize>32</BitSize>
- <BitOffs>288</BitOffs>
- </SubItem>
- <SubItem>
- <Name>ActPos</Name>
+ <Name>ExtSetVelo</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
<BitOffs>320</BitOffs>
</SubItem>
<SubItem>
- <Name>ModuloActPos</Name>
+ <Name>ExtSetAcc</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
<BitOffs>384</BitOffs>
</SubItem>
<SubItem>
- <Name>ActiveControlLoopIndex</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000005}">UINT</Type>
- <BitSize>16</BitSize>
- <BitOffs>448</BitOffs>
- </SubItem>
- <SubItem>
- <Name>ControlLoopIndex</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000005}">UINT</Type>
- <BitSize>16</BitSize>
- <BitOffs>464</BitOffs>
- </SubItem>
- <SubItem>
- <Name>ModuloActTurns</Name>
+ <Name>ExtSetDirection</Name>
<Type GUID="{18071995-0000-0000-0000-000000000009}">DINT</Type>
<BitSize>32</BitSize>
- <BitOffs>480</BitOffs>
+ <BitOffs>448</BitOffs>
</SubItem>
<SubItem>
- <Name>ActVelo</Name>
+ <Name>ExtControllerOutput</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
<BitOffs>512</BitOffs>
</SubItem>
<SubItem>
- <Name>PosDiff</Name>
+ <Name>GearRatio1</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
<BitOffs>576</BitOffs>
</SubItem>
<SubItem>
- <Name>SetPos</Name>
+ <Name>GearRatio2</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
<BitOffs>640</BitOffs>
</SubItem>
<SubItem>
- <Name>SetVelo</Name>
+ <Name>GearRatio3</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
<BitOffs>704</BitOffs>
</SubItem>
<SubItem>
- <Name>SetAcc</Name>
+ <Name>GearRatio4</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
<BitOffs>768</BitOffs>
</SubItem>
<SubItem>
- <Name>TargetPos</Name>
- <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
- <BitSize>64</BitSize>
+ <Name>MapState</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000030}">BOOL</Type>
+ <BitSize>8</BitSize>
<BitOffs>832</BitOffs>
</SubItem>
<SubItem>
- <Name>ModuloSetPos</Name>
- <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
- <BitSize>64</BitSize>
- <BitOffs>896</BitOffs>
+ <Name>PlcCycleControl</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000001}">BYTE</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>840</BitOffs>
</SubItem>
<SubItem>
- <Name>ModuloSetTurns</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000009}">DINT</Type>
- <BitSize>32</BitSize>
- <BitOffs>960</BitOffs>
+ <Name>PlcCycleCount</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000001}">BYTE</Type>
+ <BitSize>8</BitSize>
+ <BitOffs>848</BitOffs>
</SubItem>
+ <Properties>
+ <Property>
+ <Name>NcStructType</Name>
+ <Value>1</Value>
+ </Property>
+ </Properties>
+ <Relations>
+ <Relation Priority="100">
+ <Type GUID="{60392271-8688-4F4C-B404-618DF106325D}">NCAXLESTRUCT_FROMPLC3</Type>
+ </Relation>
+ </Relations>
+ </DataType>
+ <DataType>
+ <Name GUID="{4C3FC5AC-D5AA-44C6-AC5A-159774BA0F6D}" Namespace="MC" TcBaseType="true" HideType="true" IecDeclaration="DWORD;">NCTOPLC_AXIS_REF_STATE</Name>
+ <BitSize>32</BitSize>
<SubItem>
- <Name>CmdNo</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000005}">UINT</Type>
- <BitSize>16</BitSize>
- <BitOffs>992</BitOffs>
+ <Name>Operational</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>0</BitOffs>
</SubItem>
<SubItem>
- <Name>CmdState</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000005}">UINT</Type>
- <BitSize>16</BitSize>
- <BitOffs>1008</BitOffs>
+ <Name>Homed</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>1</BitOffs>
</SubItem>
<SubItem>
- <Name>SetJerk</Name>
- <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
- <BitSize>64</BitSize>
- <BitOffs>1024</BitOffs>
+ <Name>NotMoving</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>2</BitOffs>
</SubItem>
<SubItem>
- <Name>SetTorque</Name>
- <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
- <BitSize>64</BitSize>
- <BitOffs>1088</BitOffs>
+ <Name>InPositionArea</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>3</BitOffs>
</SubItem>
<SubItem>
- <Name>ActTorque</Name>
- <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
- <BitSize>64</BitSize>
- <BitOffs>1152</BitOffs>
+ <Name>InTargetPosition</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>4</BitOffs>
</SubItem>
<SubItem>
- <Name>StateDWord2</Name>
- <Type GUID="{669F3788-48FD-42CF-8A59-2DA946853FB6}" Namespace="MC">NCTOPLC_AXIS_REF_STATE2</Type>
- <BitSize>32</BitSize>
- <BitOffs>1216</BitOffs>
+ <Name>Protected</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>5</BitOffs>
</SubItem>
<SubItem>
- <Name>StateDWord3</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000007}">DWORD</Type>
- <BitSize>32</BitSize>
- <BitOffs>1248</BitOffs>
+ <Name>ErrorPropagationDelayed</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>6</BitOffs>
</SubItem>
<SubItem>
- <Name>TouchProbeState</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000007}">DWORD</Type>
- <BitSize>32</BitSize>
- <BitOffs>1280</BitOffs>
+ <Name>HasBeenStopped</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>7</BitOffs>
</SubItem>
<SubItem>
- <Name>TouchProbeCounter</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000007}">DWORD</Type>
- <BitSize>32</BitSize>
- <BitOffs>1312</BitOffs>
+ <Name>HasJob</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>8</BitOffs>
</SubItem>
<SubItem>
- <Name>CamCouplingState</Name>
- <Type GUID="{BA9D9D0F-1A4A-4A27-A19F-3032626A8491}" Namespace="MC">NCTOPLC_AXIS_REF_CAMCOUPLINGSTATE</Type>
- <ArrayInfo>
- <LBound>0</LBound>
- <Elements>8</Elements>
- </ArrayInfo>
- <BitSize>64</BitSize>
- <BitOffs>1344</BitOffs>
+ <Name>PositiveDirection</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>9</BitOffs>
</SubItem>
<SubItem>
- <Name>CamCouplingTableID</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000039}">UINTARR8</Type>
- <BitSize>128</BitSize>
- <BitOffs>1408</BitOffs>
+ <Name>NegativeDirection</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>10</BitOffs>
</SubItem>
<SubItem>
- <Name>ActTorqueDerivative</Name>
- <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
- <BitSize>64</BitSize>
- <BitOffs>1536</BitOffs>
+ <Name>HomingBusy</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>11</BitOffs>
</SubItem>
<SubItem>
- <Name>SetTorqueDerivative</Name>
- <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
- <BitSize>64</BitSize>
- <BitOffs>1600</BitOffs>
+ <Name>ConstantVelocity</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>12</BitOffs>
</SubItem>
<SubItem>
- <Name>ActPosWithoutPosCorrection</Name>
- <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
- <BitSize>64</BitSize>
- <BitOffs>1792</BitOffs>
+ <Name>Compensating</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>13</BitOffs>
</SubItem>
<SubItem>
- <Name>ActAcc</Name>
- <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
- <BitSize>64</BitSize>
- <BitOffs>1856</BitOffs>
+ <Name>ExtSetPointGenEnabled</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>14</BitOffs>
</SubItem>
<SubItem>
- <Name>DcTimeStamp</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
- <BitSize>32</BitSize>
- <BitOffs>1920</BitOffs>
+ <Name>PhasingActive</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>15</BitOffs>
</SubItem>
- <Properties>
- <Property>
- <Name>NcStructType</Name>
- <Value>2</Value>
- </Property>
- </Properties>
- <Relations>
- <Relation Priority="100">
- <Type GUID="{429B767E-373B-40AE-BFA5-E1C08B444DF3}">NCAXLESTRUCT_TOPLC</Type>
- </Relation>
- <Relation Priority="100">
- <Type GUID="{E8DA524A-605F-4879-82E6-B86EF6986572}">NCAXLESTRUCT_TOPLC2</Type>
- </Relation>
- <Relation Priority="100">
- <Type GUID="{B507963E-69F3-4B64-BB8C-2BD7A560976D}">NCAXLESTRUCT_TOPLC3</Type>
- </Relation>
- <Relation Priority="100">
- <Type GUID="{F794B740-82D7-4637-848E-4F74A711D038}">NCAXLESTRUCT_TOPLC4</Type>
- </Relation>
- <Relation Priority="100">
- <Type GUID="{40BD39B0-C3EA-4F74-9F4F-5F1982786F7C}"></Type>
- </Relation>
- <Relation Priority="100">
- <Type GUID="{40BD39B2-C3EA-4F74-9F4F-5F1982786F7C}"></Type>
- </Relation>
- <Relation Priority="100">
- <Type GUID="{8CDE0C45-AB9D-42DB-BC94-1CF7521AB268}"></Type>
- </Relation>
- </Relations>
- </DataType>
- <DataType>
- <Name GUID="{875D2B22-B7EB-497E-B933-0C004593CCF3}" Namespace="MC" TcBaseType="true" HideType="true" IecDeclaration="DWORD;">PLCTONC_AXIS_REF_CTRL</Name>
- <BitSize>32</BitSize>
<SubItem>
- <Name>Enable</Name>
+ <Name>ExternalLatchValid</Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
- <BitOffs>0</BitOffs>
+ <BitOffs>16</BitOffs>
</SubItem>
<SubItem>
- <Name>FeedEnablePlus</Name>
+ <Name>NewTargetPos</Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
- <BitOffs>1</BitOffs>
+ <BitOffs>17</BitOffs>
</SubItem>
<SubItem>
- <Name>FeedEnableMinus</Name>
+ <Name>ContinuousMotion</Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
- <BitOffs>2</BitOffs>
+ <BitOffs>19</BitOffs>
</SubItem>
<SubItem>
- <Name>HomingSensor</Name>
+ <Name>ControlLoopClosed</Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
- <BitOffs>5</BitOffs>
+ <BitOffs>20</BitOffs>
</SubItem>
<SubItem>
- <Name>AcceptBlockedDrive</Name>
+ <Name>CamTableQueued</Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
- <BitOffs>8</BitOffs>
+ <BitOffs>21</BitOffs>
</SubItem>
<SubItem>
- <Name>PlcDebugFlag</Name>
+ <Name>CamDataQueued</Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
- <BitOffs>30</BitOffs>
+ <BitOffs>22</BitOffs>
</SubItem>
<SubItem>
- <Name>NcDebugFlag</Name>
+ <Name>CamScalingPending</Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
- <BitOffs>31</BitOffs>
+ <BitOffs>23</BitOffs>
</SubItem>
- <Format Name="Short">
- <Printf>%08x</Printf>
- </Format>
+ <SubItem>
+ <Name>CmdBuffered</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>24</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>PTPmode</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>25</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>SoftLimitMinExceeded</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>26</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>SoftLimitMaxExceeded</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>27</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>DriveDeviceError</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>28</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>MotionCommandsLocked</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>29</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>IoDataInvalid</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>30</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>Error</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>31</BitOffs>
+ </SubItem>
+ <Format Name="Short">
+ <Printf>%08x</Printf>
+ </Format>
<Format Name="Cpp">
<Printf>0x%08x</Printf>
</Format>
@@ -750,130 +817,501 @@ External Setpoint Generation:
</Format>
</DataType>
<DataType>
- <Name GUID="{63A84524-72E3-41C8-BEAB-4CCE44690A13}" Namespace="MC" TcBaseType="true">PLCTONC_AXIS_REF</Name>
- <BitSize>1024</BitSize>
+ <Name GUID="{6EF49753-C72C-4F50-AA44-3C7498E76CFE}" Namespace="MC" TcBaseType="true" HideType="true" IecDeclaration="DWORD;">NCTOPLC_AXIS_REF_OPMODE</Name>
+ <BitSize>32</BitSize>
<SubItem>
- <Name>ControlDWord</Name>
- <Type GUID="{875D2B22-B7EB-497E-B933-0C004593CCF3}" Namespace="MC">PLCTONC_AXIS_REF_CTRL</Type>
+ <Name>OpModePosAreaMonitoring</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>0</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>OpModeTargetPosMonitoring</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>1</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>OpModeLoop</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>2</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>OpModeMotionMonitoring</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>3</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>OpModePEHTimeMonitoring</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>4</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>OpModeBacklashCompensation</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>5</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>OpModeDelayedErrorReaction</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>6</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>OpModeModulo</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>7</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>OpModeSimulationAxis</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>8</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>OpModePosLagMonitoring</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>16</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>OpModeVeloLagMonitoring</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>17</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>OpModeSoftLimitMinMonitoring</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>18</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>OpModeSoftLimitMaxMonitoring</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>19</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>OpModePosCorrection</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>20</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>OpModeAllowSlaveCommands</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>21</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>OpModeAllowExtSetAxisCommands</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>22</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>ApplicationRequest</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>23</BitOffs>
+ </SubItem>
+ </DataType>
+ <DataType>
+ <Name GUID="{303D9411-849C-467F-8A4C-5C8CD0F3DD46}" Namespace="MC" TcBaseType="true" HideType="true">NCTOPLC_AXIS_REF_STATE2_FLAGS</Name>
+ <BitSize>32</BitSize>
+ <SubItem>
+ <Name>AvoidingCollision</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>0</BitOffs>
+ </SubItem>
+ <Format Name="Short">
+ <Printf>%08x</Printf>
+ </Format>
+ <Format Name="Cpp">
+ <Printf>0x%08x</Printf>
+ </Format>
+ <Format Name="IEC">
+ <Printf>16#%08X</Printf>
+ </Format>
+ </DataType>
+ <DataType>
+ <Name GUID="{669F3788-48FD-42CF-8A59-2DA946853FB6}" Namespace="MC" TcBaseType="true" HideType="true">NCTOPLC_AXIS_REF_STATE2</Name>
+ <BitSize>32</BitSize>
+ <SubItem>
+ <Name>Value</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000007}">DWORD</Type>
<BitSize>32</BitSize>
<BitOffs>0</BitOffs>
</SubItem>
<SubItem>
- <Name>Override</Name>
+ <Name>Flags</Name>
+ <Type GUID="{303D9411-849C-467F-8A4C-5C8CD0F3DD46}" Namespace="MC">NCTOPLC_AXIS_REF_STATE2_FLAGS</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>0</BitOffs>
+ </SubItem>
+ <Format Name="Short">
+ <Printf>%08x</Printf>
+ </Format>
+ <Format Name="Cpp">
+ <Printf>0x%08x</Printf>
+ </Format>
+ <Format Name="IEC">
+ <Printf>16#%08X</Printf>
+ </Format>
+ </DataType>
+ <DataType>
+ <Name GUID="{BA9D9D0F-1A4A-4A27-A19F-3032626A8491}" Namespace="MC" TcBaseType="true" HideType="true">NCTOPLC_AXIS_REF_CAMCOUPLINGSTATE</Name>
+ <BitSize>8</BitSize>
+ <SubItem>
+ <Name>CamActivationPending</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>0</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>CamDeactivationPending</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>1</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>CamActive</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>2</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>CamDataQueued</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>6</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>CamScalingPending</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
+ <BitSize>1</BitSize>
+ <BitOffs>7</BitOffs>
+ </SubItem>
+ </DataType>
+ <DataType>
+ <Name GUID="{18071995-0000-0000-0000-000000000039}" TcBaseType="true" HideType="true">UINTARR8</Name>
+ <BitSize>128</BitSize>
+ <BaseType GUID="{18071995-0000-0000-0000-000000000005}">UINT</BaseType>
+ <ArrayInfo>
+ <LBound>0</LBound>
+ <Elements>8</Elements>
+ </ArrayInfo>
+ </DataType>
+ <DataType>
+ <Name GUID="{6A65C767-34E5-42BF-AD87-E1A503EAC7BE}" Namespace="MC" TcBaseType="true">NCTOPLC_AXIS_REF</Name>
+ <BitSize>2048</BitSize>
+ <SubItem>
+ <Name>StateDWord</Name>
+ <Type GUID="{4C3FC5AC-D5AA-44C6-AC5A-159774BA0F6D}" Namespace="MC">NCTOPLC_AXIS_REF_STATE</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>0</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>ErrorCode</Name>
<Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
<BitSize>32</BitSize>
<BitOffs>32</BitOffs>
</SubItem>
<SubItem>
- <Name>AxisModeRequest</Name>
+ <Name>AxisState</Name>
<Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
+ <Comment><![CDATA[Present State Of The Axis Movement (continuous axis):
+0 = INACTIVE: axis has no job
+1 = RUNNING: axis is executing a motion job
+2 = OVERRIDE_ZERO: axis is executing a job but override is zero
+3 = PHASE_VELOCONST: axis is moving at constant velocity
+4 = PHASE_ACCPOS: axis is accelerating
+5 = PHASE_ACCNEG: axis is decelerating
+Slaves only:
+11 = PREPHASE: slave axis is in a motion pre-phase
+12 = SYNCHRONIZING: slave axis is synchronizing
+13 = SYNCHRONOUS: slave axis is moving synchronously
+External Setpoint Generation:
+41 = EXTSETGEN_MODE1: external setpoint generation active
+42 = EXTSETGEN_MODE2: internal and external setpoint gen. active
+]]></Comment>
<BitSize>32</BitSize>
<BitOffs>64</BitOffs>
</SubItem>
<SubItem>
- <Name>AxisModeDWord</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
- <BitSize>32</BitSize>
- <BitOffs>96</BitOffs>
+ <Name>AxisModeConfirmation</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>96</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>HomingState</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
+ <Comment><![CDATA[Axis Homing Status:
+0: idle
+1: start homing
+2: searching home switch
+3: stopping on home switch
+4: moving off home switch
+5: searching sync pulse
+6: stopping after homing
+]]></Comment>
+ <BitSize>32</BitSize>
+ <BitOffs>128</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>CoupleState</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
+ <Comment><![CDATA[Axis Coupling Status:
+0: axis is a single axis (not coupled)
+1: axis is a master axis
+2: axis is master and slave
+3: axis is a slave axis
+]]></Comment>
+ <BitSize>32</BitSize>
+ <BitOffs>160</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>SvbEntries</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>192</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>SafEntries</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>224</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>AxisId</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>256</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>OpModeDWord</Name>
+ <Type GUID="{6EF49753-C72C-4F50-AA44-3C7498E76CFE}" Namespace="MC">NCTOPLC_AXIS_REF_OPMODE</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>288</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>ActPos</Name>
+ <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
+ <BitSize>64</BitSize>
+ <BitOffs>320</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>ModuloActPos</Name>
+ <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
+ <BitSize>64</BitSize>
+ <BitOffs>384</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>ActiveControlLoopIndex</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000005}">UINT</Type>
+ <BitSize>16</BitSize>
+ <BitOffs>448</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>ControlLoopIndex</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000005}">UINT</Type>
+ <BitSize>16</BitSize>
+ <BitOffs>464</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>ModuloActTurns</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000009}">DINT</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>480</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>ActVelo</Name>
+ <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
+ <BitSize>64</BitSize>
+ <BitOffs>512</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>PosDiff</Name>
+ <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
+ <BitSize>64</BitSize>
+ <BitOffs>576</BitOffs>
</SubItem>
<SubItem>
- <Name>AxisModeLReal</Name>
+ <Name>SetPos</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
- <BitOffs>128</BitOffs>
+ <BitOffs>640</BitOffs>
</SubItem>
<SubItem>
- <Name>PositionCorrection</Name>
+ <Name>SetVelo</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
- <BitOffs>192</BitOffs>
+ <BitOffs>704</BitOffs>
</SubItem>
<SubItem>
- <Name>ExtSetPos</Name>
+ <Name>SetAcc</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
- <BitOffs>256</BitOffs>
+ <BitOffs>768</BitOffs>
</SubItem>
<SubItem>
- <Name>ExtSetVelo</Name>
+ <Name>TargetPos</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
- <BitOffs>320</BitOffs>
+ <BitOffs>832</BitOffs>
</SubItem>
<SubItem>
- <Name>ExtSetAcc</Name>
+ <Name>ModuloSetPos</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
- <BitOffs>384</BitOffs>
+ <BitOffs>896</BitOffs>
</SubItem>
<SubItem>
- <Name>ExtSetDirection</Name>
+ <Name>ModuloSetTurns</Name>
<Type GUID="{18071995-0000-0000-0000-000000000009}">DINT</Type>
<BitSize>32</BitSize>
- <BitOffs>448</BitOffs>
+ <BitOffs>960</BitOffs>
</SubItem>
<SubItem>
- <Name>ExtControllerOutput</Name>
+ <Name>CmdNo</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000005}">UINT</Type>
+ <BitSize>16</BitSize>
+ <BitOffs>992</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>CmdState</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000005}">UINT</Type>
+ <BitSize>16</BitSize>
+ <BitOffs>1008</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>SetJerk</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
- <BitOffs>512</BitOffs>
+ <BitOffs>1024</BitOffs>
</SubItem>
<SubItem>
- <Name>GearRatio1</Name>
+ <Name>SetTorque</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
- <BitOffs>576</BitOffs>
+ <BitOffs>1088</BitOffs>
</SubItem>
<SubItem>
- <Name>GearRatio2</Name>
+ <Name>ActTorque</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
- <BitOffs>640</BitOffs>
+ <BitOffs>1152</BitOffs>
</SubItem>
<SubItem>
- <Name>GearRatio3</Name>
+ <Name>StateDWord2</Name>
+ <Type GUID="{669F3788-48FD-42CF-8A59-2DA946853FB6}" Namespace="MC">NCTOPLC_AXIS_REF_STATE2</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>1216</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>StateDWord3</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000007}">DWORD</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>1248</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>TouchProbeState</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000007}">DWORD</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>1280</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>TouchProbeCounter</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000007}">DWORD</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>1312</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>CamCouplingState</Name>
+ <Type GUID="{BA9D9D0F-1A4A-4A27-A19F-3032626A8491}" Namespace="MC">NCTOPLC_AXIS_REF_CAMCOUPLINGSTATE</Type>
+ <ArrayInfo>
+ <LBound>0</LBound>
+ <Elements>8</Elements>
+ </ArrayInfo>
+ <BitSize>64</BitSize>
+ <BitOffs>1344</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>CamCouplingTableID</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000039}">UINTARR8</Type>
+ <BitSize>128</BitSize>
+ <BitOffs>1408</BitOffs>
+ </SubItem>
+ <SubItem>
+ <Name>ActTorqueDerivative</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
- <BitOffs>704</BitOffs>
+ <BitOffs>1536</BitOffs>
</SubItem>
<SubItem>
- <Name>GearRatio4</Name>
+ <Name>SetTorqueDerivative</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
- <BitOffs>768</BitOffs>
+ <BitOffs>1600</BitOffs>
</SubItem>
<SubItem>
- <Name>MapState</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000030}">BOOL</Type>
- <BitSize>8</BitSize>
- <BitOffs>832</BitOffs>
+ <Name>ActPosWithoutPosCorrection</Name>
+ <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
+ <BitSize>64</BitSize>
+ <BitOffs>1792</BitOffs>
</SubItem>
<SubItem>
- <Name>PlcCycleControl</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000001}">BYTE</Type>
- <BitSize>8</BitSize>
- <BitOffs>840</BitOffs>
+ <Name>ActAcc</Name>
+ <Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
+ <BitSize>64</BitSize>
+ <BitOffs>1856</BitOffs>
</SubItem>
<SubItem>
- <Name>PlcCycleCount</Name>
- <Type GUID="{18071995-0000-0000-0000-000000000001}">BYTE</Type>
- <BitSize>8</BitSize>
- <BitOffs>848</BitOffs>
+ <Name>DcTimeStamp</Name>
+ <Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
+ <BitSize>32</BitSize>
+ <BitOffs>1920</BitOffs>
</SubItem>
<Properties>
<Property>
<Name>NcStructType</Name>
- <Value>1</Value>
+ <Value>2</Value>
</Property>
</Properties>
<Relations>
<Relation Priority="100">
- <Type GUID="{60392271-8688-4F4C-B404-618DF106325D}">NCAXLESTRUCT_FROMPLC3</Type>
+ <Type GUID="{429B767E-373B-40AE-BFA5-E1C08B444DF3}">NCAXLESTRUCT_TOPLC</Type>
+ </Relation>
+ <Relation Priority="100">
+ <Type GUID="{E8DA524A-605F-4879-82E6-B86EF6986572}">NCAXLESTRUCT_TOPLC2</Type>
+ </Relation>
+ <Relation Priority="100">
+ <Type GUID="{B507963E-69F3-4B64-BB8C-2BD7A560976D}">NCAXLESTRUCT_TOPLC3</Type>
+ </Relation>
+ <Relation Priority="100">
+ <Type GUID="{F794B740-82D7-4637-848E-4F74A711D038}">NCAXLESTRUCT_TOPLC4</Type>
+ </Relation>
+ <Relation Priority="100">
+ <Type GUID="{40BD39B0-C3EA-4F74-9F4F-5F1982786F7C}"></Type>
+ </Relation>
+ <Relation Priority="100">
+ <Type GUID="{40BD39B2-C3EA-4F74-9F4F-5F1982786F7C}"></Type>
+ </Relation>
+ <Relation Priority="100">
+ <Type GUID="{8CDE0C45-AB9D-42DB-BC94-1CF7521AB268}"></Type>
</Relation>
</Relations>
</DataType>
</DataTypes>
- <Project ProjectGUID="{9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}" TargetNetId="5.54.104.144.1.1" Target64Bit="true" ShowHideConfigurations="#x106">
+ <Project ProjectGUID="{9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}" Target64Bit="true" ShowHideConfigurations="#x106">
<System>
<Licenses>
<Target>
@@ -889,8 +1327,456 @@ External Setpoint Generation:
</Task>
</Tasks>
</System>
+ <Motion>
+ <NC>
+ <SafTask Priority="4" CycleTime="20000" AmsPort="501" IoAtBegin="true">
+ <Name>NC-Task 1 SAF</Name>
+ <Vars VarGrpType="1" InsertType="1">
+ <Name>Inputs</Name>
+ </Vars>
+ <Vars VarGrpType="2" InsertType="1">
+ <Name>Outputs</Name>
+ </Vars>
+ <Image Id="1" AddrType="1" ImageType="1">
+ <Name>Image</Name>
+ </Image>
+ </SafTask>
+ <SvbTask Priority="8" CycleTime="100000" AmsPort="511">
+ <Name>NC-Task 1 SVB</Name>
+ </SvbTask>
+ <Axis Id="1" CreateSymbols="true" AxisType="1">
+ <Name>Axis 1</Name>
+ <AxisPara>
+ <OtherSettings AllowMotionCmdToSlave="true"/>
+ </AxisPara>
+ <Encoder Name="Enc" EncType="1">
+ <EncPara>
+ <SoftEndMinControl Enable="true" Range="10"/>
+ </EncPara>
+ <Vars VarGrpType="1">
+ <Name>Inputs</Name>
+ <Var>
+ <Name>In</Name>
+ <Type GUID="{901C2423-655B-45CE-B7E3-21F174F0F99F}" Namespace="MC">NCENCODERSTRUCT_IN2B</Type>
+ <BitOffs>1024</BitOffs>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn1</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn2</Name>
+ </SubVar>
+ <SubVar>
+ <Name>nState4</Name>
+ <Comment><![CDATA[Encoder Status 4 (automatically linked):
+0x01 (Bit 0) = IO data invalid (e.g. EtherCAT 'WcState')
+0x02 (Bit 1) = IO data input toggle (e.g. EtherCAT 'InputToggle')
+]]></Comment>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn3</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn4</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn5</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn6</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn7</Name>
+ </SubVar>
+ </Var>
+ </Vars>
+ <Vars VarGrpType="2">
+ <Name>Outputs</Name>
+ <Var>
+ <Name>Out</Name>
+ <Type GUID="{9CC50AB2-5D79-4869-A3C2-1FA7761BAFEA}" Namespace="MC">NCENCODERSTRUCT_OUT2</Type>
+ <BitOffs>2048</BitOffs>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut1</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut2</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut3</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut4</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut5</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut6</Name>
+ </SubVar>
+ </Var>
+ </Vars>
+ </Encoder>
+ <Drive Name="Drive" DrvType="5">
+ <DrvPara>
+ <Analog TorqueScale="10" ScaleFactorActTorque="0.1"/>
+ <TimeComp TaskDelayCycles="1"/>
+ </DrvPara>
+ <Vars VarGrpType="1">
+ <Name>Inputs</Name>
+ <Var>
+ <Name>In</Name>
+ <Type GUID="{F95C7C69-0C87-46C4-9559-1285CCA5B23A}" Namespace="MC">NCDRIVESTRUCT_IN2</Type>
+ <BitOffs>1344</BitOffs>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn1</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn2</Name>
+ </SubVar>
+ <SubVar>
+ <Name>nState4</Name>
+ <Comment><![CDATA[Drive Status 4 (automatically linked):
+0x01 (0000 0001) = IO data invalid (e.g. EtherCAT 'WcState')
+0x02 (0000 0010) = IO data input toggle (e.g. EtherCAT 'InputToggle')
+
+Drive Status 4 (manually linked):
+0x80 (1000 0000) = Fast axis stop (digital IO interrupt)
+]]></Comment>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn3</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn4</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn5</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn6</Name>
+ </SubVar>
+ </Var>
+ </Vars>
+ <Vars VarGrpType="2">
+ <Name>Outputs</Name>
+ <Var>
+ <Name>Out</Name>
+ <Type GUID="{644DC4BD-3D15-4DCB-94C7-24F3A5D579AA}" Namespace="MC">NCDRIVESTRUCT_OUT2</Type>
+ <BitOffs>2368</BitOffs>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut1</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut2</Name>
+ </SubVar>
+ <SubVar>
+ <Name>nCtrl2</Name>
+ <Comment><![CDATA[Digital Outputs Setpoint Generator:
+0x41 (0100 0001) = Minus (0x42 for inverse motor polarity)
+0x42 (0100 0010) = Plus (0x41 for inverse motor polarity)
+0x80 (1000 0000) = Stop
+]]></Comment>
+ </SubVar>
+ <SubVar>
+ <Name>nCtrl3</Name>
+ <Comment><![CDATA[Digital Outputs (Setpoint Generator + Position Controller):
+0x41 (0100 0001) = Minus (0x42 for inverse motor polarity)
+0x42 (0100 0010) = Plus (0x41 for inverse motor polarity)
+0x80 (1000 0000) = Stop
+]]></Comment>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut3</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut4</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut5</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut6</Name>
+ </SubVar>
+ </Var>
+ </Vars>
+ </Drive>
+ <Controller Name="Ctrl" CtrType="1">
+ <CtrPara PriorControlFactor="1">
+ <Observer BandWidth="20"/>
+ </CtrPara>
+ </Controller>
+ <Vars VarGrpType="1" InsertType="1">
+ <Name>Inputs</Name>
+ <Var>
+ <Name>FromPlc</Name>
+ <Type GUID="{63A84524-72E3-41C8-BEAB-4CCE44690A13}" Namespace="MC">PLCTONC_AXIS_REF</Type>
+ </Var>
+ </Vars>
+ <Vars VarGrpType="2" InsertType="1">
+ <Name>Outputs</Name>
+ <Var>
+ <Name>ToPlc</Name>
+ <Type GUID="{6A65C767-34E5-42BF-AD87-E1A503EAC7BE}" Namespace="MC">NCTOPLC_AXIS_REF</Type>
+ <SubVar>
+ <Name>AxisState</Name>
+ <Comment><![CDATA[Present State Of The Axis Movement (continuous axis):
+0 = INACTIVE: axis has no job
+1 = RUNNING: axis is executing a motion job
+2 = OVERRIDE_ZERO: axis is executing a job but override is zero
+3 = PHASE_VELOCONST: axis is moving at constant velocity
+4 = PHASE_ACCPOS: axis is accelerating
+5 = PHASE_ACCNEG: axis is decelerating
+Slaves only:
+11 = PREPHASE: slave axis is in a motion pre-phase
+12 = SYNCHRONIZING: slave axis is synchronizing
+13 = SYNCHRONOUS: slave axis is moving synchronously
+External Setpoint Generation:
+41 = EXTSETGEN_MODE1: external setpoint generation active
+42 = EXTSETGEN_MODE2: internal and external setpoint gen. active
+]]></Comment>
+ </SubVar>
+ <SubVar>
+ <Name>HomingState</Name>
+ <Comment><![CDATA[Axis Homing Status:
+0: idle
+1: start homing
+2: searching home switch
+3: stopping on home switch
+4: moving off home switch
+5: searching sync pulse
+6: stopping after homing
+]]></Comment>
+ </SubVar>
+ <SubVar>
+ <Name>CoupleState</Name>
+ <Comment><![CDATA[Axis Coupling Status:
+0: axis is a single axis (not coupled)
+1: axis is a master axis
+2: axis is master and slave
+3: axis is a slave axis
+]]></Comment>
+ </SubVar>
+ </Var>
+ </Vars>
+ </Axis>
+ <Axis Id="2" CreateSymbols="true" AxisType="1">
+ <Name>Axis 2</Name>
+ <AxisPara>
+ <OtherSettings AllowMotionCmdToSlave="true"/>
+ </AxisPara>
+ <Encoder Name="Enc" EncType="1">
+ <Vars VarGrpType="1">
+ <Name>Inputs</Name>
+ <Var>
+ <Name>In</Name>
+ <Type GUID="{901C2423-655B-45CE-B7E3-21F174F0F99F}" Namespace="MC">NCENCODERSTRUCT_IN2B</Type>
+ <BitOffs>2688</BitOffs>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn1</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn2</Name>
+ </SubVar>
+ <SubVar>
+ <Name>nState4</Name>
+ <Comment><![CDATA[Encoder Status 4 (automatically linked):
+0x01 (Bit 0) = IO data invalid (e.g. EtherCAT 'WcState')
+0x02 (Bit 1) = IO data input toggle (e.g. EtherCAT 'InputToggle')
+]]></Comment>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn3</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn4</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn5</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn6</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn7</Name>
+ </SubVar>
+ </Var>
+ </Vars>
+ <Vars VarGrpType="2">
+ <Name>Outputs</Name>
+ <Var>
+ <Name>Out</Name>
+ <Type GUID="{9CC50AB2-5D79-4869-A3C2-1FA7761BAFEA}" Namespace="MC">NCENCODERSTRUCT_OUT2</Type>
+ <BitOffs>4736</BitOffs>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut1</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut2</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut3</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut4</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut5</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut6</Name>
+ </SubVar>
+ </Var>
+ </Vars>
+ </Encoder>
+ <Drive Name="Drive" DrvType="5">
+ <DrvPara>
+ <Analog TorqueScale="10" ScaleFactorActTorque="0.1"/>
+ <TimeComp TaskDelayCycles="1"/>
+ </DrvPara>
+ <Vars VarGrpType="1">
+ <Name>Inputs</Name>
+ <Var>
+ <Name>In</Name>
+ <Type GUID="{F95C7C69-0C87-46C4-9559-1285CCA5B23A}" Namespace="MC">NCDRIVESTRUCT_IN2</Type>
+ <BitOffs>3008</BitOffs>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn1</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn2</Name>
+ </SubVar>
+ <SubVar>
+ <Name>nState4</Name>
+ <Comment><![CDATA[Drive Status 4 (automatically linked):
+0x01 (0000 0001) = IO data invalid (e.g. EtherCAT 'WcState')
+0x02 (0000 0010) = IO data input toggle (e.g. EtherCAT 'InputToggle')
+
+Drive Status 4 (manually linked):
+0x80 (1000 0000) = Fast axis stop (digital IO interrupt)
+]]></Comment>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn3</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn4</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn5</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataIn6</Name>
+ </SubVar>
+ </Var>
+ </Vars>
+ <Vars VarGrpType="2">
+ <Name>Outputs</Name>
+ <Var>
+ <Name>Out</Name>
+ <Type GUID="{644DC4BD-3D15-4DCB-94C7-24F3A5D579AA}" Namespace="MC">NCDRIVESTRUCT_OUT2</Type>
+ <BitOffs>5056</BitOffs>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut1</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut2</Name>
+ </SubVar>
+ <SubVar>
+ <Name>nCtrl2</Name>
+ <Comment><![CDATA[Digital Outputs Setpoint Generator:
+0x41 (0100 0001) = Minus (0x42 for inverse motor polarity)
+0x42 (0100 0010) = Plus (0x41 for inverse motor polarity)
+0x80 (1000 0000) = Stop
+]]></Comment>
+ </SubVar>
+ <SubVar>
+ <Name>nCtrl3</Name>
+ <Comment><![CDATA[Digital Outputs (Setpoint Generator + Position Controller):
+0x41 (0100 0001) = Minus (0x42 for inverse motor polarity)
+0x42 (0100 0010) = Plus (0x41 for inverse motor polarity)
+0x80 (1000 0000) = Stop
+]]></Comment>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut3</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut4</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut5</Name>
+ </SubVar>
+ <SubVar TypeFormatIndex="2">
+ <Name>nDataOut6</Name>
+ </SubVar>
+ </Var>
+ </Vars>
+ </Drive>
+ <Controller Name="Ctrl" CtrType="1">
+ <CtrPara PriorControlFactor="1">
+ <Observer BandWidth="20"/>
+ </CtrPara>
+ </Controller>
+ <Vars VarGrpType="1" InsertType="1">
+ <Name>Inputs</Name>
+ <Var>
+ <Name>FromPlc</Name>
+ <Type GUID="{63A84524-72E3-41C8-BEAB-4CCE44690A13}" Namespace="MC">PLCTONC_AXIS_REF</Type>
+ <BitOffs>1664</BitOffs>
+ </Var>
+ </Vars>
+ <Vars VarGrpType="2" InsertType="1">
+ <Name>Outputs</Name>
+ <Var>
+ <Name>ToPlc</Name>
+ <Type GUID="{6A65C767-34E5-42BF-AD87-E1A503EAC7BE}" Namespace="MC">NCTOPLC_AXIS_REF</Type>
+ <BitOffs>2688</BitOffs>
+ <SubVar>
+ <Name>AxisState</Name>
+ <Comment><![CDATA[Present State Of The Axis Movement (continuous axis):
+0 = INACTIVE: axis has no job
+1 = RUNNING: axis is executing a motion job
+2 = OVERRIDE_ZERO: axis is executing a job but override is zero
+3 = PHASE_VELOCONST: axis is moving at constant velocity
+4 = PHASE_ACCPOS: axis is accelerating
+5 = PHASE_ACCNEG: axis is decelerating
+Slaves only:
+11 = PREPHASE: slave axis is in a motion pre-phase
+12 = SYNCHRONIZING: slave axis is synchronizing
+13 = SYNCHRONOUS: slave axis is moving synchronously
+External Setpoint Generation:
+41 = EXTSETGEN_MODE1: external setpoint generation active
+42 = EXTSETGEN_MODE2: internal and external setpoint gen. active
+]]></Comment>
+ </SubVar>
+ <SubVar>
+ <Name>HomingState</Name>
+ <Comment><![CDATA[Axis Homing Status:
+0: idle
+1: start homing
+2: searching home switch
+3: stopping on home switch
+4: moving off home switch
+5: searching sync pulse
+6: stopping after homing
+]]></Comment>
+ </SubVar>
+ <SubVar>
+ <Name>CoupleState</Name>
+ <Comment><![CDATA[Axis Coupling Status:
+0: axis is a single axis (not coupled)
+1: axis is a master axis
+2: axis is master and slave
+3: axis is a slave axis
+]]></Comment>
+ </SubVar>
+ </Var>
+ </Vars>
+ </Axis>
+ </NC>
+ </Motion>
<Plc>
- <Project GUID="{F935F1DE-0753-4702-B418-1DC0ED040A4D}" Name="tc_epicscommodule" PrjFilePath="tc_epicscommodule\tc_epicscommodule.plcproj" TmcFilePath="tc_epicscommodule\tc_epicscommodule.tmc" ReloadTmc="true" AmsPort="851" FileArchiveSettings="#x000e" SymbolicMapping="true">
+ <Project Disabled="true" GUID="{F935F1DE-0753-4702-B418-1DC0ED040A4D}" Name="tc_epicscommodule" PrjFilePath="tc_epicscommodule\tc_epicscommodule.plcproj" TmcFilePath="tc_epicscommodule\tc_epicscommodule.tmc" ReloadTmc="true" AmsPort="851" FileArchiveSettings="#x000e" SymbolicMapping="true">
<Instance Id="#x08502000" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" TmcPath="tc_epicscommodule\tc_epicscommodule.tmc">
<Name>tc_epicscommodule Instance</Name>
<CLSID ClassFactory="TcPlc30">{08500001-0000-0000-F000-000000000064}</CLSID>
@@ -1054,5 +1940,19 @@ External Setpoint Generation:
</Instance>
</Project>
</Plc>
+ <Io/>
</Project>
+ <Mappings>
+ <MappingInfo Identifier="{05000010-2041-0850-1000-040340205008}" Id="#x02030010" Watchdog="14000000040000000400000004000000"/>
+ <OwnerA Name="TIPC^tc_project_app^tc_project_app Instance">
+ <OwnerB Name="TINC^NC-Task 1 SAF^Axes^Axis 1">
+ <Link VarA="PlcTask Inputs^GVL.axes[1].Axis.NcToPlc" VarB="Outputs^ToPlc"/>
+ <Link VarA="PlcTask Outputs^GVL.axes[1].Axis.PlcToNc" VarB="Inputs^FromPlc"/>
+ </OwnerB>
+ <OwnerB Name="TINC^NC-Task 1 SAF^Axes^Axis 2">
+ <Link VarA="PlcTask Inputs^GVL.axes[2].Axis.NcToPlc" VarB="Outputs^ToPlc"/>
+ <Link VarA="PlcTask Outputs^GVL.axes[2].Axis.PlcToNc" VarB="Inputs^FromPlc"/>
+ </OwnerB>
+ </OwnerA>
+ </Mappings>
</TcSmProject>
diff --git a/solution/tc_project_app/GlobalTextList.TcGTLO b/solution/tc_project_app/GlobalTextList.TcGTLO
index 1818614..3982a2b 100644
--- a/solution/tc_project_app/GlobalTextList.TcGTLO
+++ b/solution/tc_project_app/GlobalTextList.TcGTLO
@@ -10,16 +10,36 @@
<v n="TextDefault">"%2.2f"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
+ <o>
+ <v n="TextID">"165"</v>
+ <v n="TextDefault">"%2.3f"</v>
+ <l n="LanguageTexts" t="ArrayList" />
+ </o>
+ <o>
+ <v n="TextID">"543"</v>
+ <v n="TextDefault">"%2.4f"</v>
+ <l n="LanguageTexts" t="ArrayList" />
+ </o>
<o>
<v n="TextID">"878"</v>
<v n="TextDefault">"%d"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
+ <o>
+ <v n="TextID">"294"</v>
+ <v n="TextDefault">"%f"</v>
+ <l n="LanguageTexts" t="ArrayList" />
+ </o>
<o>
<v n="TextID">"706"</v>
<v n="TextDefault">"%i"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
+ <o>
+ <v n="TextID">"821"</v>
+ <v n="TextDefault">"%s"</v>
+ <l n="LanguageTexts" t="ArrayList" />
+ </o>
<o>
<v n="TextID">"940"</v>
<v n="TextDefault">"%x"</v>
@@ -105,6 +125,11 @@
<v n="TextDefault">"bResetDone"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
+ <o>
+ <v n="TextID">"693"</v>
+ <v n="TextDefault">"bSet"</v>
+ <l n="LanguageTexts" t="ArrayList" />
+ </o>
<o>
<v n="TextID">"944"</v>
<v n="TextDefault">"bWarning"</v>
@@ -195,6 +220,16 @@
<v n="TextDefault">"gearOut"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
+ <o>
+ <v n="TextID">"566"</v>
+ <v n="TextDefault">"homeSensorNeg"</v>
+ <l n="LanguageTexts" t="ArrayList" />
+ </o>
+ <o>
+ <v n="TextID">"677"</v>
+ <v n="TextDefault">"homeSensorPos"</v>
+ <l n="LanguageTexts" t="ArrayList" />
+ </o>
<o>
<v n="TextID">"711"</v>
<v n="TextDefault">"Inactive:"</v>
@@ -240,6 +275,11 @@
<v n="TextDefault">"Overflows:"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
+ <o>
+ <v n="TextID">"993"</v>
+ <v n="TextDefault">"Read"</v>
+ <l n="LanguageTexts" t="ArrayList" />
+ </o>
<o>
<v n="TextID">"942"</v>
<v n="TextDefault">"reset"</v>
@@ -260,6 +300,11 @@
<v n="TextDefault">"toggle"</v>
<l n="LanguageTexts" t="ArrayList" />
</o>
+ <o>
+ <v n="TextID">"445"</v>
+ <v n="TextDefault">"Write"</v>
+ <l n="LanguageTexts" t="ArrayList" />
+ </o>
</l>
<l n="Languages" t="ArrayList" />
<v n="GuidInit">{062c6d5a-aca0-4f82-8481-8e26e8c8681e}</v>
diff --git a/solution/tc_project_app/POUs/MAIN.TcPOU b/solution/tc_project_app/POUs/MAIN.TcPOU
index f81cabd..81ced47 100644
--- a/solution/tc_project_app/POUs/MAIN.TcPOU
+++ b/solution/tc_project_app/POUs/MAIN.TcPOU
@@ -55,7 +55,7 @@ VAR PERSISTENT
bRestoreOnStartup : BOOL;
END_VAR]]></Declaration>
<Implementation>
- <ST><![CDATA[fbUPS(eUpsMode := eUpsMode); (* call UPS-FB instance in first lines of the fastest PLC Task *)
+ <ST><![CDATA[(*fbUPS(eUpsMode := eUpsMode); (* call UPS-FB instance in first lines of the fastest PLC Task *)
 
IF eGlobalSUpsState = eSUPS_PowerFailure THEN
(* first cycle of powerfailure *)
@@ -67,7 +67,7 @@ ELSIF eGlobalSUpsState > eSUPS_PowerFailure THEN
(* next cycles of powerfailure *)
(* skip regular code execution for the remaining cycles of the powerfailure/writing of persistent data/quick shutdown ... *)
RETURN;
-END_IF
+END_IF*)
 
RESTORE_POSITIONS();
PROG();
diff --git a/solution/tc_project_app/tc_mca_std_lib b/solution/tc_project_app/tc_mca_std_lib
index 852ea37..ce4d55e 160000
--- a/solution/tc_project_app/tc_mca_std_lib
+++ b/solution/tc_project_app/tc_mca_std_lib
@@ -1 +1 @@
-Subproject commit 852ea37aa8d1aadfe0f2b84fd462c1f30aadd492
+Subproject commit ce4d55ec59eeb6d4114ec605b1d57f6fecaa59a3
diff --git a/solution/tc_project_app/tc_project_app.plcproj b/solution/tc_project_app/tc_project_app.plcproj
index b5d34ae..00b04b1 100644
--- a/solution/tc_project_app/tc_project_app.plcproj
+++ b/solution/tc_project_app/tc_project_app.plcproj
@@ -29,6 +29,9 @@
<Compile Include="POUs\MAIN.TcPOU">
<SubType>Code</SubType>
</Compile>
+ <Compile Include="tc_mca_std_lib\DUTs\E_AxisParameters.TcTLEO">
+ <SubType>Code</SubType>
+ </Compile>
<Compile Include="tc_mca_std_lib\DUTs\RestorePosition.TcDUT">
<SubType>Code</SubType>
</Compile>
@@ -352,8 +355,8 @@
<ProjectExtensions>
<PlcProjectOptions>
<XmlArchive>
- <Data>
- <o xml:space="preserve" t="OptionKey">
+ <Data>
+ <o xml:space="preserve" t="OptionKey">
<v n="Name">"&lt;ProjectRoot&gt;"</v>
<d n="SubKeys" t="Hashtable" ckt="String" cvt="OptionKey">
<v>{192FAD59-8248-4824-A8DE-9177C94C195A}</v>
@@ -404,15 +407,15 @@
</d>
<d n="Values" t="Hashtable" />
</o>
- </Data>
- <TypeList>
- <Type n="Boolean">System.Boolean</Type>
- <Type n="Hashtable">System.Collections.Hashtable</Type>
- <Type n="Int32">System.Int32</Type>
- <Type n="OptionKey">{54dd0eac-a6d8-46f2-8c27-2f43c7e49861}</Type>
- <Type n="String">System.String</Type>
- </TypeList>
-</XmlArchive>
+ </Data>
+ <TypeList>
+ <Type n="Boolean">System.Boolean</Type>
+ <Type n="Hashtable">System.Collections.Hashtable</Type>
+ <Type n="Int32">System.Int32</Type>
+ <Type n="OptionKey">{54dd0eac-a6d8-46f2-8c27-2f43c7e49861}</Type>
+ <Type n="String">System.String</Type>
+ </TypeList>
+ </XmlArchive>
</PlcProjectOptions>
</ProjectExtensions>
</Project>
\ No newline at end of file