WIP new slit code

This commit is contained in:
SCooper
2022-04-11 14:47:46 +01:00
parent 8c95fa90f4
commit 7d007f9249
30 changed files with 12364 additions and 121 deletions
+2 -2
View File
@@ -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
@@ -0,0 +1,46 @@
<?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.11" ClassName="CDevEtherCATDef" SubType="111">
<Device Id="1" DevType="111" DevFlags="#x0003" AmsPort="28673" AmsNetId="5.65.74.200.2.1" RemoteName="Device 1 (EtherCAT)">
<Name>__FILENAME__</Name>
<AddressInfo>
<Ccat>
<Address>-801112064</Address>
<Offset>131072</Offset>
<Size>8192</Size>
<BaseAddr>0</BaseAddr>
<BusNo>3</BusNo>
<SlotNo>0</SlotNo>
<VendorId>5612</VendorId>
<DeviceId>20480</DeviceId>
<Dma>
<Address>0</Address>
<Offset>4096</Offset>
<Size>12288</Size>
<BaseAddr>2</BaseAddr>
<RxChn>0</RxChn>
<TxChn>1</TxChn>
</Dma>
<TimeSize>128</TimeSize>
<TimeOffs>1024</TimeOffs>
<GpioSize>32</GpioSize>
<GpioOffs>768</GpioOffs>
<EepromSize>32</EepromSize>
<EepromOffs>512</EepromOffs>
<IntCtrlSize>16</IntCtrlSize>
<IntCtrlOffs>640</IntCtrlOffs>
<Identification>
<Value>1795167326</Value>
<Version>1</Version>
<Size>256</Size>
</Identification>
</Ccat>
</AddressInfo>
<Image Id="2" AddrType="9" ImageType="3">
<Name>Image</Name>
</Image>
<Box File="Term 1 (EK1200).xti" Id="1">
<EtherCAT PortABoxInfo="#x00ffffff"/>
</Box>
<EtherCAT/>
</Device>
</TcSmItem>
@@ -0,0 +1,32 @@
<?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.11" ClassName="CFlbTermDef" SubType="9099">
<ImageDatas>
<ImageData Id="1000">424dd6020000000000003600000028000000100000000e0000000100180000000000a0020000c40e0000c40e00000000000000000000ff00ffff00ffff00ff808080808080808080808080808080808080808080808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ff0000c00000c0ffffffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ff0000c00000c0ffffffc0c0c000ffffc0c0c000ffff808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ff0000c00000c0ffffffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ff0000c00000c0ffffffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ff0000c00000c0ffffffc0c0c0ff0000c0c0c0ff0000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ff0000c00000c0ffffffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ff0000c00000c0ffffffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ff0000c00000c0ffffffc0c0c00000ffc0c0c00000ff808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ff0000c00000c0ffffffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ff0000c00000c0ffffffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ff0000c00000c0ffffffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ff0000c00000c0ffffffc0c0c0008000c0c0c0008000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ff0000c00000c0ffffffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff</ImageData>
</ImageDatas>
<Box Id="1" BoxType="9099">
<Name>__FILENAME__</Name>
<ImageId>1000</ImageId>
<EtherCAT PdiType="#x0100" CycleMBoxPollingTime="0" VendorId="#x00000002" ProductCode="#x04b02c52" RevisionNo="#x00001388" InfoDataState="false" PortPhys="49" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EK1200-5000 EtherCAT Power supply (2A E-Bus)" Desc="EK1200"/>
<Box File="Term 2 (EL1808).xti" Id="2">
<EtherCAT PortABoxInfo="#x01000001"/>
</Box>
<Box File="Term 3 (EL2819).xti" Id="3">
<EtherCAT PortABoxInfo="#x01000002"/>
</Box>
<Box File="Term 4 (EL5002).xti" Id="4">
<EtherCAT PortABoxInfo="#x01000003"/>
</Box>
<Box File="Term 5 (EL2014).xti" Id="5">
<EtherCAT PortABoxInfo="#x01000004"/>
</Box>
<Box File="Term 6 (EL7041-0052).xti" Id="6">
<EtherCAT PortABoxInfo="#x01000005"/>
</Box>
<Box File="Term 7 (EL7041-0052).xti" Id="7">
<EtherCAT PortABoxInfo="#x01000006"/>
</Box>
<Box File="Term 8 (EK1110).xti" Id="8">
<EtherCAT PortABoxInfo="#x01000007"/>
</Box>
</Box>
</TcSmItem>
@@ -0,0 +1,51 @@
<?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.11" ClassName="CFlbTermDef" SubType="9099">
<Box Id="2" BoxType="9099">
<Name>__FILENAME__</Name>
<ImageId>7</ImageId>
<EtherCAT SlaveType="1" PdiType="#x0104" CycleMBoxPollingTime="0" VendorId="#x00000002" ProductCode="#x07103052" RevisionNo="#x00120000" RepeatSupport="true" PortPhys="51" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EL1808 8Ch. Dig. Input 24V, 3ms" Desc="EL1808">
<SyncMan>001001000000010004000000000000000100001000010000</SyncMan>
<Fmmu>0000000000000000001000010100000002000000000000000000000000000000</Fmmu>
<Pdo Name="Channel 1" Index="#x1a00" Flags="#x0011" SyncMan="0">
<Entry Name="Input" BitLen="1" Index="#x6000" Sub="#x01">
<Type>BIT</Type>
</Entry>
</Pdo>
<Pdo Name="Channel 2" Index="#x1a01" Flags="#x0011" SyncMan="0">
<Entry Name="Input" BitLen="1" Index="#x6010" Sub="#x01">
<Type>BIT</Type>
</Entry>
</Pdo>
<Pdo Name="Channel 3" Index="#x1a02" Flags="#x0011" SyncMan="0">
<Entry Name="Input" BitLen="1" Index="#x6020" Sub="#x01">
<Type>BIT</Type>
</Entry>
</Pdo>
<Pdo Name="Channel 4" Index="#x1a03" Flags="#x0011" SyncMan="0">
<Entry Name="Input" BitLen="1" Index="#x6030" Sub="#x01">
<Type>BIT</Type>
</Entry>
</Pdo>
<Pdo Name="Channel 5" Index="#x1a04" Flags="#x0011" SyncMan="0">
<Entry Name="Input" BitLen="1" Index="#x6040" Sub="#x01">
<Type>BIT</Type>
</Entry>
</Pdo>
<Pdo Name="Channel 6" Index="#x1a05" Flags="#x0011" SyncMan="0">
<Entry Name="Input" BitLen="1" Index="#x6050" Sub="#x01">
<Type>BIT</Type>
</Entry>
</Pdo>
<Pdo Name="Channel 7" Index="#x1a06" Flags="#x0011" SyncMan="0">
<Entry Name="Input" BitLen="1" Index="#x6060" Sub="#x01">
<Type>BIT</Type>
</Entry>
</Pdo>
<Pdo Name="Channel 8" Index="#x1a07" Flags="#x0011" SyncMan="0">
<Entry Name="Input" BitLen="1" Index="#x6070" Sub="#x01">
<Type>BIT</Type>
</Entry>
</Pdo>
</EtherCAT>
</Box>
</TcSmItem>
@@ -0,0 +1,308 @@
<?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.11" ClassName="CFlbTermDef" SubType="9099">
<DataTypes>
<DataType>
<Name GUID="{18071995-0000-0000-0000-002000000004}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..3] OF BIT</Name>
<BitSize>4</BitSize>
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
<ArrayInfo>
<LBound>0</LBound>
<Elements>4</Elements>
</ArrayInfo>
</DataType>
</DataTypes>
<ImageDatas>
<ImageData Id="1000">424dd6020000000000003600000028000000100000000e0000000100180000000000a0020000120b0000120b00000000000000000000ff00ffff00ffff00ffff00ffff00ffff00ff808080808080808080808080808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c000ffffc0c0c000ffff808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0ff0000c0c0c0ff0000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c00000ffc0c0c00000ff808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0008000c0c0c0008000808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff</ImageData>
</ImageDatas>
<Box Id="3" BoxType="9099" BoxFlags="#x00000020">
<Name>__FILENAME__</Name>
<ImageId>1000</ImageId>
<EtherCAT SlaveType="2" PdiType="#x0005" MboxDataLinkLayer="true" StateMBoxPolling="true" CycleMBoxPollingTime="0" CoeType="7" FoeType="1" VendorId="#x00000002" ProductCode="#x0b033052" RevisionNo="#x00120000" InfoDataAddr="true" TimeoutMailbox2="2000" CheckRevisionNoType="3" PortPhys="51" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EL2819 16Ch. Dig. Output 24V, 0,5A, Diagnostic" Desc="EL2819">
<SyncMan>001080002600010001000000800080008000001026010000</SyncMan>
<SyncMan>801080002200010002000000800080008000801022010000</SyncMan>
<SyncMan>001102002400010003000000000000000200001124010000</SyncMan>
<SyncMan>801109002000010004000000000000000800801120010000</SyncMan>
<Fmmu>0000000000000000001100020100000001000000000000000000000000000000</Fmmu>
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
<BootStrapData>0010f400f410f400</BootStrapData>
<Pdo Name="DIG Diag Inputs" Index="#x1a00" Flags="#x0010" SyncMan="3">
<Entry Name="Channel 1__Overtemperature" BitLen="1" Index="#x6001" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 1__Open Load" BitLen="1" Index="#x6001" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 1__Overcurrent" BitLen="1" Index="#x6001" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 1__Short Circuit to 24V" BitLen="1" Index="#x6001" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 2__Overtemperature" BitLen="1" Index="#x6011" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 2__Open Load" BitLen="1" Index="#x6011" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 2__Overcurrent" BitLen="1" Index="#x6011" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 2__Short Circuit to 24V" BitLen="1" Index="#x6011" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 3__Overtemperature" BitLen="1" Index="#x6021" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 3__Open Load" BitLen="1" Index="#x6021" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 3__Overcurrent" BitLen="1" Index="#x6021" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 3__Short Circuit to 24V" BitLen="1" Index="#x6021" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 4__Overtemperature" BitLen="1" Index="#x6031" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 4__Open Load" BitLen="1" Index="#x6031" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 4__Overcurrent" BitLen="1" Index="#x6031" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 4__Short Circuit to 24V" BitLen="1" Index="#x6031" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 5__Overtemperature" BitLen="1" Index="#x6041" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 5__Open Load" BitLen="1" Index="#x6041" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 5__Overcurrent" BitLen="1" Index="#x6041" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 5__Short Circuit to 24V" BitLen="1" Index="#x6041" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 6__Overtemperature" BitLen="1" Index="#x6051" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 6__Open Load" BitLen="1" Index="#x6051" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 6__Overcurrent" BitLen="1" Index="#x6051" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 6__Short Circuit to 24V" BitLen="1" Index="#x6051" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 7__Overtemperature" BitLen="1" Index="#x6061" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 7__Open Load" BitLen="1" Index="#x6061" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 7__Overcurrent" BitLen="1" Index="#x6061" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 7__Short Circuit to 24V" BitLen="1" Index="#x6061" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 8__Overtemperature" BitLen="1" Index="#x6071" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 8__Open Load" BitLen="1" Index="#x6071" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 8__Overcurrent" BitLen="1" Index="#x6071" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 8__Short Circuit to 24V" BitLen="1" Index="#x6071" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 9__Overtemperature" BitLen="1" Index="#x6081" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 9__Open Load" BitLen="1" Index="#x6081" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 9__Overcurrent" BitLen="1" Index="#x6081" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 9__Short Circuit to 24V" BitLen="1" Index="#x6081" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 10__Overtemperature" BitLen="1" Index="#x6091" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 10__Open Load" BitLen="1" Index="#x6091" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 10__Overcurrent" BitLen="1" Index="#x6091" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 10__Short Circuit to 24V" BitLen="1" Index="#x6091" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 11__Overtemperature" BitLen="1" Index="#x60a1" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 11__Open Load" BitLen="1" Index="#x60a1" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 11__Overcurrent" BitLen="1" Index="#x60a1" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 11__Short Circuit to 24V" BitLen="1" Index="#x60a1" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 12__Overtemperature" BitLen="1" Index="#x60b1" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 12__Open Load" BitLen="1" Index="#x60b1" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 12__Overcurrent" BitLen="1" Index="#x60b1" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 12__Short Circuit to 24V" BitLen="1" Index="#x60b1" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 13__Overtemperature" BitLen="1" Index="#x60c1" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 13__Open Load" BitLen="1" Index="#x60c1" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 13__Overcurrent" BitLen="1" Index="#x60c1" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 13__Short Circuit to 24V" BitLen="1" Index="#x60c1" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 14__Overtemperature" BitLen="1" Index="#x60d1" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 14__Open Load" BitLen="1" Index="#x60d1" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 14__Overcurrent" BitLen="1" Index="#x60d1" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 14__Short Circuit to 24V" BitLen="1" Index="#x60d1" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 15__Overtemperature" BitLen="1" Index="#x60e1" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 15__Open Load" BitLen="1" Index="#x60e1" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 15__Overcurrent" BitLen="1" Index="#x60e1" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 15__Short Circuit to 24V" BitLen="1" Index="#x60e1" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 16__Overtemperature" BitLen="1" Index="#x60f1" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 16__Open Load" BitLen="1" Index="#x60f1" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 16__Overcurrent" BitLen="1" Index="#x60f1" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 16__Short Circuit to 24V" BitLen="1" Index="#x60f1" Sub="#x04">
<Type>BIT</Type>
</Entry>
</Pdo>
<Pdo Name="DIG Inputs Device" Index="#x1a02" Flags="#x0010" SyncMan="3">
<Entry Name="Common Fault" BitLen="1" Index="#xf600" Sub="#x11">
<Type>BIT</Type>
</Entry>
<Entry Name="Overtemperature Device" BitLen="1" Index="#xf600" Sub="#x12">
<Type>BIT</Type>
</Entry>
<Entry Name="Undervoltage" BitLen="1" Index="#xf600" Sub="#x13">
<Type>BIT</Type>
</Entry>
<Entry Name="Missing Voltage" BitLen="1" Index="#xf600" Sub="#x14">
<Type>BIT</Type>
</Entry>
<Entry BitLen="4">
<Type GUID="{18071995-0000-0000-0000-002000000004}">ARRAY [0..3] OF BIT</Type>
</Entry>
</Pdo>
<Pdo Name="DIG Outputs" Index="#x1600" InOut="1" Flags="#x0010" SyncMan="2">
<Entry Name="Channel 1__Output" BitLen="1" Index="#x7000" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 2__Output" BitLen="1" Index="#x7010" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 3__Output" BitLen="1" Index="#x7020" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 4__Output" BitLen="1" Index="#x7030" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 5__Output" BitLen="1" Index="#x7040" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 6__Output" BitLen="1" Index="#x7050" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 7__Output" BitLen="1" Index="#x7060" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 8__Output" BitLen="1" Index="#x7070" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 9__Output" BitLen="1" Index="#x7080" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 10__Output" BitLen="1" Index="#x7090" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 11__Output" BitLen="1" Index="#x70a0" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 12__Output" BitLen="1" Index="#x70b0" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 13__Output" BitLen="1" Index="#x70c0" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 14__Output" BitLen="1" Index="#x70d0" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 15__Output" BitLen="1" Index="#x70e0" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 16__Output" BitLen="1" Index="#x70f0" Sub="#x01">
<Type>BIT</Type>
</Entry>
</Pdo>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
</EtherCAT>
</Box>
</TcSmItem>
@@ -0,0 +1,94 @@
<?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.11" ClassName="CFlbTermDef" SubType="9099">
<DataTypes>
<DataType>
<Name GUID="{18071995-0000-0000-0000-002000000009}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..8] OF BIT</Name>
<BitSize>9</BitSize>
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
<ArrayInfo>
<LBound>0</LBound>
<Elements>9</Elements>
</ArrayInfo>
</DataType>
</DataTypes>
<ImageDatas>
<ImageData Id="1000">424dd6020000000000003600000028000000100000000e0000000100180000000000a0020000c40e0000c40e00000000000000000000000000ff00ffff00ffff00ff000000ff00ff808080808080808080808080808080ff00ffff00ffff00ffff00ffff00ff000000ff00ffff00ffff00ff000000ff00ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff000000ff00ffff00ffff00ff000000ff00ffc0c0c000ffffc0c0c000ffff808080ff00ffff00ffff00ffff00ffff00ff000000ff00ff000000ff00ff000000ff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff000000000000ff00ff000000000000ff00ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff000000ff00ffff00ffff00ff000000ff00ffc0c0c0ff0000c0c0c0ff0000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff007fff007fff007fff007fff007fff007fffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff007fff007fff007fff007fff007fff007fffc0c0c00000ffc0c0c00000ff808080ff00ffff00ffff00ffff00ffff00ff007fff007fff007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff007fff007fff007fff007fff007fff007fffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff007fff007fff007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff007fff007fff007fff007fff007fff007fffc0c0c0008000c0c0c0008000808080ff00ffff00ffff00ffff00ffff00ff007fff007fff007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff</ImageData>
</ImageDatas>
<Box Id="4" BoxType="9099" BoxFlags="#x00000020">
<Name>__FILENAME__</Name>
<ImageId>1000</ImageId>
<EtherCAT SlaveType="2" PdiType="#x0405" MboxDataLinkLayer="true" StateMBoxPolling="true" CycleMBoxPollingTime="0" CoeType="7" FoeType="1" VendorId="#x00000002" ProductCode="#x138a3052" RevisionNo="#x00140000" InfoDataAddr="true" TimeoutMailbox2="2000" CheckRevisionNoType="3" PortPhys="51" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EL5002 2Ch. SSI Encoder" Desc="EL5002">
<SyncMan>001080002600010001000000800080008000001026010000</SyncMan>
<SyncMan>801080002200010002000000800080008000801022010000</SyncMan>
<SyncMan>001100000400000003000000000000000000001104000000</SyncMan>
<SyncMan>80110c002000010004000000000000000c00801120010000</SyncMan>
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
<BootStrapData>0010f400f410f400</BootStrapData>
<DcMode>53796e6368726f6e00000000000000004672656552756e2f534d2d53796e6368726f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</DcMode>
<DcMode>4443000000000000000000000000000044432d53796e6368726f6e0000000000000000000000000000000000000000000000000000000000983a0000000000070100000000000000000000000000000000000000000000000000000000000000</DcMode>
<DcMode>4443494e00000000000000000000000044432d53796e6368726f6e2028696e70757420626173656429000000000000000000000000000000983a0000000000070100000000000000000001000000000000000000000000000000000000000000</DcMode>
<MBoxUserCmdData>02000300090000000000000000000000000000000000000000000000000000002082f001010000000000</MBoxUserCmdData>
<Pdo Name="SSI Inputs Channel 1" Index="#x1a00" Flags="#x0010" SyncMan="3">
<Entry Name="Status__Data error" BitLen="1" Index="#x6000" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Frame error" BitLen="1" Index="#x6000" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Power failure" BitLen="1" Index="#x6000" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Data mismatch" BitLen="1" Index="#x6000" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="9">
<Type GUID="{18071995-0000-0000-0000-002000000009}">ARRAY [0..8] OF BIT</Type>
</Entry>
<Entry Name="Status__Sync error" BitLen="1" Index="#x6000" Sub="#x0e">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__TxPDO State" BitLen="1" Index="#x6000" Sub="#x0f">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__TxPDO Toggle" BitLen="1" Index="#x6000" Sub="#x10">
<Type>BIT</Type>
</Entry>
<Entry Name="Counter value" BitLen="32" Index="#x6000" Sub="#x11">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="SSI Inputs Channel 2" Index="#x1a01" Flags="#x0010" SyncMan="3">
<Entry Name="Status__Data error" BitLen="1" Index="#x6010" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Frame error" BitLen="1" Index="#x6010" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Power failure" BitLen="1" Index="#x6010" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Data mismatch" BitLen="1" Index="#x6010" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="9">
<Type GUID="{18071995-0000-0000-0000-002000000009}">ARRAY [0..8] OF BIT</Type>
</Entry>
<Entry Name="Status__Sync error" BitLen="1" Index="#x6010" Sub="#x0e">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__TxPDO State" BitLen="1" Index="#x6010" Sub="#x0f">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__TxPDO Toggle" BitLen="1" Index="#x6010" Sub="#x10">
<Type>BIT</Type>
</Entry>
<Entry Name="Counter value" BitLen="32" Index="#x6010" Sub="#x11">
<Type>UDINT</Type>
</Entry>
</Pdo>
<CoeProfile ProfileNo="32838537"/>
<CoeProfile ProfileNo="32838537"/>
</EtherCAT>
</Box>
</TcSmItem>
@@ -0,0 +1,102 @@
<?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.11" ClassName="CFlbTermDef" SubType="9099">
<ImageDatas>
<ImageData Id="1000">424dd6020000000000003600000028000000100000000e0000000100180000000000a0020000120b0000120b00000000000000000000ff00ffff00ffff00ffff00ffff00ffff00ff808080808080808080808080808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c000ffffc0c0c000ffff808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0ff0000c0c0c0ff0000808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c00000ffc0c0c00000ff808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0000000c0c0c0000000808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0008000c0c0c0008000808080ff00ffff00ffff00ffff00ffff00ff0000ff0000ff0000ff0000ff0000ff0000ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff</ImageData>
</ImageDatas>
<Box Id="5" BoxType="9099" BoxFlags="#x00000020">
<Name>__FILENAME__</Name>
<ImageId>1000</ImageId>
<EtherCAT SlaveType="2" PdiType="#x0005" MboxDataLinkLayer="true" StateMBoxPolling="true" CycleMBoxPollingTime="0" CoeType="7" FoeType="1" VendorId="#x00000002" ProductCode="#x07de3052" RevisionNo="#x00110000" InfoDataAddr="true" TimeoutMailbox2="2000" CheckRevisionNoType="3" PortPhys="51" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EL2014 4Ch. Dig. Output 24V, 0,5A, Diagnostic" Desc="EL2014">
<SyncMan>001080002600010001000000800080008000001026010000</SyncMan>
<SyncMan>801080002200010002000000800080008000801022010000</SyncMan>
<SyncMan>001101002400010003000000000000000100001124010000</SyncMan>
<SyncMan>801103002000010004000000000000000300801120010000</SyncMan>
<Fmmu>0000000000000000001100020100000001000000000000000000000000000000</Fmmu>
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
<BootStrapData>0010f400f410f400</BootStrapData>
<Pdo Name="DIG Diag Inputs" Index="#x1a00" Flags="#x0010" SyncMan="3">
<Entry Name="Channel 1__Overtemperature" BitLen="1" Index="#x6001" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 1__Open Load" BitLen="1" Index="#x6001" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 1__Overcurrent" BitLen="1" Index="#x6001" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 1__Short Circuit to 24V" BitLen="1" Index="#x6001" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 2__Overtemperature" BitLen="1" Index="#x6011" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 2__Open Load" BitLen="1" Index="#x6011" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 2__Overcurrent" BitLen="1" Index="#x6011" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 2__Short Circuit to 24V" BitLen="1" Index="#x6011" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 3__Overtemperature" BitLen="1" Index="#x6021" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 3__Open Load" BitLen="1" Index="#x6021" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 3__Overcurrent" BitLen="1" Index="#x6021" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 3__Short Circuit to 24V" BitLen="1" Index="#x6021" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 4__Overtemperature" BitLen="1" Index="#x6031" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 4__Open Load" BitLen="1" Index="#x6031" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 4__Overcurrent" BitLen="1" Index="#x6031" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 4__Short Circuit to 24V" BitLen="1" Index="#x6031" Sub="#x04">
<Type>BIT</Type>
</Entry>
</Pdo>
<Pdo Name="DIG Inputs Device" Index="#x1a02" Flags="#x0010" SyncMan="3">
<Entry Name="Common Fault" BitLen="1" Index="#xf600" Sub="#x11">
<Type>BIT</Type>
</Entry>
<Entry Name="Overtemperature Device" BitLen="1" Index="#xf600" Sub="#x12">
<Type>BIT</Type>
</Entry>
<Entry Name="Undervoltage" BitLen="1" Index="#xf600" Sub="#x13">
<Type>BIT</Type>
</Entry>
<Entry Name="Missing Voltage" BitLen="1" Index="#xf600" Sub="#x14">
<Type>BIT</Type>
</Entry>
</Pdo>
<Pdo Name="DIG Outputs" Index="#x1600" InOut="1" Flags="#x0010" SyncMan="2">
<Entry Name="Channel 1__Output" BitLen="1" Index="#x7000" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 2__Output" BitLen="1" Index="#x7010" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 3__Output" BitLen="1" Index="#x7020" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Channel 4__Output" BitLen="1" Index="#x7030" Sub="#x01">
<Type>BIT</Type>
</Entry>
</Pdo>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
<CoeProfile ProfileNo="18355081"/>
</EtherCAT>
</Box>
</TcSmItem>
@@ -0,0 +1,486 @@
<?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.11" ClassName="CFlbTermDef" SubType="9099">
<DataTypes>
<DataType>
<Name GUID="{18071995-0000-0000-0000-002000000001}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..0] OF BIT</Name>
<BitSize>1</BitSize>
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
<ArrayInfo>
<LBound>0</LBound>
<Elements>1</Elements>
</ArrayInfo>
</DataType>
<DataType>
<Name GUID="{18071995-0000-0000-0000-002000000003}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..2] OF BIT</Name>
<BitSize>3</BitSize>
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
<ArrayInfo>
<LBound>0</LBound>
<Elements>3</Elements>
</ArrayInfo>
</DataType>
<DataType>
<Name GUID="{18071995-0000-0000-0000-002000000004}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..3] OF BIT</Name>
<BitSize>4</BitSize>
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
<ArrayInfo>
<LBound>0</LBound>
<Elements>4</Elements>
</ArrayInfo>
</DataType>
<DataType>
<Name GUID="{18071995-0000-0000-0000-002000000008}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..0] OF BYTE</Name>
<BitSize>8</BitSize>
<BaseType GUID="{18071995-0000-0000-0000-000000000001}">BYTE</BaseType>
<ArrayInfo>
<LBound>0</LBound>
<Elements>1</Elements>
</ArrayInfo>
</DataType>
<DataType>
<Name GUID="{18071995-0000-0000-0000-002000000005}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..4] OF BIT</Name>
<BitSize>5</BitSize>
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
<ArrayInfo>
<LBound>0</LBound>
<Elements>5</Elements>
</ArrayInfo>
</DataType>
<DataType>
<Name GUID="{18071995-0000-0000-0000-002000000006}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..5] OF BIT</Name>
<BitSize>6</BitSize>
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
<ArrayInfo>
<LBound>0</LBound>
<Elements>6</Elements>
</ArrayInfo>
</DataType>
<DataType>
<Name GUID="{18071995-0000-0000-0000-002000000002}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..1] OF BIT</Name>
<BitSize>2</BitSize>
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
<ArrayInfo>
<LBound>0</LBound>
<Elements>2</Elements>
</ArrayInfo>
</DataType>
</DataTypes>
<ImageDatas>
<ImageData Id="1000">424dd6020000000000003600000028000000100000000e0000000100180000000000a0020000c40e0000c40e00000000000000000000ff00ffff00ffff00ffff00ff808080808080808080808080808080808080808080808080808080808080808080808080ff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffc0c0c0c0c0c0000000000000000000000000000000000000000000c0c0c0c0c0c0808080007fff007fff007fff007fffc0c0c0c0c0c00000000000000000000000000000000000000000000000ffc0c0c0808080007fff007fff007fff007fffc0c0c0c0c0c0000000000000000000000000000000000000000000c0c0c0c0c0c0808080007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000c0c0c0c0c0c0000000c0c0c0c0c0c0808080007fff007fff007fff007fffc0c0c0c0c0c0000000000000000000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0808080007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0808080007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0808080007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0808080</ImageData>
</ImageDatas>
<Box Id="6" BoxType="9099" BoxFlags="#x00000020">
<Name>__FILENAME__</Name>
<ImageId>1000</ImageId>
<EtherCAT SlaveType="2" PdiType="#x0405" MboxDataLinkLayer="true" StateMBoxPolling="true" CycleMBoxPollingTime="0" CoeType="39" FoeType="1" VendorId="#x00000002" ProductCode="#x1b813052" RevisionNo="#x00100034" InfoDataAddr="true" InfoDataSoeDS401="true" TimeoutMailbox2="2000" CheckRevisionNoType="3" PortPhys="51" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EL7041-0052 1Ch. Stepper motor output stage (50V, 5A)" Desc="EL7041-0052">
<SyncMan>001080002600010001000000400080008000001026010000</SyncMan>
<SyncMan>801080002200010002000000400080008000801022010000</SyncMan>
<SyncMan>00110a002400010003000000000000000800001124010000</SyncMan>
<SyncMan>80110c002000010004000000000000000800801120010000</SyncMan>
<Fmmu>0000000000000000001100020100000001000000000000000000000000000000</Fmmu>
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
<BootStrapData>0010f400f410f400</BootStrapData>
<DcMode>53796e6368726f6e00000000000000004672656552756e2f534d2d53796e6368726f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</DcMode>
<DcMode>4443000000000000000000000000000044432d53796e6368726f6e000000000000000000000000000000000000000000000000000000000000000000000000030100000000000000000000000000000000000000000000000000000000000000</DcMode>
<MBoxUserCmdData>004003000c0000000000000000000000000000000000000000000000000000002081f001040000003400100000</MBoxUserCmdData>
<MBoxUserCmdData>004003000a00000000000000000000000000000000000000000000000000000020f3100502000000010000</MBoxUserCmdData>
<MBoxUserCmdData>020003000a0000000f00000000000000000000000000000000000000000000002010800102000000dc054d6178696d616c2063757272656e7400</MBoxUserCmdData>
<MBoxUserCmdData>020003000a0000000f00000000000000000000000000000000000000000000002010800202000000f401526564756365642063757272656e7400</MBoxUserCmdData>
<MBoxUserCmdData>020003000a0000000f00000000000000000000000000000000000000000000002010800302000000c05d4e6f6d696e616c20766f6c7461676500</MBoxUserCmdData>
<MBoxUserCmdData>02000300090000000b000000000000000000000000000000000000000000000020128005010000000153706565642072616e676500</MBoxUserCmdData>
<Pdo Name="ENC Status compact" Index="#x1a00" Flags="#x0010">
<ExcludePdo>#x1a01</ExcludePdo>
<Entry Name="Status__" BitLen="1">
<Type GUID="{18071995-0000-0000-0000-002000000001}">ARRAY [0..0] OF BIT</Type>
</Entry>
<Entry Name="Status__Latch extern valid" BitLen="1" Index="#x6000" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Set counter done" BitLen="1" Index="#x6000" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Counter underflow" BitLen="1" Index="#x6000" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Counter overflow" BitLen="1" Index="#x6000" Sub="#x05">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="3">
<Type GUID="{18071995-0000-0000-0000-002000000003}">ARRAY [0..2] OF BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="4">
<Type GUID="{18071995-0000-0000-0000-002000000004}">ARRAY [0..3] OF BIT</Type>
</Entry>
<Entry Name="Status__Status of extern latch" BitLen="1" Index="#x6000" Sub="#x0d">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Sync error" BitLen="1" Index="#x6000" Sub="#x0e">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="1">
<Type GUID="{18071995-0000-0000-0000-002000000001}">ARRAY [0..0] OF BIT</Type>
</Entry>
<Entry Name="Status__TxPDO Toggle" BitLen="1" Index="#x6000" Sub="#x10">
<Type>BIT</Type>
</Entry>
<Entry Name="Counter value" BitLen="16" Index="#x6000" Sub="#x11">
<Type>UINT</Type>
</Entry>
<Entry Name="Latch value" BitLen="16" Index="#x6000" Sub="#x12">
<Type>UINT</Type>
</Entry>
</Pdo>
<Pdo Name="ENC Status" Index="#x1a01" Flags="#x0010" SyncMan="3">
<ExcludePdo>#x1a00</ExcludePdo>
<Entry Name="Status__" BitLen="1">
<Type GUID="{18071995-0000-0000-0000-002000000001}">ARRAY [0..0] OF BIT</Type>
</Entry>
<Entry Name="Status__Latch extern valid" BitLen="1" Index="#x6000" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Set counter done" BitLen="1" Index="#x6000" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Counter underflow" BitLen="1" Index="#x6000" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Counter overflow" BitLen="1" Index="#x6000" Sub="#x05">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="3">
<Type GUID="{18071995-0000-0000-0000-002000000003}">ARRAY [0..2] OF BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="4">
<Type GUID="{18071995-0000-0000-0000-002000000004}">ARRAY [0..3] OF BIT</Type>
</Entry>
<Entry Name="Status__Status of extern latch" BitLen="1" Index="#x6000" Sub="#x0d">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Sync error" BitLen="1" Index="#x6000" Sub="#x0e">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="1">
<Type GUID="{18071995-0000-0000-0000-002000000001}">ARRAY [0..0] OF BIT</Type>
</Entry>
<Entry Name="Status__TxPDO Toggle" BitLen="1" Index="#x6000" Sub="#x10">
<Type>BIT</Type>
</Entry>
<Entry Name="Counter value" BitLen="32" Index="#x6000" Sub="#x11">
<Type>UDINT</Type>
</Entry>
<Entry Name="Latch value" BitLen="32" Index="#x6000" Sub="#x12">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="ENC Timest. compact" Index="#x1a02" Flags="#x0010">
<Entry Name="Timestamp" BitLen="32" Index="#x6000" Sub="#x16">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="STM Status" Index="#x1a03" Flags="#x0010" SyncMan="3">
<Entry Name="Status__Ready to enable" BitLen="1" Index="#x6010" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Ready" BitLen="1" Index="#x6010" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Warning" BitLen="1" Index="#x6010" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Error" BitLen="1" Index="#x6010" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Moving positive" BitLen="1" Index="#x6010" Sub="#x05">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Moving negative" BitLen="1" Index="#x6010" Sub="#x06">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Torque reduced" BitLen="1" Index="#x6010" Sub="#x07">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="1">
<Type GUID="{18071995-0000-0000-0000-002000000001}">ARRAY [0..0] OF BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="3">
<Type GUID="{18071995-0000-0000-0000-002000000003}">ARRAY [0..2] OF BIT</Type>
</Entry>
<Entry Name="Status__Digital input 1" BitLen="1" Index="#x6010" Sub="#x0c">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Digital input 2" BitLen="1" Index="#x6010" Sub="#x0d">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Sync error" BitLen="1" Index="#x6010" Sub="#x0e">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="1">
<Type GUID="{18071995-0000-0000-0000-002000000001}">ARRAY [0..0] OF BIT</Type>
</Entry>
<Entry Name="Status__TxPDO Toggle" BitLen="1" Index="#x6010" Sub="#x10">
<Type>BIT</Type>
</Entry>
</Pdo>
<Pdo Name="STM Synchron info data" Index="#x1a04" Flags="#x0010">
<Entry Name="Info data 1" BitLen="16" Index="#x6010" Sub="#x11">
<Type>UINT</Type>
</Entry>
<Entry Name="Info data 2" BitLen="16" Index="#x6010" Sub="#x12">
<Type>UINT</Type>
</Entry>
</Pdo>
<Pdo Name="POS Status compact" Index="#x1a05" Flags="#x0010">
<ExcludePdo>#x1a06</ExcludePdo>
<Entry Name="Status__Busy" BitLen="1" Index="#x6020" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__In-Target" BitLen="1" Index="#x6020" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Warning" BitLen="1" Index="#x6020" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Error" BitLen="1" Index="#x6020" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Calibrated" BitLen="1" Index="#x6020" Sub="#x05">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Accelerate" BitLen="1" Index="#x6020" Sub="#x06">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Decelerate" BitLen="1" Index="#x6020" Sub="#x07">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Ready to execute" BitLen="1" Index="#x6020" Sub="#x08">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="8">
<Type GUID="{18071995-0000-0000-0000-002000000008}">ARRAY [0..0] OF BYTE</Type>
</Entry>
</Pdo>
<Pdo Name="POS Status" Index="#x1a06" Flags="#x0010">
<ExcludePdo>#x1a05</ExcludePdo>
<Entry Name="Status__Busy" BitLen="1" Index="#x6020" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__In-Target" BitLen="1" Index="#x6020" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Warning" BitLen="1" Index="#x6020" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Error" BitLen="1" Index="#x6020" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Calibrated" BitLen="1" Index="#x6020" Sub="#x05">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Accelerate" BitLen="1" Index="#x6020" Sub="#x06">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Decelerate" BitLen="1" Index="#x6020" Sub="#x07">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Ready to execute" BitLen="1" Index="#x6020" Sub="#x08">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="8">
<Type GUID="{18071995-0000-0000-0000-002000000008}">ARRAY [0..0] OF BYTE</Type>
</Entry>
<Entry Name="Actual position" BitLen="32" Index="#x6020" Sub="#x11">
<Type>UDINT</Type>
</Entry>
<Entry Name="Actual velocity" BitLen="16" Index="#x6020" Sub="#x21">
<Type>INT</Type>
</Entry>
<Entry Name="Actual drive time" BitLen="32" Index="#x6020" Sub="#x22">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="STM Internal position" Index="#x1a07" Flags="#x0010">
<Entry Name="Internal position" BitLen="32" Index="#x6010" Sub="#x14">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="STM External position" Index="#x1a08" Flags="#x0010">
<Entry Name="External position" BitLen="32" Index="#x6010" Sub="#x15">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="POS Actual position lag" Index="#x1a09" Flags="#x0010">
<Entry Name="Actual position lag" BitLen="32" Index="#x6020" Sub="#x23">
<Type>DINT</Type>
</Entry>
</Pdo>
<Pdo Name="ENC Control compact" Index="#x1600" InOut="1" Flags="#x0010">
<ExcludePdo>#x1601</ExcludePdo>
<Entry Name="Control__" BitLen="1">
<Type GUID="{18071995-0000-0000-0000-002000000001}">ARRAY [0..0] OF BIT</Type>
</Entry>
<Entry Name="Control__Enable latch extern on positive edge" BitLen="1" Index="#x7000" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__Set counter" BitLen="1" Index="#x7000" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__Enable latch extern on negative edge" BitLen="1" Index="#x7000" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="4">
<Type GUID="{18071995-0000-0000-0000-002000000004}">ARRAY [0..3] OF BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="8">
<Type GUID="{18071995-0000-0000-0000-002000000008}">ARRAY [0..0] OF BYTE</Type>
</Entry>
<Entry Name="Set counter value" BitLen="16" Index="#x7000" Sub="#x11">
<Type>UINT</Type>
</Entry>
</Pdo>
<Pdo Name="ENC Control" Index="#x1601" InOut="1" Flags="#x0010" SyncMan="2">
<ExcludePdo>#x1600</ExcludePdo>
<Entry Name="Control__" BitLen="1">
<Type GUID="{18071995-0000-0000-0000-002000000001}">ARRAY [0..0] OF BIT</Type>
</Entry>
<Entry Name="Control__Enable latch extern on positive edge" BitLen="1" Index="#x7000" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__Set counter" BitLen="1" Index="#x7000" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__Enable latch extern on negative edge" BitLen="1" Index="#x7000" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="4">
<Type GUID="{18071995-0000-0000-0000-002000000004}">ARRAY [0..3] OF BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="8">
<Type GUID="{18071995-0000-0000-0000-002000000008}">ARRAY [0..0] OF BYTE</Type>
</Entry>
<Entry Name="Set counter value" BitLen="32" Index="#x7000" Sub="#x11">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="STM Control" Index="#x1602" InOut="1" Flags="#x0010" SyncMan="2">
<Entry Name="Control__Enable" BitLen="1" Index="#x7010" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__Reset" BitLen="1" Index="#x7010" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__Reduce torque" BitLen="1" Index="#x7010" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="5">
<Type GUID="{18071995-0000-0000-0000-002000000005}">ARRAY [0..4] OF BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="8">
<Type GUID="{18071995-0000-0000-0000-002000000008}">ARRAY [0..0] OF BYTE</Type>
</Entry>
</Pdo>
<Pdo Name="STM Position" Index="#x1603" InOut="1" Flags="#x0010">
<ExcludePdo>#x1604</ExcludePdo>
<ExcludePdo>#x1605</ExcludePdo>
<ExcludePdo>#x1606</ExcludePdo>
<Entry Name="Position" BitLen="32" Index="#x7010" Sub="#x11">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="STM Velocity" Index="#x1604" InOut="1" Flags="#x0010" SyncMan="2">
<ExcludePdo>#x1603</ExcludePdo>
<ExcludePdo>#x1605</ExcludePdo>
<ExcludePdo>#x1606</ExcludePdo>
<Entry Name="Velocity" BitLen="16" Index="#x7010" Sub="#x21">
<Type>INT</Type>
</Entry>
</Pdo>
<Pdo Name="POS Control compact" Index="#x1605" InOut="1" Flags="#x0010">
<ExcludePdo>#x1603</ExcludePdo>
<ExcludePdo>#x1604</ExcludePdo>
<ExcludePdo>#x1606</ExcludePdo>
<Entry Name="Control__Execute" BitLen="1" Index="#x7020" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__Emergency stop" BitLen="1" Index="#x7020" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="6">
<Type GUID="{18071995-0000-0000-0000-002000000006}">ARRAY [0..5] OF BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="8">
<Type GUID="{18071995-0000-0000-0000-002000000008}">ARRAY [0..0] OF BYTE</Type>
</Entry>
<Entry Name="Target position" BitLen="32" Index="#x7020" Sub="#x11">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="POS Control" Index="#x1606" InOut="1" Flags="#x0010">
<ExcludePdo>#x1603</ExcludePdo>
<ExcludePdo>#x1604</ExcludePdo>
<ExcludePdo>#x1605</ExcludePdo>
<Entry Name="Control__Execute" BitLen="1" Index="#x7020" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__Emergency stop" BitLen="1" Index="#x7020" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="6">
<Type GUID="{18071995-0000-0000-0000-002000000006}">ARRAY [0..5] OF BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="8">
<Type GUID="{18071995-0000-0000-0000-002000000008}">ARRAY [0..0] OF BYTE</Type>
</Entry>
<Entry Name="Target position" BitLen="32" Index="#x7020" Sub="#x11">
<Type>UDINT</Type>
</Entry>
<Entry Name="Velocity" BitLen="16" Index="#x7020" Sub="#x21">
<Type>INT</Type>
</Entry>
<Entry Name="Start type" BitLen="16" Index="#x7020" Sub="#x22">
<Type>UINT</Type>
</Entry>
<Entry Name="Acceleration" BitLen="16" Index="#x7020" Sub="#x23">
<Type>UINT</Type>
</Entry>
<Entry Name="Deceleration" BitLen="16" Index="#x7020" Sub="#x24">
<Type>UINT</Type>
</Entry>
</Pdo>
<Pdo Name="POS Control 2" Index="#x1607" InOut="1" Flags="#x0010">
<ExcludePdo>#x1603</ExcludePdo>
<ExcludePdo>#x1604</ExcludePdo>
<ExcludePdo>#x1605</ExcludePdo>
<Entry Name="Control__" BitLen="2">
<Type GUID="{18071995-0000-0000-0000-002000000002}">ARRAY [0..1] OF BIT</Type>
</Entry>
<Entry Name="Control__Enable auto start" BitLen="1" Index="#x7021" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="5">
<Type GUID="{18071995-0000-0000-0000-002000000005}">ARRAY [0..4] OF BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="8">
<Type GUID="{18071995-0000-0000-0000-002000000008}">ARRAY [0..0] OF BYTE</Type>
</Entry>
<Entry Name="Target position" BitLen="32" Index="#x7021" Sub="#x11">
<Type>UDINT</Type>
</Entry>
<Entry Name="Velocity" BitLen="16" Index="#x7021" Sub="#x21">
<Type>INT</Type>
</Entry>
<Entry Name="Start type" BitLen="16" Index="#x7021" Sub="#x22">
<Type>UINT</Type>
</Entry>
<Entry Name="Acceleration" BitLen="16" Index="#x7021" Sub="#x23">
<Type>UINT</Type>
</Entry>
<Entry Name="Deceleration" BitLen="16" Index="#x7021" Sub="#x24">
<Type>UINT</Type>
</Entry>
</Pdo>
<CoeProfile ProfileNo="33493897" DisplayName="Stepper interface"/>
<CoeProfile ProfileNo="46076809" DisplayName="Stepper interface"/>
<CoeProfile ProfileNo="46142345" DisplayName="Positioning interfa"/>
</EtherCAT>
</Box>
</TcSmItem>
@@ -0,0 +1,486 @@
<?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.11" ClassName="CFlbTermDef" SubType="9099">
<DataTypes>
<DataType>
<Name GUID="{18071995-0000-0000-0000-002000000001}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..0] OF BIT</Name>
<BitSize>1</BitSize>
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
<ArrayInfo>
<LBound>0</LBound>
<Elements>1</Elements>
</ArrayInfo>
</DataType>
<DataType>
<Name GUID="{18071995-0000-0000-0000-002000000003}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..2] OF BIT</Name>
<BitSize>3</BitSize>
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
<ArrayInfo>
<LBound>0</LBound>
<Elements>3</Elements>
</ArrayInfo>
</DataType>
<DataType>
<Name GUID="{18071995-0000-0000-0000-002000000004}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..3] OF BIT</Name>
<BitSize>4</BitSize>
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
<ArrayInfo>
<LBound>0</LBound>
<Elements>4</Elements>
</ArrayInfo>
</DataType>
<DataType>
<Name GUID="{18071995-0000-0000-0000-002000000008}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..0] OF BYTE</Name>
<BitSize>8</BitSize>
<BaseType GUID="{18071995-0000-0000-0000-000000000001}">BYTE</BaseType>
<ArrayInfo>
<LBound>0</LBound>
<Elements>1</Elements>
</ArrayInfo>
</DataType>
<DataType>
<Name GUID="{18071995-0000-0000-0000-002000000005}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..4] OF BIT</Name>
<BitSize>5</BitSize>
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
<ArrayInfo>
<LBound>0</LBound>
<Elements>5</Elements>
</ArrayInfo>
</DataType>
<DataType>
<Name GUID="{18071995-0000-0000-0000-002000000006}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..5] OF BIT</Name>
<BitSize>6</BitSize>
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
<ArrayInfo>
<LBound>0</LBound>
<Elements>6</Elements>
</ArrayInfo>
</DataType>
<DataType>
<Name GUID="{18071995-0000-0000-0000-002000000002}" IecBaseType="true" AutoDeleteType="true" HideSubItems="true">ARRAY [0..1] OF BIT</Name>
<BitSize>2</BitSize>
<BaseType GUID="{18071995-0000-0000-0000-000000000010}">BIT</BaseType>
<ArrayInfo>
<LBound>0</LBound>
<Elements>2</Elements>
</ArrayInfo>
</DataType>
</DataTypes>
<ImageDatas>
<ImageData Id="1000">424dd6020000000000003600000028000000100000000e0000000100180000000000a0020000c40e0000c40e00000000000000000000ff00ffff00ffff00ffff00ff808080808080808080808080808080808080808080808080808080808080808080808080ff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffc0c0c0c0c0c0000000000000000000000000000000000000000000c0c0c0c0c0c0808080007fff007fff007fff007fffc0c0c0c0c0c00000000000000000000000000000000000000000000000ffc0c0c0808080007fff007fff007fff007fffc0c0c0c0c0c0000000000000000000000000000000000000000000c0c0c0c0c0c0808080007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000c0c0c0c0c0c0000000c0c0c0c0c0c0808080007fff007fff007fff007fffc0c0c0c0c0c0000000000000000000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0808080007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0808080007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0808080007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0808080</ImageData>
</ImageDatas>
<Box Id="7" BoxType="9099" BoxFlags="#x00000020">
<Name>__FILENAME__</Name>
<ImageId>1000</ImageId>
<EtherCAT SlaveType="2" PdiType="#x0405" MboxDataLinkLayer="true" StateMBoxPolling="true" CycleMBoxPollingTime="0" CoeType="39" FoeType="1" VendorId="#x00000002" ProductCode="#x1b813052" RevisionNo="#x00100034" InfoDataAddr="true" InfoDataSoeDS401="true" TimeoutMailbox2="2000" CheckRevisionNoType="3" PortPhys="51" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EL7041-0052 1Ch. Stepper motor output stage (50V, 5A)" Desc="EL7041-0052">
<SyncMan>001080002600010001000000400080008000001026010000</SyncMan>
<SyncMan>801080002200010002000000400080008000801022010000</SyncMan>
<SyncMan>00110a002400010003000000000000000800001124010000</SyncMan>
<SyncMan>80110c002000010004000000000000000800801120010000</SyncMan>
<Fmmu>0000000000000000001100020100000001000000000000000000000000000000</Fmmu>
<Fmmu>0000000000000000801100010100000002000000000000000000000000000000</Fmmu>
<Fmmu>00000000000000000d0800010100000003000000000000000000000000000000</Fmmu>
<BootStrapData>0010f400f410f400</BootStrapData>
<DcMode>53796e6368726f6e00000000000000004672656552756e2f534d2d53796e6368726f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</DcMode>
<DcMode>4443000000000000000000000000000044432d53796e6368726f6e000000000000000000000000000000000000000000000000000000000000000000000000030100000000000000000000000000000000000000000000000000000000000000</DcMode>
<MBoxUserCmdData>004003000c0000000000000000000000000000000000000000000000000000002081f001040000003400100000</MBoxUserCmdData>
<MBoxUserCmdData>004003000a00000000000000000000000000000000000000000000000000000020f3100502000000010000</MBoxUserCmdData>
<MBoxUserCmdData>020003000a0000000f00000000000000000000000000000000000000000000002010800102000000dc054d6178696d616c2063757272656e7400</MBoxUserCmdData>
<MBoxUserCmdData>020003000a0000000f00000000000000000000000000000000000000000000002010800202000000f401526564756365642063757272656e7400</MBoxUserCmdData>
<MBoxUserCmdData>020003000a0000000f00000000000000000000000000000000000000000000002010800302000000c05d4e6f6d696e616c20766f6c7461676500</MBoxUserCmdData>
<MBoxUserCmdData>02000300090000000b000000000000000000000000000000000000000000000020128005010000000153706565642072616e676500</MBoxUserCmdData>
<Pdo Name="ENC Status compact" Index="#x1a00" Flags="#x0010">
<ExcludePdo>#x1a01</ExcludePdo>
<Entry Name="Status__" BitLen="1">
<Type GUID="{18071995-0000-0000-0000-002000000001}">ARRAY [0..0] OF BIT</Type>
</Entry>
<Entry Name="Status__Latch extern valid" BitLen="1" Index="#x6000" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Set counter done" BitLen="1" Index="#x6000" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Counter underflow" BitLen="1" Index="#x6000" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Counter overflow" BitLen="1" Index="#x6000" Sub="#x05">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="3">
<Type GUID="{18071995-0000-0000-0000-002000000003}">ARRAY [0..2] OF BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="4">
<Type GUID="{18071995-0000-0000-0000-002000000004}">ARRAY [0..3] OF BIT</Type>
</Entry>
<Entry Name="Status__Status of extern latch" BitLen="1" Index="#x6000" Sub="#x0d">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Sync error" BitLen="1" Index="#x6000" Sub="#x0e">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="1">
<Type GUID="{18071995-0000-0000-0000-002000000001}">ARRAY [0..0] OF BIT</Type>
</Entry>
<Entry Name="Status__TxPDO Toggle" BitLen="1" Index="#x6000" Sub="#x10">
<Type>BIT</Type>
</Entry>
<Entry Name="Counter value" BitLen="16" Index="#x6000" Sub="#x11">
<Type>UINT</Type>
</Entry>
<Entry Name="Latch value" BitLen="16" Index="#x6000" Sub="#x12">
<Type>UINT</Type>
</Entry>
</Pdo>
<Pdo Name="ENC Status" Index="#x1a01" Flags="#x0010" SyncMan="3">
<ExcludePdo>#x1a00</ExcludePdo>
<Entry Name="Status__" BitLen="1">
<Type GUID="{18071995-0000-0000-0000-002000000001}">ARRAY [0..0] OF BIT</Type>
</Entry>
<Entry Name="Status__Latch extern valid" BitLen="1" Index="#x6000" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Set counter done" BitLen="1" Index="#x6000" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Counter underflow" BitLen="1" Index="#x6000" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Counter overflow" BitLen="1" Index="#x6000" Sub="#x05">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="3">
<Type GUID="{18071995-0000-0000-0000-002000000003}">ARRAY [0..2] OF BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="4">
<Type GUID="{18071995-0000-0000-0000-002000000004}">ARRAY [0..3] OF BIT</Type>
</Entry>
<Entry Name="Status__Status of extern latch" BitLen="1" Index="#x6000" Sub="#x0d">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Sync error" BitLen="1" Index="#x6000" Sub="#x0e">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="1">
<Type GUID="{18071995-0000-0000-0000-002000000001}">ARRAY [0..0] OF BIT</Type>
</Entry>
<Entry Name="Status__TxPDO Toggle" BitLen="1" Index="#x6000" Sub="#x10">
<Type>BIT</Type>
</Entry>
<Entry Name="Counter value" BitLen="32" Index="#x6000" Sub="#x11">
<Type>UDINT</Type>
</Entry>
<Entry Name="Latch value" BitLen="32" Index="#x6000" Sub="#x12">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="ENC Timest. compact" Index="#x1a02" Flags="#x0010">
<Entry Name="Timestamp" BitLen="32" Index="#x6000" Sub="#x16">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="STM Status" Index="#x1a03" Flags="#x0010" SyncMan="3">
<Entry Name="Status__Ready to enable" BitLen="1" Index="#x6010" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Ready" BitLen="1" Index="#x6010" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Warning" BitLen="1" Index="#x6010" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Error" BitLen="1" Index="#x6010" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Moving positive" BitLen="1" Index="#x6010" Sub="#x05">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Moving negative" BitLen="1" Index="#x6010" Sub="#x06">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Torque reduced" BitLen="1" Index="#x6010" Sub="#x07">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="1">
<Type GUID="{18071995-0000-0000-0000-002000000001}">ARRAY [0..0] OF BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="3">
<Type GUID="{18071995-0000-0000-0000-002000000003}">ARRAY [0..2] OF BIT</Type>
</Entry>
<Entry Name="Status__Digital input 1" BitLen="1" Index="#x6010" Sub="#x0c">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Digital input 2" BitLen="1" Index="#x6010" Sub="#x0d">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Sync error" BitLen="1" Index="#x6010" Sub="#x0e">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="1">
<Type GUID="{18071995-0000-0000-0000-002000000001}">ARRAY [0..0] OF BIT</Type>
</Entry>
<Entry Name="Status__TxPDO Toggle" BitLen="1" Index="#x6010" Sub="#x10">
<Type>BIT</Type>
</Entry>
</Pdo>
<Pdo Name="STM Synchron info data" Index="#x1a04" Flags="#x0010">
<Entry Name="Info data 1" BitLen="16" Index="#x6010" Sub="#x11">
<Type>UINT</Type>
</Entry>
<Entry Name="Info data 2" BitLen="16" Index="#x6010" Sub="#x12">
<Type>UINT</Type>
</Entry>
</Pdo>
<Pdo Name="POS Status compact" Index="#x1a05" Flags="#x0010">
<ExcludePdo>#x1a06</ExcludePdo>
<Entry Name="Status__Busy" BitLen="1" Index="#x6020" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__In-Target" BitLen="1" Index="#x6020" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Warning" BitLen="1" Index="#x6020" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Error" BitLen="1" Index="#x6020" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Calibrated" BitLen="1" Index="#x6020" Sub="#x05">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Accelerate" BitLen="1" Index="#x6020" Sub="#x06">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Decelerate" BitLen="1" Index="#x6020" Sub="#x07">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Ready to execute" BitLen="1" Index="#x6020" Sub="#x08">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="8">
<Type GUID="{18071995-0000-0000-0000-002000000008}">ARRAY [0..0] OF BYTE</Type>
</Entry>
</Pdo>
<Pdo Name="POS Status" Index="#x1a06" Flags="#x0010">
<ExcludePdo>#x1a05</ExcludePdo>
<Entry Name="Status__Busy" BitLen="1" Index="#x6020" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__In-Target" BitLen="1" Index="#x6020" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Warning" BitLen="1" Index="#x6020" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Error" BitLen="1" Index="#x6020" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Calibrated" BitLen="1" Index="#x6020" Sub="#x05">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Accelerate" BitLen="1" Index="#x6020" Sub="#x06">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Decelerate" BitLen="1" Index="#x6020" Sub="#x07">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__Ready to execute" BitLen="1" Index="#x6020" Sub="#x08">
<Type>BIT</Type>
</Entry>
<Entry Name="Status__" BitLen="8">
<Type GUID="{18071995-0000-0000-0000-002000000008}">ARRAY [0..0] OF BYTE</Type>
</Entry>
<Entry Name="Actual position" BitLen="32" Index="#x6020" Sub="#x11">
<Type>UDINT</Type>
</Entry>
<Entry Name="Actual velocity" BitLen="16" Index="#x6020" Sub="#x21">
<Type>INT</Type>
</Entry>
<Entry Name="Actual drive time" BitLen="32" Index="#x6020" Sub="#x22">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="STM Internal position" Index="#x1a07" Flags="#x0010">
<Entry Name="Internal position" BitLen="32" Index="#x6010" Sub="#x14">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="STM External position" Index="#x1a08" Flags="#x0010">
<Entry Name="External position" BitLen="32" Index="#x6010" Sub="#x15">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="POS Actual position lag" Index="#x1a09" Flags="#x0010">
<Entry Name="Actual position lag" BitLen="32" Index="#x6020" Sub="#x23">
<Type>DINT</Type>
</Entry>
</Pdo>
<Pdo Name="ENC Control compact" Index="#x1600" InOut="1" Flags="#x0010">
<ExcludePdo>#x1601</ExcludePdo>
<Entry Name="Control__" BitLen="1">
<Type GUID="{18071995-0000-0000-0000-002000000001}">ARRAY [0..0] OF BIT</Type>
</Entry>
<Entry Name="Control__Enable latch extern on positive edge" BitLen="1" Index="#x7000" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__Set counter" BitLen="1" Index="#x7000" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__Enable latch extern on negative edge" BitLen="1" Index="#x7000" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="4">
<Type GUID="{18071995-0000-0000-0000-002000000004}">ARRAY [0..3] OF BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="8">
<Type GUID="{18071995-0000-0000-0000-002000000008}">ARRAY [0..0] OF BYTE</Type>
</Entry>
<Entry Name="Set counter value" BitLen="16" Index="#x7000" Sub="#x11">
<Type>UINT</Type>
</Entry>
</Pdo>
<Pdo Name="ENC Control" Index="#x1601" InOut="1" Flags="#x0010" SyncMan="2">
<ExcludePdo>#x1600</ExcludePdo>
<Entry Name="Control__" BitLen="1">
<Type GUID="{18071995-0000-0000-0000-002000000001}">ARRAY [0..0] OF BIT</Type>
</Entry>
<Entry Name="Control__Enable latch extern on positive edge" BitLen="1" Index="#x7000" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__Set counter" BitLen="1" Index="#x7000" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__Enable latch extern on negative edge" BitLen="1" Index="#x7000" Sub="#x04">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="4">
<Type GUID="{18071995-0000-0000-0000-002000000004}">ARRAY [0..3] OF BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="8">
<Type GUID="{18071995-0000-0000-0000-002000000008}">ARRAY [0..0] OF BYTE</Type>
</Entry>
<Entry Name="Set counter value" BitLen="32" Index="#x7000" Sub="#x11">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="STM Control" Index="#x1602" InOut="1" Flags="#x0010" SyncMan="2">
<Entry Name="Control__Enable" BitLen="1" Index="#x7010" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__Reset" BitLen="1" Index="#x7010" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__Reduce torque" BitLen="1" Index="#x7010" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="5">
<Type GUID="{18071995-0000-0000-0000-002000000005}">ARRAY [0..4] OF BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="8">
<Type GUID="{18071995-0000-0000-0000-002000000008}">ARRAY [0..0] OF BYTE</Type>
</Entry>
</Pdo>
<Pdo Name="STM Position" Index="#x1603" InOut="1" Flags="#x0010">
<ExcludePdo>#x1604</ExcludePdo>
<ExcludePdo>#x1605</ExcludePdo>
<ExcludePdo>#x1606</ExcludePdo>
<Entry Name="Position" BitLen="32" Index="#x7010" Sub="#x11">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="STM Velocity" Index="#x1604" InOut="1" Flags="#x0010" SyncMan="2">
<ExcludePdo>#x1603</ExcludePdo>
<ExcludePdo>#x1605</ExcludePdo>
<ExcludePdo>#x1606</ExcludePdo>
<Entry Name="Velocity" BitLen="16" Index="#x7010" Sub="#x21">
<Type>INT</Type>
</Entry>
</Pdo>
<Pdo Name="POS Control compact" Index="#x1605" InOut="1" Flags="#x0010">
<ExcludePdo>#x1603</ExcludePdo>
<ExcludePdo>#x1604</ExcludePdo>
<ExcludePdo>#x1606</ExcludePdo>
<Entry Name="Control__Execute" BitLen="1" Index="#x7020" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__Emergency stop" BitLen="1" Index="#x7020" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="6">
<Type GUID="{18071995-0000-0000-0000-002000000006}">ARRAY [0..5] OF BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="8">
<Type GUID="{18071995-0000-0000-0000-002000000008}">ARRAY [0..0] OF BYTE</Type>
</Entry>
<Entry Name="Target position" BitLen="32" Index="#x7020" Sub="#x11">
<Type>UDINT</Type>
</Entry>
</Pdo>
<Pdo Name="POS Control" Index="#x1606" InOut="1" Flags="#x0010">
<ExcludePdo>#x1603</ExcludePdo>
<ExcludePdo>#x1604</ExcludePdo>
<ExcludePdo>#x1605</ExcludePdo>
<Entry Name="Control__Execute" BitLen="1" Index="#x7020" Sub="#x01">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__Emergency stop" BitLen="1" Index="#x7020" Sub="#x02">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="6">
<Type GUID="{18071995-0000-0000-0000-002000000006}">ARRAY [0..5] OF BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="8">
<Type GUID="{18071995-0000-0000-0000-002000000008}">ARRAY [0..0] OF BYTE</Type>
</Entry>
<Entry Name="Target position" BitLen="32" Index="#x7020" Sub="#x11">
<Type>UDINT</Type>
</Entry>
<Entry Name="Velocity" BitLen="16" Index="#x7020" Sub="#x21">
<Type>INT</Type>
</Entry>
<Entry Name="Start type" BitLen="16" Index="#x7020" Sub="#x22">
<Type>UINT</Type>
</Entry>
<Entry Name="Acceleration" BitLen="16" Index="#x7020" Sub="#x23">
<Type>UINT</Type>
</Entry>
<Entry Name="Deceleration" BitLen="16" Index="#x7020" Sub="#x24">
<Type>UINT</Type>
</Entry>
</Pdo>
<Pdo Name="POS Control 2" Index="#x1607" InOut="1" Flags="#x0010">
<ExcludePdo>#x1603</ExcludePdo>
<ExcludePdo>#x1604</ExcludePdo>
<ExcludePdo>#x1605</ExcludePdo>
<Entry Name="Control__" BitLen="2">
<Type GUID="{18071995-0000-0000-0000-002000000002}">ARRAY [0..1] OF BIT</Type>
</Entry>
<Entry Name="Control__Enable auto start" BitLen="1" Index="#x7021" Sub="#x03">
<Type>BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="5">
<Type GUID="{18071995-0000-0000-0000-002000000005}">ARRAY [0..4] OF BIT</Type>
</Entry>
<Entry Name="Control__" BitLen="8">
<Type GUID="{18071995-0000-0000-0000-002000000008}">ARRAY [0..0] OF BYTE</Type>
</Entry>
<Entry Name="Target position" BitLen="32" Index="#x7021" Sub="#x11">
<Type>UDINT</Type>
</Entry>
<Entry Name="Velocity" BitLen="16" Index="#x7021" Sub="#x21">
<Type>INT</Type>
</Entry>
<Entry Name="Start type" BitLen="16" Index="#x7021" Sub="#x22">
<Type>UINT</Type>
</Entry>
<Entry Name="Acceleration" BitLen="16" Index="#x7021" Sub="#x23">
<Type>UINT</Type>
</Entry>
<Entry Name="Deceleration" BitLen="16" Index="#x7021" Sub="#x24">
<Type>UINT</Type>
</Entry>
</Pdo>
<CoeProfile ProfileNo="33493897" DisplayName="Stepper interface"/>
<CoeProfile ProfileNo="46076809" DisplayName="Stepper interface"/>
<CoeProfile ProfileNo="46142345" DisplayName="Positioning interfa"/>
</EtherCAT>
</Box>
</TcSmItem>
@@ -0,0 +1,11 @@
<?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.11" ClassName="CFlbTermDef" SubType="9099">
<ImageDatas>
<ImageData Id="1000">424dd6020000000000003600000028000000100000000e0000000100180000000000a0020000c40e0000c40e00000000000000000000ff00ffff00ffff00ffff00ffff00ffff00ff808080808080808080808080808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ff00bfffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c080808000bfff00bfff00bfff00bfff00bfffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ff00bfffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffff00ffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff007fff007fff007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff007fff007fff007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff007fff007fff007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff007fff007fff007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff007fff007fff007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff007fff007fff007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff007fff007fff007fff007fff007fff007fffc0c0c0c0c0c0c0c0c0c0c0c0808080ff00ffff00ffff00ffff00ffff00ff</ImageData>
</ImageDatas>
<Box Id="8" BoxType="9099">
<Name>__FILENAME__</Name>
<ImageId>1000</ImageId>
<EtherCAT SlaveType="1" PdiType="#x0100" CycleMBoxPollingTime="0" VendorId="#x00000002" ProductCode="#x04562c52" RevisionNo="#x00110000" PortPhys="19" MaxSlotCount="256" MaxSlotGroupCount="1" SlotPdoIncrement="1" SlotIndexIncrement="16" Type="EK1110 EtherCAT extension" Desc="EK1110"/>
</Box>
</TcSmItem>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+6
View File
@@ -16,5 +16,11 @@
<SvbTask Priority="8" CycleTime="100000" AmsPort="511">
<Name>NC-Task 1 SVB</Name>
</SvbTask>
<Axis File="North.xti" Id="1"/>
<Axis File="South.xti" Id="2"/>
<Axis File="VG.xti" Id="3"/>
<Axis File="VC.xti" Id="4"/>
<Axis File="North_Offset.xti" Id="5"/>
<Axis File="South_Offset.xti" Id="6"/>
</NC>
</TcSmItem>
File diff suppressed because it is too large Load Diff
+8 -2
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.4024.11">
<Project ProjectGUID="{9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}" Target64Bit="true" ShowHideConfigurations="#x106">
<Project ProjectGUID="{9CF97348-B9D3-4938-B1F2-5F0B0B6AA66A}" TargetNetId="5.65.74.200.1.1" Target64Bit="true" ShowHideConfigurations="#x106">
<System>
<Settings MaxCpus="2" NonWinCpus="1" DontCheckTarget="10.0.5.148.1.1">
<Settings MaxCpus="2">
<Cpu CpuId="1"/>
<IoIdleTask Priority="6"/>
</Settings>
@@ -18,5 +18,11 @@
<Plc>
<Project File="tc_project_app.xti"/>
</Plc>
<Io>
<Device File="Device 1 (EtherCAT).xti" Id="1"/>
</Io>
</Project>
<Mappings>
<MappingInfo Identifier="{00000000-0020-0304-1000-040320000403}" Id="#x02030010"/>
</Mappings>
</TcSmProject>
+6 -4
View File
@@ -1,16 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
<GVL Name="GVL_APP" Id="{8fe9690c-7907-432e-bedb-6fc99b5ce255}">
<Declaration><![CDATA[{attribute 'qualified_only'}
<Declaration><![CDATA[
{attribute 'qualified_only'}
VAR_GLOBAL
END_VAR
VAR_GLOBAL CONSTANT
nAXIS_NUM: UINT := 0; (*~ (OPC: 1 : available for OPC-clients)
nAXIS_NUM: UINT := 6; (*~ (OPC: 1 : available for OPC-clients)
(OPC_PROP[0005]: 1 : OPC_PROP_RIGHTS, here read only) *)
nPNEUMATIC_AXIS_NUM: UINT := 0;
END_VAR
]]></Declaration>
END_VAR]]></Declaration>
</GVL>
</TcPlcObject>
@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
<POU Name="Application_Template" Id="{4bdeebc0-15d8-4790-97d0-e9c4239d121c}" SpecialFunc="None">
<Declaration><![CDATA[PROGRAM Application_Template
VAR
//Define all necessary variables for your application
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[//Program any specific code or safety code for an specific application when it involves multiple axes
//Eg. Collision avoidance, interlocks, sequencing, etc.]]></ST>
</Implementation>
<LineIds Name="Application_Template">
<LineId Id="5" Count="0" />
<LineId Id="10" Count="0" />
</LineIds>
</POU>
</TcPlcObject>
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
<POU Name="FB_SlitPairV2" Id="{ff4013b1-472a-4f42-a6c8-2711712ac06d}" SpecialFunc="None">
<Declaration><![CDATA[FUNCTION_BLOCK FB_SlitPairV2
VAR_INPUT
positiveAxis_ID : UINT;
negativeAxis_ID : UINT;
GapSizeAxis_ID : UINT;
GapCentreAxis_ID : UINT;
Enable : BOOL;
Reset : BOOL;
EncoderScaling : LREAL := 10000;
END_VAR
VAR_OUTPUT
END_VAR
VAR
GapSizeEncoder AT %Q* : UDINT:=0;
GapCentreEncoder AT %Q* : UDINT:=0;
fGapSize : LREAL;
fGapCentre : LREAL;
setpointGenEnable_positiveAxis : MC_ExtSetPointGenEnable;
setpointGenEnable_negativeAxis : MC_ExtSetPointGenEnable;
setpointGenEnable_gapSizeAxis : MC_ExtSetPointGenEnable;
setpointGenEnable_gapCentreAxis : MC_ExtSetPointGenEnable;
setpointGenDisable_positiveAxis : MC_ExtSetPointGenDisable;
setpointGenDisable_negativeAxis : MC_ExtSetPointGenDisable;
setpointGenDisable_gapSizeAxis : MC_ExtSetPointGenDisable;
setpointGenDisable_gapCentreAxis : MC_ExtSetPointGenDisable;
posSetpoint_positiveAxis : LREAL;
posSetpoint_negativeAxis : LREAL;
posSetpoint_gapSizeAxis : LREAL;
posSetpoint_gapCentreAxis : LREAL;
veloSetpoint_positiveAxis : LREAL;
veloSetpoint_negativeAxis : LREAL;
veloSetpoint_gapSizeAxis : LREAL;
veloSetpoint_gapCentreAxis : LREAL;
dir_positiveAxis : DINT;
dir_negativeAxis : DINT;
dir_gapSizeAxis : DINT;
dir_gapCentreAxis : DINT;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[]]></ST>
</Implementation>
<LineIds Name="FB_SlitPairV2">
<LineId Id="9" Count="0" />
</LineIds>
</POU>
</TcPlcObject>
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
<POU Name="limitsPower" Id="{7dcb7d67-8fc5-4c4f-a1c9-d3a3a11a9340}" SpecialFunc="None">
<Declaration><![CDATA[PROGRAM limitsPower
VAR
bEnableAxis1Limits AT %Q*: BOOL:=TRUE;
bEnableAxis2Limits AT %Q*: BOOL:=TRUE;
bEnableAxis1Enc AT %Q*: BOOL:=TRUE;
bEnableAxis2Enc AT %Q*: BOOL:=TRUE;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[]]></ST>
</Implementation>
<LineIds Name="limitsPower">
<LineId Id="5" Count="0" />
</LineIds>
</POU>
</TcPlcObject>
@@ -0,0 +1,341 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
<POU Name="testSlitApp" Id="{02dd3d5e-b93a-47d0-a30a-b16df70390e6}" SpecialFunc="None">
<Declaration><![CDATA[PROGRAM testSlitApp
VAR
southBlade_ID : UINT := 2;
northBlade_ID : UINT := 1;
VG_ID : UINT := 3;
VC_ID : UINT := 4;
bEnable : BOOL :=FALSE;
fGapSizePosition: LREAL;
iGapSizePosition AT %Q*: UDINT := 0;
fGapCentrePosition: LREAL;
iGapCentrePosition AT %Q*: UDINT := 0;
fEncoderScaling : LREAL := 10000;
northSpGenEnable : MC_ExtSetPointGenEnable;
northSpGenDisable : MC_ExtSetPointGenDisable;
southSpGenEnable : MC_ExtSetPointGenEnable;
southSpGenDisable : MC_ExtSetPointGenDisable;
vgSpGenEnable : MC_ExtSetPointGenEnable;
vgSpGenDisable : MC_ExtSetPointGenDisable;
vcSpGenEnable : MC_ExtSetPointGenEnable;
vcSpGenDisable : MC_ExtSetPointGenDisable;
fNorthSp : LREAL;
fSouthSp : LREAL;
fVgSp : LREAL;
fVcSp : LREAL;
fNorthVelSp : LREAL;
fSouthVelSp : LREAL;
fVgVelSp:LREAL;
fVcVelSp : LREAL;
northDir : DINT;
southDir : DINT;
vgDir : DINT;
vcDir : DINT;
lastCycleSP_North : LREAL;
lastCycleSP_South : LREAL;
lastCycleSP_VG : LREAL;
lastCycleSP_VC : LREAL;
iState : UINT := 0;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[actVirtualAxisPositions();
//IF bEnable THEN
GVL.astAxes[northBlade_ID].stControl.bEnable:=TRUE;
GVL.astAxes[southBlade_ID].stControl.bEnable:=TRUE;
GVL.astAxes[VG_ID].stControl.bEnable:=TRUE;
GVL.astAxes[VC_ID].stControl.bEnable:=TRUE;
GVL.astAxes[5].stControl.bEnable:=TRUE;
GVL.astAxes[6].stControl.bEnable:=TRUE;
GVL.astAxes[VG_ID].stInputs.bLimitBwd := TRUE;
GVL.astAxes[VG_ID].stInputs.bLimitFwd := TRUE;
GVL.astAxes[VC_ID].stInputs.bLimitBwd := TRUE;
GVL.astAxes[VC_ID].stInputs.bLimitFwd := TRUE;
GVL.astAxes[5].stInputs.bLimitBwd := TRUE;
GVL.astAxes[5].stInputs.bLimitFwd := TRUE;
GVL.astAxes[6].stInputs.bLimitBwd := TRUE;
GVL.astAxes[6].stInputs.bLimitFwd := TRUE;
northSpGenEnable(Axis:= GVL.astAxes[northBlade_ID].Axis);
northSpGenEnable.Execute:=FALSE;
southSpGenEnable(Axis:=GVL.astAxes[southBlade_ID].Axis);
southSpGenEnable.Execute:=FALSE;
northSpGenDisable(Axis:= GVL.astAxes[northBlade_ID].Axis);
northSpGenDisable.Execute:=FALSE;
southSpGenDisable(Axis:=GVL.astAxes[southBlade_ID].Axis);
southSpGenDisable.Execute:=FALSE;
vgSpGenEnable(Axis:= GVL.astAxes[3].Axis);
vgSpGenEnable.Execute:=FALSE;
vcSpGenEnable(Axis:=GVL.astAxes[4].Axis);
vcSpGenEnable.Execute:=FALSE;
vgSpGenDisable(Axis:= GVL.astAxes[3].Axis);
vgSpGenDisable.Execute:=FALSE;
vcSpGenDisable(Axis:=GVL.astAxes[4].Axis);
vcSpGenDisable.Execute:=FALSE;
fNorthSp := GVL.astAxes[VC_ID].Axis.NcToPlc.SetPos + (GVL.astAxes[VG_ID].Axis.NcToPlc.SetPos/2);
fSouthSp := GVL.astAxes[VC_ID].Axis.NcToPlc.SetPos - (GVL.astAxes[VG_ID].Axis.NcToPlc.SetPos/2);
fNorthVelSp := GVL.astAxes[VC_ID].Axis.NcToPlc.SetVelo +(GVL.astAxes[VG_ID].Axis.NcToPlc.SetVelo/2) + GVL.astAxes[5].Axis.NcToPlc.SetVelo;
fSouthVelSp := GVL.astAxes[VC_ID].Axis.NcToPlc.SetVelo -(GVL.astAxes[VG_ID].Axis.NcToPlc.SetVelo/2) + GVL.astAxes[6].Axis.NcToPlc.SetVelo;
IF fNorthVelSp>0 THEN
northDir := 1;
ELSIF fNorthVelSp<0 THEN
northDir:=-1;
ELSE
northDir:=0;
END_IF
IF fSouthVelSp>0 THEN
SouthDir := 1;
ELSIF fSouthVelSp<0 THEN
SouthDir:=-1;
ELSE
SouthDir:=0;
END_IF
fVgVelSp := GVL.astAxes[1].Axis.NcToPlc.SetVelo - GVL.astAxes[2].Axis.NcToPlc.SetVelo;
fVcVelSp := GVL.astAxes[1].Axis.NcToPlc.SetVelo + GVL.astAxes[2].Axis.NcToPlc.SetVelo;
IF fVgVelSp>0 THEN
vgDir := 1;
ELSIF fVgVelSp<0 THEN
vgDir:=-1;
ELSE
vgDir:=0;
END_IF
IF fVcVelSp>0 THEN
vcDir := 1;
ELSIF fVcVelSp<0 THEN
vcDir:=-1;
ELSE
vcDir:=0;
END_IF
fVgSp := GVL.astAxes[northBlade_ID].Axis.NcToPlc.SetPos - GVL.astAxes[southBlade_ID].Axis.NcToPlc.SetPos;
fVcSp := (GVL.astAxes[northBlade_ID].Axis.NcToPlc.SetPos + GVL.astAxes[southBlade_ID].Axis.NcToPlc.SetPos) / 2;
//IF northSpGenEnable.Enabled OR southSpGenEnable THEN
//
//END_IF
CASE istate OF
0:
IF GVL.astAxes[VG_ID].stStatus.bMoving OR GVL.astAxes[VC_ID].stStatus.bMoving THEN
iState:=1;
END_IF
IF GVL.astAxes[1].stStatus.bMoving OR GVL.astAxes[2].stStatus.bMoving THEN
iState:=10;
END_IF
1:
northSpGenEnable.Execute:=TRUE;
southSpGenEnable.Execute:=TRUE;
iState:=2;
2:
IF NOT(GVL.astAxes[VG_ID].stStatus.bMoving OR GVL.astAxes[VC_ID].stStatus.bMoving) THEN
iState:=3;
END_IF
3:
northSpGenDisable.Execute:=TRUE;
southSpGenDisable.Execute:=TRUE;
iState:=0;
10:
vgSpGenEnable.Execute :=TRUE;
vcSpGenEnable.Execute:=TRUE;
iState:=11;
11:
IF NOT(GVL.astAxes[1].stStatus.bMoving OR GVL.astAxes[2].stStatus.bMoving) THEN
iState:=12;
END_IF
12:
vgSpGenDisable.Execute :=TRUE;
vcSpGenDisable.Execute:=TRUE;
iState:=0;
END_CASE
(*IF (GVL.astAxes[VG_ID].stStatus.bMoving OR GVL.astAxes[VC_ID].stStatus.bMoving) AND NOT(vgSpGenEnable.Enabled OR vcSpGenEnable.Enabled) THEN
northSpGenEnable.Execute:=TRUE;
southSpGenEnable.Execute:=TRUE;
END_IF
IF NOT(GVL.astAxes[VG_ID].stStatus.bMoving) AND NOT(GVL.astAxes[VC_ID].stStatus.bMoving) THEN
northSpGenDisable.Execute:=TRUE;
southSpGenDisable.Execute:=TRUE;
END_IF
IF GVL.astAxes[1].stStatus.bMoving OR GVL.astAxes[2].stStatus.bMoving AND NOT(northSpGenEnable.Enabled OR southSpGenEnable.Enabled) AND NOT(northSpGenEnable.Execute) THEN
vgSpGenEnable.Execute :=TRUE;
vcSpGenEnable.Execute:=TRUE;
END_IF
IF NOT(GVL.astAxes[1].stStatus.bMoving) AND NOT(GVL.astAxes[2].stStatus.bMoving) THEN
vgSpGenDisable.Execute :=TRUE;
vcSpGenDisable.Execute:=TRUE;
END_IF*)
MC_ExtSetPointGenFeed(Axis:= GVL.astAxes[northBlade_ID].Axis, Position:= fNorthSp, Velocity:=fNorthVelSp, Acceleration:=0,Direction:=northDir);
MC_ExtSetPointGenFeed(Axis:= GVL.astAxes[southBlade_ID].Axis, Position:= fSouthSp, Velocity:=fSouthVelSp, Acceleration:=0,Direction:=southDir);
MC_ExtSetPointGenFeed(Axis:= GVL.astAxes[3].Axis, Position:= fVgSp, Velocity:=fVgVelSp, Acceleration:=0,Direction:=vgDir);
MC_ExtSetPointGenFeed(Axis:= GVL.astAxes[4].Axis, Position:= fVcSp, Velocity:=fVcVelSp, Acceleration:=0,Direction:=vcDir);
lastCycleSP_North := GVL.astAxes[1].Axis.NcToPlc.SetPos;
lastCycleSP_South := GVL.astAxes[2].Axis.NcToPlc.SetPos;
lastCycleSP_VG := GVL.astAxes[3].Axis.NcToPlc.SetPos;
lastCycleSP_VC := GVL.astAxes[4].Axis.NcToPlc.SetPos;
//END_IF]]></ST>
</Implementation>
<Action Name="actVirtualAxisPositions" Id="{84408ed0-12a9-4a20-9ee2-393320dd5a43}">
<Implementation>
<ST><![CDATA[(*Calculate virtual axis positions and convert to UDINT.
Conversion to UDINT is prohibited if it would exceed UDINT max value of 4,294,967,295.
If this is not done, it can cause overflow when connected to the encoder input and hard-crash the PLC which will only recover with a power cycle.
To preserve decimal position data of the LREAL (i.e. anything <1mm) it is necessary to scale the value before converting to UDINT.
This can be reversed with the correct scaling at the NC encoder level.
*)
fGapSizePosition := GVL.astAxes[northBlade_ID].stStatus.fActPosition - GVL.astAxes[southBlade_ID].stStatus.fActPosition;
fGapCentrePosition := (GVL.astAxes[northBlade_ID].stStatus.fActPosition + GVL.astAxes[southBlade_ID].stStatus.fActPosition) / 2;
IF ABS(fGapSizePosition) < 100000 THEN
iGapSizePosition := LREAL_TO_UDINT(fGapSizePosition*fEncoderScaling);
END_IF
IF ABS(fGapCentrePosition) < 100000 THEN
iGapCentrePosition := LREAL_TO_UDINT(fGapCentrePosition*fEncoderScaling);
END_IF]]></ST>
</Implementation>
</Action>
<LineIds Name="testSlitApp">
<LineId Id="40" Count="0" />
<LineId Id="5" Count="0" />
<LineId Id="54" Count="0" />
<LineId Id="53" Count="0" />
<LineId Id="55" Count="2" />
<LineId Id="68" Count="0" />
<LineId Id="67" Count="0" />
<LineId Id="58" Count="0" />
<LineId Id="11" Count="0" />
<LineId Id="61" Count="0" />
<LineId Id="60" Count="0" />
<LineId Id="70" Count="2" />
<LineId Id="69" Count="0" />
<LineId Id="59" Count="0" />
<LineId Id="14" Count="0" />
<LineId Id="98" Count="0" />
<LineId Id="41" Count="0" />
<LineId Id="99" Count="0" />
<LineId Id="42" Count="0" />
<LineId Id="100" Count="0" />
<LineId Id="15" Count="0" />
<LineId Id="46" Count="0" />
<LineId Id="108" Count="7" />
<LineId Id="107" Count="0" />
<LineId Id="101" Count="0" />
<LineId Id="47" Count="0" />
<LineId Id="50" Count="0" />
<LineId Id="64" Count="0" />
<LineId Id="66" Count="0" />
<LineId Id="143" Count="1" />
<LineId Id="146" Count="0" />
<LineId Id="148" Count="2" />
<LineId Id="145" Count="0" />
<LineId Id="152" Count="5" />
<LineId Id="151" Count="0" />
<LineId Id="158" Count="0" />
<LineId Id="44" Count="0" />
<LineId Id="159" Count="0" />
<LineId Id="175" Count="0" />
<LineId Id="162" Count="12" />
<LineId Id="160" Count="1" />
<LineId Id="88" Count="0" />
<LineId Id="141" Count="0" />
<LineId Id="90" Count="0" />
<LineId Id="177" Count="0" />
<LineId Id="176" Count="0" />
<LineId Id="179" Count="0" />
<LineId Id="142" Count="0" />
<LineId Id="180" Count="1" />
<LineId Id="184" Count="0" />
<LineId Id="78" Count="0" />
<LineId Id="185" Count="0" />
<LineId Id="187" Count="0" />
<LineId Id="190" Count="1" />
<LineId Id="193" Count="2" />
<LineId Id="192" Count="0" />
<LineId Id="188" Count="1" />
<LineId Id="196" Count="2" />
<LineId Id="200" Count="1" />
<LineId Id="199" Count="0" />
<LineId Id="202" Count="3" />
<LineId Id="207" Count="5" />
<LineId Id="214" Count="1" />
<LineId Id="213" Count="0" />
<LineId Id="216" Count="3" />
<LineId Id="206" Count="0" />
<LineId Id="186" Count="0" />
<LineId Id="79" Count="0" />
<LineId Id="96" Count="0" />
<LineId Id="102" Count="0" />
<LineId Id="97" Count="0" />
<LineId Id="104" Count="2" />
<LineId Id="103" Count="0" />
<LineId Id="121" Count="0" />
<LineId Id="123" Count="0" />
<LineId Id="125" Count="0" />
<LineId Id="124" Count="0" />
<LineId Id="128" Count="2" />
<LineId Id="127" Count="0" />
<LineId Id="126" Count="0" />
<LineId Id="122" Count="0" />
<LineId Id="80" Count="1" />
<LineId Id="43" Count="0" />
<LineId Id="16" Count="0" />
<LineId Id="131" Count="0" />
<LineId Id="17" Count="1" />
<LineId Id="92" Count="0" />
<LineId Id="91" Count="0" />
<LineId Id="19" Count="0" />
<LineId Id="93" Count="2" />
<LineId Id="20" Count="6" />
<LineId Id="13" Count="0" />
<LineId Id="12" Count="0" />
</LineIds>
<LineIds Name="testSlitApp.actVirtualAxisPositions">
<LineId Id="13" Count="0" />
<LineId Id="17" Count="0" />
<LineId Id="16" Count="0" />
<LineId Id="18" Count="1" />
<LineId Id="15" Count="0" />
<LineId Id="2" Count="1" />
<LineId Id="20" Count="0" />
<LineId Id="4" Count="6" />
</LineIds>
</POU>
</TcPlcObject>
@@ -1,40 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
<POU Name="Axis_Template" Id="{1a43acb4-bd2e-4637-97fb-9976d47292b6}" SpecialFunc="None">
<Declaration><![CDATA[PROGRAM Axis_Template
VAR
//Outputs: Power for Limit switches, Home Sensors, etc.
//bPowerSwitchesAxis1 AT %Q*: BOOL:= TRUE;
//Hardware interlocks
//bInterlockFwdOK AT %I*: BOOL;
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[//Initial parameters of an Axis
(*IF _TaskInfo[fbGetCurTaskIndex.index].FirstCycle THEN
//Initial default values:
GVL.astAxes[1].stConfig.eHomeSeq := 0;
GVL.astAxes[1].stConfig.fHomePosition := 0.0;
GVL.astAxes[1].stConfig.fHomeFinishDistance := 0.0;
END_IF*)
//Define ACTIONS() or write exclusive code for an specific axis.
(*Eg. Stop when temperature reaches certain values, reduce speed if a signal is activated, etc.
Eg. GVL.astAxes[x].stControl.bInterlockFwd := NOT bInterlockFwdOK;*)
]]></ST>
</Implementation>
<LineIds Name="Axis_Template">
<LineId Id="20" Count="0" />
<LineId Id="5" Count="0" />
<LineId Id="13" Count="0" />
<LineId Id="17" Count="2" />
<LineId Id="14" Count="0" />
<LineId Id="22" Count="0" />
<LineId Id="21" Count="0" />
<LineId Id="24" Count="0" />
<LineId Id="33" Count="0" />
<LineId Id="23" Count="0" />
</LineIds>
</POU>
</TcPlcObject>
@@ -1,33 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
<POU Name="Pneumatics_Template" Id="{7bf401fb-a600-4741-a67b-36f20e194cfc}" SpecialFunc="None">
<Declaration><![CDATA[PROGRAM Pneumatics_Template
VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[//Test the program to control pneumatic acutator through PneumaticsVisu.
//Currently implemented control of single solenoid through PLC and and manually, with two momentary push buttons.
]]></ST>
</Implementation>
<LineIds Name="Pneumatics_Template">
<LineId Id="8" Count="0" />
<LineId Id="89" Count="0" />
<LineId Id="33" Count="0" />
<LineId Id="32" Count="0" />
<LineId Id="9" Count="0" />
<LineId Id="31" Count="0" />
<LineId Id="13" Count="0" />
<LineId Id="27" Count="0" />
<LineId Id="17" Count="0" />
<LineId Id="30" Count="0" />
</LineIds>
</POU>
</TcPlcObject>
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.5">
<POU Name="testProg" Id="{6b742e2c-3720-4a26-aa80-15486c69d838}" SpecialFunc="None">
<Declaration><![CDATA[PROGRAM testProg
VAR
END_VAR
]]></Declaration>
<Implementation>
<ST><![CDATA[]]></ST>
</Implementation>
<LineIds Name="testProg">
<LineId Id="5" Count="0" />
</LineIds>
</POU>
</TcPlcObject>
+4 -18
View File
@@ -75,16 +75,9 @@ END_IF]]></ST>
</Action>
<Action Name="PROG" Id="{5d03ebbb-2a47-4890-ad6d-e82daf72dc51}">
<Implementation>
<ST><![CDATA[//Call the programs that are defined in the "Application Specific" folder.
//Create as many programs in that folder as axes and applications you have or need
//Axes initial parameters and program
Axis_Template();
//Pneumatics_Template();
//Application program calls
//Application_Template();
]]></ST>
<ST><![CDATA[testProg();
limitsPower();
testSlitApp();]]></ST>
</Implementation>
</Action>
<Action Name="RESTORE_POSITIONS" Id="{0c7ee537-7bd9-4833-b428-c17cbb57e893}" FolderPath="POSITION_RECOVERY\">
@@ -234,14 +227,7 @@ END_FOR]]></ST>
<LineId Id="1" Count="0" />
</LineIds>
<LineIds Name="MAIN.PROG">
<LineId Id="4" Count="1" />
<LineId Id="7" Count="0" />
<LineId Id="6" Count="0" />
<LineId Id="8" Count="0" />
<LineId Id="12" Count="0" />
<LineId Id="10" Count="0" />
<LineId Id="9" Count="0" />
<LineId Id="3" Count="0" />
<LineId Id="13" Count="1" />
<LineId Id="11" Count="0" />
</LineIds>
<LineIds Name="MAIN.RESTORE_POSITIONS">
@@ -28,13 +28,13 @@
<Compile Include="PlcTask.TcTTO">
<SubType>Code</SubType>
</Compile>
<Compile Include="POUs\Application_Specific\Applications\Application_Template.TcPOU">
<Compile Include="POUs\Application_Specific\Applications\limitsPower.TcPOU">
<SubType>Code</SubType>
</Compile>
<Compile Include="POUs\Application_Specific\Axes\Axis_Template.TcPOU">
<Compile Include="POUs\Application_Specific\Applications\testSlitApp.TcPOU">
<SubType>Code</SubType>
</Compile>
<Compile Include="POUs\Application_Specific\Axes\Pneumatics_Template.TcPOU">
<Compile Include="POUs\Application_Specific\Axes\testProg.TcPOU">
<SubType>Code</SubType>
</Compile>
<Compile Include="POUs\MAIN.TcPOU">