Merge branch 'origin/master' into MBP-198_OOP

Conflicts:
solution/_Config/PLC/tc_project_app.xti
solution/solution.tsproj
solution/tc_project_app/POUs/MAIN.TcPOU
solution/tc_project_app/tc_mca_std_lib
solution/tc_project_app/tc_project_app.plcproj
This commit is contained in:
Federico Rojas
2022-08-25 13:11:11 +02:00
11 changed files with 37 additions and 989 deletions

1
.gitignore vendored
View File

@@ -13,6 +13,7 @@ UpgradeLog.htm
_Boot/
_CompileInfo/
_Libraries/
LineIDs.dbg
logs.0*
solution/TrialLicense.tclrs
tools/linux/ADS/

View File

@@ -1,5 +0,0 @@
Copy and paste in this folder the licenses contained inside the Beckhoff CPU in the path:
C:\TwinCAT\3.1\Target\License
Thank you

View File

@@ -1,971 +1,7 @@
<?xml version="1.0"?>
<TcSmItem 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.4024.32" ClassName="CNestedPlcProjDef">
<DataTypes>
<DataType>
<Name GUID="{CBC83B73-B816-4597-A9E5-2B03263CA131}" 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>IsDriveLimitActive</Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
<BitOffs>18</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>
<Relations>
<Relation Priority="100">
<Type>{4C3FC5AC-D5AA-44C6-AC5A-159774BA0F6D}</Type>
</Relation>
</Relations>
</DataType>
<DataType>
<Name GUID="{6BDEED54-7268-405F-A18B-665A0AE0FEE9}" 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>OpModeStopMonitoring</Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
<BitOffs>12</BitOffs>
</SubItem>
<SubItem>
<Name>OpModeOutputSmoothingFilter</Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
<BitOffs>13</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="{F7B9FC50-054E-4547-B468-83A9E72D8064}" Namespace="MC" TcBaseType="true" HideType="true">NCTOPLC_AXIS_REF_STATE3_FLAGS</Name>
<BitSize>32</BitSize>
<SubItem>
<Name>TouchProbe1InputState </Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
<BitOffs>0</BitOffs>
</SubItem>
<SubItem>
<Name>TouchProbe2InputState </Name>
<Type GUID="{18071995-0000-0000-0000-000000000010}">BIT</Type>
<BitSize>1</BitSize>
<BitOffs>1</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="{60E203BA-3CEE-4BB0-8728-643B1F529592}" Namespace="MC" TcBaseType="true" HideType="true">NCTOPLC_AXIS_REF_STATE3</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="{F7B9FC50-054E-4547-B468-83A9E72D8064}" Namespace="MC">NCTOPLC_AXIS_REF_STATE3_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="{10036166-C9D3-404B-BDD3-323034AAA7F4}" Namespace="MC" TcBaseType="true">NCTOPLC_AXIS_REF</Name>
<BitSize>2048</BitSize>
<SubItem>
<Name>StateDWord</Name>
<Type GUID="{CBC83B73-B816-4597-A9E5-2B03263CA131}" 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="{6BDEED54-7268-405F-A18B-665A0AE0FEE9}" 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="{60E203BA-3CEE-4BB0-8728-643B1F529592}" Namespace="MC">NCTOPLC_AXIS_REF_STATE3</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>AbsPhasingPos</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
<BitOffs>1664</BitOffs>
</SubItem>
<SubItem>
<Name>TorqueOffset</Name>
<Type GUID="{18071995-0000-0000-0000-00000000000E}">LREAL</Type>
<BitSize>64</BitSize>
<BitOffs>1728</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>
<Relation Priority="100">
<Type GUID="{6A65C767-34E5-42BF-AD87-E1A503EAC7BE}"></Type>
</Relation>
<Relation Priority="100">
<Type GUID="{72F5AAAA-16DF-4ED3-8367-F6C8C3ADAE99}"></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 GUID="{FB261665-FD20-4BF2-97F8-2854C82B752D}" Name="tc_project_app" PrjFilePath="..\..\tc_project_app\tc_project_app.plcproj" TmcFilePath="..\..\tc_project_app\tc_project_app.tmc" ReloadTmc="true" AmsPort="852" FileArchiveSettings="#x000e" SymbolicMapping="true">
<Instance Id="#x08502040" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" TmcPath="tc_project_app\tc_project_app.tmc" TmcHash="{077AA59A-D617-A4EF-4CED-9130204B9CC4}">
<Instance Id="#x08502040" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" TmcPath="tc_project_app\tc_project_app.tmc" TmcHash="{3F0869C5-5C4C-2774-FAAE-E6295D2C6021}">
<Name>tc_project_app Instance</Name>
<CLSID ClassFactory="TcPlc30">{08500001-0000-0000-F000-000000000064}</CLSID>
<Vars VarGrpType="1">

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.11">
<GlobalTextList Name="GlobalTextList" Id="{c3494959-baa5-4f73-b0cd-9c11912145dd}">
<XmlArchive>
<Data>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.11">
<POU Name="Application_Template" Id="{4bdeebc0-15d8-4790-97d0-e9c4239d121c}" SpecialFunc="None">
<Declaration><![CDATA[PROGRAM Application_Template
VAR

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.11">
<POU Name="Pneumatics_Template" Id="{7bf401fb-a600-4741-a67b-36f20e194cfc}" SpecialFunc="None">
<Declaration><![CDATA[PROGRAM Pneumatics_Template
VAR

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.11">
<Task Name="PlcTask" Id="{96ece0eb-a21b-4000-8986-812071c196ce}">
<!--CycleTime in micro seconds.-->
<CycleTime>10000</CycleTime>

View File

@@ -466,34 +466,34 @@
<d n="FbMethods" t="CaseInsensitiveHashtable" ckt="String" cvt="Guid">
<v>ExecuteLooseCapture</v>
<v>4e2884cd-dc97-4120-914c-87a83e618f1f</v>
<v>ExecuteMouseUp</v>
<v>57eea9a5-15d9-4269-bb8d-9fee5420cdb2</v>
<v>Init</v>
<v>e61a0910-39b6-4bcc-9a64-fcab62230628</v>
<v>FB_Exit</v>
<v>e6e1ea47-0811-4b03-9888-d0564361e0d6</v>
<v>ExecuteMouseDblClick</v>
<v>a517a0ac-170b-4df4-b289-55dcb57628ed</v>
<v>GetElementInfo</v>
<v>f64cb89f-3016-4fba-85f5-02efcd4282c1</v>
<v>ExecuteMouseDown</v>
<v>94bab392-b395-4c03-9d0e-5738d11bd021</v>
<v>ExecuteMouseUp</v>
<v>57eea9a5-15d9-4269-bb8d-9fee5420cdb2</v>
<v>ExecuteMouseEnter</v>
<v>569205fa-533b-4fc2-8d51-21ccab693305</v>
<v>FB_Reinit</v>
<v>97933c03-0169-4afe-ac83-de892204e120</v>
<v>Initialize</v>
<v>6946d6e0-129f-4425-b8b0-ef98281a99e9</v>
<v>ExecuteMouseMove</v>
<v>58fc221c-be14-4e34-871e-a118f8ba9539</v>
<v>GetElementInfo</v>
<v>f64cb89f-3016-4fba-85f5-02efcd4282c1</v>
<v>abstrGetDefaultCursor</v>
<v>25718998-50a9-408d-8b3f-20a55e2cc784</v>
<v>ExecuteDialogClosed</v>
<v>f08d08b6-e70c-4bef-a136-38845bd246d8</v>
<v>ExecuteKeyUp</v>
<v>7403635b-2725-4f00-93d4-e0dd125959de</v>
<v>ExecuteKeyDown</v>
<v>9649ecda-3794-4d6b-a8a7-71e528d9d170</v>
<v>abstrGetDefaultCursor</v>
<v>25718998-50a9-408d-8b3f-20a55e2cc784</v>
<v>ExecuteMouseEnter</v>
<v>569205fa-533b-4fc2-8d51-21ccab693305</v>
<v>ExecuteMouseMove</v>
<v>58fc221c-be14-4e34-871e-a118f8ba9539</v>
<v>Initialize</v>
<v>6946d6e0-129f-4425-b8b0-ef98281a99e9</v>
<v>ExecuteMouseLeave</v>
<v>3bacea68-55b4-4764-928e-e69910299932</v>
<v>FB_Init</v>

View File

@@ -16,6 +16,7 @@
<Released>false</Released>
<CompilerVersion>
</CompilerVersion>
<WriteProductVersion>true</WriteProductVersion>
</PropertyGroup>
<ItemGroup>
<Compile Include="GlobalTextList.TcGTLO">
@@ -76,6 +77,9 @@
<Compile Include="tc_mca_std_lib\DUTs\E_AxisParameters.TcTLEO">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\DUTs\E_MonitoringLedFunction.TcDUT">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\DUTs\E_MotorTypeClass.TcDUT">
<SubType>Code</SubType>
</Compile>
@@ -89,6 +93,9 @@
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\DUTs\I_Axis.TcIO">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\DUTs\E_SlitPairStatesV2.TcDUT">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\DUTs\Pneumatics\E_PneumaticAxisErrors.TcDUT">
@@ -118,6 +125,9 @@
<Compile Include="tc_mca_std_lib\DUTs\E_SlitPairStates.TcDUT">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\DUTs\ST_MonitoringAlarm.TcDUT">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\DUTs\E_MotionFunctions.TcDUT">
<SubType>Code</SubType>
</Compile>
@@ -127,12 +137,18 @@
<Compile Include="tc_mca_std_lib\GVLs\GVL.TcGVL">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\POUs\FB_ESSMonitoring.TcPOU">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\POUs\Motion\FB_Axis.TcPOU">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\POUs\Motion\FB_SlitPair.TcPOU">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\POUs\Motion\FB_SlitPairV2.TcPOU">
<SubType>Code</SubType>
</Compile>
<Compile Include="tc_mca_std_lib\POUs\Motion\Homing\FB_Homing.TcPOU">
<SubType>Code</SubType>
</Compile>
@@ -397,7 +413,7 @@
<Resolution>Tc2_Math, * (Beckhoff Automation GmbH)</Resolution>
</PlaceholderResolution>
<PlaceholderResolution Include="Tc2_MC2">
<Resolution>Tc2_MC2, * (Beckhoff Automation GmbH)</Resolution>
<Resolution>Tc2_MC2, 3.3.48.0 (Beckhoff Automation GmbH)</Resolution>
</PlaceholderResolution>
<PlaceholderResolution Include="Tc2_MC2_Drive">
<Resolution>Tc2_MC2_Drive, * (Beckhoff Automation GmbH)</Resolution>

View File

@@ -2,7 +2,7 @@ import glob
import xml.etree.ElementTree as ET
VERSION_TAGS = {"**/*.Tc*": "ProductVersion", "**/*.tsproj": "TcVersion"}
CORRECT_VERSIONS = {"**/*.Tc*": "3.1.4024.5", "**/*.tsproj": "3.1.4024.11"}
CORRECT_VERSIONS = {"**/*.Tc*": "3.1.4024.11", "**/*.tsproj": "3.1.4024.32"}
def check_versions():