resolved merge conflicts
This commit is contained in:
@@ -1,11 +1,10 @@
|
||||
image: python:3.7.3
|
||||
options:
|
||||
max-time: 1
|
||||
pipelines:
|
||||
default:
|
||||
- step:
|
||||
script:
|
||||
- git submodule update --init
|
||||
- git submodule
|
||||
- python twincat_version_manager.py
|
||||
- python check_fix_white_space.py
|
||||
image: python:3.7.3
|
||||
options:
|
||||
max-time: 1
|
||||
pipelines:
|
||||
default:
|
||||
- step:
|
||||
script:
|
||||
- git submodule update --init
|
||||
- python twincat_version_manager.py
|
||||
- python check_fix_white_space.py
|
||||
|
||||
@@ -26,6 +26,8 @@ def fix_white_space(debug, fix_files):
|
||||
|
||||
for pathname in found_files:
|
||||
dirty = False
|
||||
had_TAB = False
|
||||
had_trailing_WS = False
|
||||
new_lines = []
|
||||
if debug >= 1:
|
||||
print("tab_with=%d pathname=%s" % (tab_width, pathname))
|
||||
@@ -41,8 +43,16 @@ def fix_white_space(debug, fix_files):
|
||||
had_crlf = 1 # LF
|
||||
# Convert all TAB into SPACE
|
||||
new_line = old_line.expandtabs(tabsize=tab_width)
|
||||
# Strip of all trailing white space, including the CRLF
|
||||
new_line = new_line.rstrip("\r\n ")
|
||||
if new_line != old_line:
|
||||
had_TAB = True
|
||||
# Strip the CRLF
|
||||
new_line = new_line.rstrip("\r\n")
|
||||
# Strip trailing WS
|
||||
tmp_line = new_line.rstrip(" ")
|
||||
if tmp_line != new_line:
|
||||
had_trailing_WS = True
|
||||
new_line = tmp_line
|
||||
|
||||
if had_crlf == 2:
|
||||
new_line = new_line + '\r\n'
|
||||
elif had_crlf == 1:
|
||||
@@ -61,7 +71,12 @@ def fix_white_space(debug, fix_files):
|
||||
if debug >= 1:
|
||||
print("pathname=%s dirty=%d" % (pathname, dirty))
|
||||
if dirty:
|
||||
incorrect_files[pathname] = True
|
||||
if had_TAB and had_trailing_WS:
|
||||
incorrect_files[pathname] = 'has white space damage'
|
||||
elif had_TAB:
|
||||
incorrect_files[pathname] = 'has TAB'
|
||||
elif had_trailing_WS:
|
||||
incorrect_files[pathname] = 'has trailing whitespace'
|
||||
if fix_files:
|
||||
file = open(pathname, 'w', newline='', encoding="iso-8859-1")
|
||||
file.writelines(new_lines)
|
||||
@@ -88,8 +103,10 @@ if __name__ == "__main__":
|
||||
incorrect_files = fix_white_space(debug, fix_files)
|
||||
if not fix_files:
|
||||
for file in incorrect_files:
|
||||
print("ERROR: '{}' has white space damage".format(file))
|
||||
message = incorrect_files[file]
|
||||
print("ERROR: '{}' {}".format(file,message))
|
||||
if incorrect_files:
|
||||
print('run %s --fix' % sys.argv[0])
|
||||
exit(1)
|
||||
except IOError as e:
|
||||
print(e) # Likely no files found
|
||||
|
||||
@@ -1,880 +1,8 @@
|
||||
<?xml version="1.0"?>
|
||||
<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>
|
||||
<BitSize>32</BitSize>
|
||||
<SubItem>
|
||||
<Name>Operational</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</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>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>InPositionArea</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>3</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>InTargetPosition</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>4</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>Protected</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>5</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>ErrorPropagationDelayed</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>6</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>HasBeenStopped</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>7</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>HasJob</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>8</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>PositiveDirection</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>9</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>NegativeDirection</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>10</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>HomingBusy</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>11</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>ConstantVelocity</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>12</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>Compensating</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>13</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>ExtSetPointGenEnabled</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>14</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>PhasingActive</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>15</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>ExternalLatchValid</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>16</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>NewTargetPos</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>17</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>ContinuousMotion</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>19</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>ControlLoopClosed</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>20</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>CamTableQueued</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>21</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>CamDataQueued</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>22</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>CamScalingPending</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>23</BitOffs>
|
||||
</SubItem>
|
||||
<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>
|
||||
<Format Name="IEC">
|
||||
<Printf>16#%08X</Printf>
|
||||
</Format>
|
||||
</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>
|
||||
<SubItem>
|
||||
<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>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>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>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>SetPos</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>640</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>SetVelo</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>704</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>SetAcc</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>
|
||||
<BitOffs>832</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>ModuloSetPos</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>896</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>ModuloSetTurns</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000009}">DINT</Type>
|
||||
<BitSize>32</BitSize>
|
||||
<BitOffs>960</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<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>1024</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>SetTorque</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>1088</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>ActTorque</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>1152</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>
|
||||
</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>1536</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>SetTorqueDerivative</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>1600</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>ActPosWithoutPosCorrection</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>1792</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>ActAcc</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>1856</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<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>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>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>0</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>FeedEnablePlus</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>1</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>FeedEnableMinus</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>2</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>HomingSensor</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<BitOffs>5</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>AcceptBlockedDrive</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
|
||||
<BitSize>1</BitSize>
|
||||
<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="{63A84524-72E3-41C8-BEAB-4CCE44690A13}" Namespace="MC" TcBaseType="true">PLCTONC_AXIS_REF</Name>
|
||||
<BitSize>1024</BitSize>
|
||||
<SubItem>
|
||||
<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>Override</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
|
||||
<BitSize>32</BitSize>
|
||||
<BitOffs>32</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>AxisModeRequest</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type>
|
||||
<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>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>AxisModeLReal</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>128</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>PositionCorrection</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>192</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>ExtSetPos</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>256</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>ExtSetVelo</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>320</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>ExtSetAcc</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>384</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>ExtSetDirection</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000009}">DINT</Type>
|
||||
<BitSize>32</BitSize>
|
||||
<BitOffs>448</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>ExtControllerOutput</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>512</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>GearRatio1</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>576</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>GearRatio2</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>640</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>GearRatio3</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>704</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>GearRatio4</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
|
||||
<BitSize>64</BitSize>
|
||||
<BitOffs>768</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>MapState</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000030}">BOOL</Type>
|
||||
<BitSize>8</BitSize>
|
||||
<BitOffs>832</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<Name>PlcCycleControl</Name>
|
||||
<Type GUID="{18071995-0000-0000-0000-000000000001}">BYTE</Type>
|
||||
<BitSize>8</BitSize>
|
||||
<BitOffs>840</BitOffs>
|
||||
</SubItem>
|
||||
<SubItem>
|
||||
<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>
|
||||
</DataTypes>
|
||||
<Project ProjectGUID="{9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}" Target64Bit="true" ShowHideConfigurations="#x106">
|
||||
<System>
|
||||
<Settings DontCheckTarget="130.246.50.191.1.1"/>
|
||||
<Licenses>
|
||||
<Target>
|
||||
<ManualSelect>{3EBB9639-5FF3-42B6-8847-35C70DC013C8}</ManualSelect>
|
||||
@@ -897,79 +25,7 @@ External Setpoint Generation:
|
||||
<Instance Id="#x08502040" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" TmcPath="tc_project_app\tc_project_app.tmc">
|
||||
<Name>tc_project_app Instance</Name>
|
||||
<CLSID ClassFactory="TcPlc30">{08500001-0000-0000-F000-000000000064}</CLSID>
|
||||
<Vars VarGrpType="1">
|
||||
<Name>PlcTask Inputs</Name>
|
||||
<Var>
|
||||
<Name>GVL.axes[1].bLimitFwd</Name>
|
||||
<Comment><![CDATA[////Axis Inputs///////]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>GVL.axes[1].bLimitBwd</Name>
|
||||
<Comment><![CDATA[Backward limit switch]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>GVL.axes[1].bHomeSensor</Name>
|
||||
<Comment><![CDATA[Reference siganl for homing]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>GVL.axes[1].bEncLAtch</Name>
|
||||
<Comment><![CDATA[Reference index signal from inc. enconder]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>GVL.axes[1].Axis.NcToPlc</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>
|
||||
<Vars VarGrpType="2">
|
||||
<Name>PlcTask Outputs</Name>
|
||||
<Var>
|
||||
<Name>GVL.axes[1].Axis.PlcToNc</Name>
|
||||
<Type GUID="{63A84524-72E3-41C8-BEAB-4CCE44690A13}" Namespace="MC">PLCTONC_AXIS_REF</Type>
|
||||
</Var>
|
||||
</Vars>
|
||||
|
||||
<TaskPouOids>
|
||||
<TaskPouOid Prio="20" OTCID="#x08502041"/>
|
||||
</TaskPouOids>
|
||||
|
||||
@@ -86,7 +86,6 @@ END_IF]]></ST>
|
||||
<Implementation>
|
||||
<ST><![CDATA[//
|
||||
(* Program any sequence, safety or feature (if necessary) application specific in thsi section*)
|
||||
|
||||
//]]></ST>
|
||||
</Implementation>
|
||||
</Action>
|
||||
@@ -240,7 +239,6 @@ END_FOR]]></ST>
|
||||
<LineIds Name="MAIN.PROG">
|
||||
<LineId Id="2" Count="0" />
|
||||
<LineId Id="1" Count="0" />
|
||||
<LineId Id="5" Count="0" />
|
||||
<LineId Id="3" Count="0" />
|
||||
</LineIds>
|
||||
<LineIds Name="MAIN.RESTORE_POSITIONS">
|
||||
|
||||
@@ -0,0 +1,248 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.0">
|
||||
<POU Name="FB_Axis_TEST" Id="{3bfca2b4-3b3f-48f2-9900-9d4cd3404e9e}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[// Test suite for the FB_Axis POU
|
||||
{attribute 'call_after_init'}
|
||||
FUNCTION_BLOCK FB_Axis_TEST EXTENDS tcUnit.FB_TestSuite
|
||||
VAR
|
||||
fbCommon: FB_tcUNIT_common;
|
||||
iTargetAxis: INT := 1; // The <index> of the axis within GVL.axes[<index>] to test against.
|
||||
END_VAR]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[// Declare methods defined in the FB_Axis_TEST POU to be included (executed) in the test suite
|
||||
SetAxisControl_Enabled();
|
||||
CheckAxisStatus_Moving();
|
||||
SetAxisConfig_Acceleration();
|
||||
CheckAxisStatus_NewPosition();
|
||||
SetAxisControl_Velocity();
|
||||
SetAxisInputs_bLimitFwd();]]></ST>
|
||||
</Implementation>
|
||||
<Method Name="CheckAxisStatus_Moving" Id="{f7dcf822-91ec-4555-918f-e2487353578a}">
|
||||
<Declaration><![CDATA[METHOD CheckAxisStatus_Moving
|
||||
VAR
|
||||
Result: BOOL;
|
||||
ExpectedResult: BOOL;
|
||||
|
||||
nCycle: UINT;
|
||||
nMaxCycles: UINT := 30;
|
||||
END_VAR]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[TEST('test_GIVEN_new_axis_position_WHEN_execute_move_THEN_axis_moves');
|
||||
|
||||
ExpectedResult := TRUE;
|
||||
|
||||
fbCommon.mPrepareDefaultMove(iTargetAxis);
|
||||
fbCommon.mExecute(iTargetAxis);
|
||||
|
||||
Result := GVL.axes[iTargetAxis].status.bBusy;
|
||||
|
||||
IF nCycle > nMaxCycles OR ExpectedResult = Result THEN
|
||||
AssertEquals(Expected := ExpectedResult,
|
||||
Actual := Result,
|
||||
Message := 'Axis is not moving.');
|
||||
TEST_FINISHED();
|
||||
ELSE
|
||||
nCycle := nCycle + 1;
|
||||
END_IF]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
<Method Name="CheckAxisStatus_NewPosition" Id="{604b9446-af57-41db-afac-f53f5b12cc2c}">
|
||||
<Declaration><![CDATA[METHOD CheckAxisStatus_NewPosition
|
||||
VAR
|
||||
InitialValue: LREAL;
|
||||
Result: LREAL;
|
||||
ExpectedResult: LREAL;
|
||||
nCycle: UINT;
|
||||
nCycleMax: UINT := 100;
|
||||
END_VAR]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[TEST('test_GIVEN_new_axis_position_set_WHEN_executed_THEN_axis_moves_to_new_position');
|
||||
|
||||
// Since the axis has state; a test might begin the position at some location set by
|
||||
// a previous test. Therefore if we execute a move we should just check it's moved
|
||||
// from the initial location not some initial default.
|
||||
|
||||
InitialValue := GVL.axes[iTargetAxis].config.fPosition;
|
||||
ExpectedResult := InitialValue + 10;
|
||||
GVL.axes[iTargetAxis].config.fPosition := ExpectedResult;
|
||||
|
||||
GVL.axes[iTargetAxis].control.eCommand := MotionFunctions.MoveAbsolute;
|
||||
GVL.axes[iTargetAxis].control.bExecute := TRUE;
|
||||
|
||||
Result := GVL.axes[iTargetAxis].status.fActPosition;
|
||||
|
||||
IF nCycle > nCycleMax OR ExpectedResult = Result THEN
|
||||
AssertEquals(Expected := ExpectedResult,
|
||||
Actual := Result,
|
||||
Message := 'fPosition of the axis is different.');
|
||||
TEST_FINISHED();
|
||||
ELSE
|
||||
nCycle := nCycle + 1;
|
||||
END_IF]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
<Method Name="SetAxisConfig_Acceleration" Id="{2efd2402-6ad3-455d-a703-347847c98522}">
|
||||
<Declaration><![CDATA[METHOD SetAxisConfig_Acceleration
|
||||
VAR
|
||||
InitialValue: LREAL;
|
||||
Result: LREAL;
|
||||
ExpectedResult: LREAL;
|
||||
END_VAR]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[TEST('test_GIVEN_new_axis_acceleration_set_WHEN_executed_THEN_new_axis_acceleration_set');
|
||||
|
||||
// example of direct GVL axis reference for assert.
|
||||
|
||||
ExpectedResult := tcUNIT_gvl.fDEFAULT_TARGET_ACCELERATION;
|
||||
fbCommon.mPrepareDefaultMove(iTargetAxis);
|
||||
|
||||
Result := GVL.axes[1].config.fAcceleration;
|
||||
|
||||
AssertEquals(Expected := ExpectedResult,
|
||||
Actual := Result,
|
||||
Message := 'fAcceleration of the axis is different.');
|
||||
|
||||
TEST_FINISHED();]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
<Method Name="SetAxisControl_Enabled" Id="{749049e6-6152-4a23-ac76-75883bd089b7}">
|
||||
<Declaration><![CDATA[METHOD SetAxisControl_Enabled
|
||||
VAR
|
||||
Result: BOOL;
|
||||
ExpectedResult: BOOL;
|
||||
nCycle: UINT;
|
||||
nMaxCycles: UINT := 30;
|
||||
END_VAR]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[TEST('test_GIVEN_prepare_default_move_WHEN_move_prepared_THEN_axis_enabled');
|
||||
|
||||
// example of test that requires multiple cycles to complete. Due to stateful behaviour of the axis structure.
|
||||
|
||||
ExpectedResult := TRUE;
|
||||
GVL.axes[1].control.bEnable := ExpectedResult;
|
||||
|
||||
Result := GVL.axes[iTargetAxis].status.bEnabled;
|
||||
|
||||
IF nCycle > nMaxCycles OR ExpectedResult = Result THEN
|
||||
AssertEquals(Expected := ExpectedResult,
|
||||
Actual := Result,
|
||||
Message := 'Axis is not enabled.');
|
||||
TEST_FINISHED();
|
||||
ELSE
|
||||
nCycle := nCycle + 1;
|
||||
END_IF
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
<Method Name="SetAxisControl_Velocity" Id="{f87270b6-fb94-4214-bb13-17f22f6ab8f5}">
|
||||
<Declaration><![CDATA[METHOD SetAxisControl_Velocity
|
||||
VAR
|
||||
InitialValue: LREAL;
|
||||
Result: LREAL;
|
||||
ExpectedResult: LREAL;
|
||||
|
||||
fDelta: REAL := 0.01;
|
||||
END_VAR]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[TEST('test_GIVEN_new_axis_velocity_set_WHEN_executed_THEN_new_axis_velocity_set');
|
||||
|
||||
// Example of using a tcUNIT assert for a specific type (in this case LREAL).
|
||||
|
||||
InitialValue := GVL.axes[iTargetAxis].config.fVelocity;
|
||||
ExpectedResult := InitialValue + 0.5;
|
||||
GVL.Axes[iTargetAxis].config.fVelocity := ExpectedResult;
|
||||
|
||||
Result := GVL.axes[iTargetAxis].config.fVelocity;
|
||||
|
||||
AssertEquals_LREAL(Expected := ExpectedResult,
|
||||
Actual := Result,
|
||||
Delta := fDelta,
|
||||
Message := 'fVelocity of the axis is different.');
|
||||
TEST_FINISHED();
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
<Method Name="SetAxisInputs_bLimitFwd" Id="{6304c3b1-9e72-403e-9ae2-a5609b1efe92}">
|
||||
<Declaration><![CDATA[METHOD SetAxisInputs_bLimitFwd
|
||||
VAR
|
||||
Result: BOOL;
|
||||
ExpectedResult: BOOL;
|
||||
|
||||
nCycle: UINT;
|
||||
nMaxCycles: UINT := 30;
|
||||
END_VAR]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[TEST('test_GIVEN_prepare_default_move_WHEN_bFwEnabled_prepared_enabled_THEN_bFwEnable_enabled');
|
||||
|
||||
ExpectedResult := TRUE;
|
||||
|
||||
GVL.axes[iTargetAxis].inputs.bLimitFwd := TRUE;
|
||||
|
||||
Result := GVL.axes[iTargetAxis].status.bFwEnabled;
|
||||
|
||||
IF nCycle > nMaxCycles OR ExpectedResult = Result THEN
|
||||
AssertEquals(Expected := ExpectedResult,
|
||||
Actual := Result,
|
||||
Message := 'Axis bLimitFwd is not enabled.');
|
||||
TEST_FINISHED();
|
||||
ELSE
|
||||
nCycle := nCycle + 1;
|
||||
END_IF]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
<LineIds Name="FB_Axis_TEST">
|
||||
<LineId Id="37" Count="0" />
|
||||
<LineId Id="34" Count="0" />
|
||||
<LineId Id="38" Count="1" />
|
||||
<LineId Id="12" Count="0" />
|
||||
<LineId Id="40" Count="0" />
|
||||
<LineId Id="48" Count="0" />
|
||||
</LineIds>
|
||||
<LineIds Name="FB_Axis_TEST.CheckAxisStatus_Moving">
|
||||
<LineId Id="127" Count="16" />
|
||||
</LineIds>
|
||||
<LineIds Name="FB_Axis_TEST.CheckAxisStatus_NewPosition">
|
||||
<LineId Id="121" Count="21" />
|
||||
<LineId Id="56" Count="0" />
|
||||
</LineIds>
|
||||
<LineIds Name="FB_Axis_TEST.SetAxisConfig_Acceleration">
|
||||
<LineId Id="5" Count="0" />
|
||||
<LineId Id="50" Count="1" />
|
||||
<LineId Id="9" Count="0" />
|
||||
<LineId Id="13" Count="0" />
|
||||
<LineId Id="57" Count="0" />
|
||||
<LineId Id="23" Count="0" />
|
||||
<LineId Id="22" Count="0" />
|
||||
<LineId Id="25" Count="4" />
|
||||
<LineId Id="24" Count="0" />
|
||||
</LineIds>
|
||||
<LineIds Name="FB_Axis_TEST.SetAxisControl_Enabled">
|
||||
<LineId Id="144" Count="16" />
|
||||
<LineId Id="107" Count="0" />
|
||||
</LineIds>
|
||||
<LineIds Name="FB_Axis_TEST.SetAxisControl_Velocity">
|
||||
<LineId Id="5" Count="0" />
|
||||
<LineId Id="92" Count="1" />
|
||||
<LineId Id="10" Count="0" />
|
||||
<LineId Id="61" Count="2" />
|
||||
<LineId Id="67" Count="0" />
|
||||
<LineId Id="69" Count="0" />
|
||||
<LineId Id="91" Count="0" />
|
||||
<LineId Id="70" Count="1" />
|
||||
<LineId Id="80" Count="0" />
|
||||
<LineId Id="72" Count="0" />
|
||||
<LineId Id="24" Count="0" />
|
||||
<LineId Id="86" Count="0" />
|
||||
</LineIds>
|
||||
<LineIds Name="FB_Axis_TEST.SetAxisInputs_bLimitFwd">
|
||||
<LineId Id="24" Count="0" />
|
||||
<LineId Id="26" Count="0" />
|
||||
<LineId Id="25" Count="0" />
|
||||
<LineId Id="48" Count="2" />
|
||||
<LineId Id="67" Count="0" />
|
||||
<LineId Id="19" Count="0" />
|
||||
<LineId Id="58" Count="6" />
|
||||
<LineId Id="57" Count="0" />
|
||||
</LineIds>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.0">
|
||||
<POU Name="tcUNIT_STD_LIB_RUN" Id="{5e8cc903-e536-40be-a096-d6b305fbb618}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[// tcUNIT Standard Library tests: Add program to PLC task in order to run tcUNIT tests against the declared POU test suites
|
||||
PROGRAM tcUNIT_STD_LIB_RUN
|
||||
VAR
|
||||
// Declare standard library POU tests to be run
|
||||
fbFB_Axis: FB_Axis_TEST;
|
||||
END_VAR]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[TcUnit.RUN();]]></ST>
|
||||
</Implementation>
|
||||
<LineIds Name="tcUNIT_STD_LIB_RUN">
|
||||
<LineId Id="45" Count="0" />
|
||||
</LineIds>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
@@ -29,6 +29,15 @@
|
||||
<Compile Include="POUs\MAIN.TcPOU">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Test\app_tests\tcUNIT_APP_RUN.TcPOU">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Test\common\FB_tcUNIT_common.TcPOU">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Test\common\tcUNIT_GVL.TcGVL">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="tc_mca_std_lib\DUTs\RestorePosition.TcDUT">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
@@ -118,6 +127,12 @@
|
||||
<Compile Include="tc_mca_std_lib\POUs\VISUs\visuTextLinks.TcTLO">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Test\standard_library_tests\FB_Axis_TEST.TcPOU">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Test\standard_library_tests\tcUNIT_STD_LIB_RUN.TcPOU">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Test\app_tests\tcUNIT_APP_RUN.TcPOU">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
@@ -145,6 +160,7 @@
|
||||
<Folder Include="tc_mca_std_lib\POUs\Hardware" />
|
||||
<Folder Include="tc_mca_std_lib\POUs\Motion\Homing" />
|
||||
<Folder Include="tc_mca_std_lib\POUs\VISUs" />
|
||||
<Folder Include="Test\standard_library_tests" />
|
||||
<Folder Include="Test\app_tests" />
|
||||
<Folder Include="Test\common" />
|
||||
<Folder Include="VISUs" />
|
||||
@@ -247,8 +263,8 @@
|
||||
<ProjectExtensions>
|
||||
<PlcProjectOptions>
|
||||
<XmlArchive>
|
||||
<Data>
|
||||
<o xml:space="preserve" t="OptionKey">
|
||||
<Data>
|
||||
<o xml:space="preserve" t="OptionKey">
|
||||
<v n="Name">"<ProjectRoot>"</v>
|
||||
<d n="SubKeys" t="Hashtable" ckt="String" cvt="OptionKey">
|
||||
<v>{192FAD59-8248-4824-A8DE-9177C94C195A}</v>
|
||||
@@ -299,15 +315,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>
|
||||
Reference in New Issue
Block a user