ALLOW LOCAL SIMULATIONS TO BYBASS UPS CHECK

Add CHECK_UPS action to house monitoring of the UPS global status
Modify RESTORE_POSITIONS state machine to remove numerical enumeration
usage
Add device identity functionblock to check whether local simulation or
CX
Add POSITION RECOVERY action to check device type and determine whether
to run
position restore and ups checking
Add solution/_Config/ folder to gitignore to remove NC and IO
This commit is contained in:
Simon-Cooper
2020-02-07 10:17:46 +00:00
parent 13dc7a0ba1
commit 1079229ffb
3 changed files with 91 additions and 112 deletions
+44 -85
View File
@@ -1,8 +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">
<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.4024.4">
<DataTypes>
<DataType>
<Name GUID="{4C3FC5AC-D5AA-44C6-AC5A-159774BA0F6D}" Namespace="MC" TcBaseType="true" HideType="true" IecDeclaration="DWORD;">NCTOPLC_AXIS_REF_STATE</Name>
<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>
@@ -112,6 +112,12 @@
<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>
@@ -199,6 +205,11 @@
<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="{6EF49753-C72C-4F50-AA44-3C7498E76CFE}" Namespace="MC" TcBaseType="true" HideType="true" IecDeclaration="DWORD;">NCTOPLC_AXIS_REF_OPMODE</Name>
@@ -394,11 +405,11 @@
</ArrayInfo>
</DataType>
<DataType>
<Name GUID="{6A65C767-34E5-42BF-AD87-E1A503EAC7BE}" Namespace="MC" TcBaseType="true">NCTOPLC_AXIS_REF</Name>
<Name GUID="{72F5AAAA-16DF-4ED3-8367-F6C8C3ADAE99}" 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>
<Type GUID="{CBC83B73-B816-4597-A9E5-2B03263CA131}" Namespace="MC">NCTOPLC_AXIS_REF_STATE</Type>
<BitSize>32</BitSize>
<BitOffs>0</BitOffs>
</SubItem>
@@ -646,6 +657,18 @@ External Setpoint Generation:
<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>
@@ -692,6 +715,9 @@ External Setpoint Generation:
<Relation Priority="100">
<Type GUID="{8CDE0C45-AB9D-42DB-BC94-1CF7521AB268}"></Type>
</Relation>
<Relation Priority="100">
<Type GUID="{6A65C767-34E5-42BF-AD87-E1A503EAC7BE}"></Type>
</Relation>
</Relations>
</DataType>
<DataType>
@@ -873,7 +899,7 @@ External Setpoint Generation:
</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,6 +915,9 @@ External Setpoint Generation:
</Task>
</Tasks>
</System>
<Motion>
<NC File="NC.xti"/>
</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">
<Instance Id="#x08502000" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" TmcPath="tc_epicscommodule\tc_epicscommodule.tmc">
@@ -927,46 +956,7 @@ External Setpoint Generation:
</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>
<Type GUID="{72F5AAAA-16DF-4ED3-8367-F6C8C3ADAE99}" Namespace="MC">NCTOPLC_AXIS_REF</Type>
</Var>
<Var>
<Name>GVL.axes[2].inputs.bLimitFwd</Name>
@@ -990,46 +980,7 @@ External Setpoint Generation:
</Var>
<Var>
<Name>GVL.axes[2].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>
<Type GUID="{72F5AAAA-16DF-4ED3-8367-F6C8C3ADAE99}" Namespace="MC">NCTOPLC_AXIS_REF</Type>
</Var>
</Vars>
<Vars VarGrpType="2">
@@ -1055,4 +1006,12 @@ External Setpoint Generation:
</Project>
</Plc>
</Project>
<Mappings>
<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>
</OwnerA>
</Mappings>
</TcSmProject>