﻿<?xml version="1.0" encoding="utf-8"?>
<!--Created 2024-04-03 12:13:54 [UTC+8] with esd EtherCAT Workbench 1.4.2 (Registered to: esd_Shanghaii_Tranzfer)-->
<!--Hint: When manual changes in this file are necessary you might also use the "ENI Extras" (in the "Master" tab page) for that purpose-->
<EtherCATConfig>
	<Config>
		<Master>
			<VendorSpecific Id="23">
				<ProjectGUID>8a4599c5372d370dd6b9d91e69cc95b9</ProjectGUID>
				<PILayout IncludeCmdHeader="1" />
				<CycleTime>1000</CycleTime>
			</VendorSpecific>
			<Info>
				<Name><![CDATA[EtherCAT Master]]></Name>
				<Destination>ffffffffffff</Destination>
				<Source>485f080502c4</Source>
				<EtherType>a488</EtherType>
			</Info>
			<InitCmds>
				<InitCmd>
					<Transition>IP</Transition>
					<BeforeSlave>1</BeforeSlave>
					<Comment><![CDATA[read slave count]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>7</Cmd>
					<!--BRD-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>304</Ado>
					<!--0x0130-->
					<Data>0000</Data>
					<Retries>0</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<BeforeSlave>1</BeforeSlave>
					<Comment><![CDATA[read slave count]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>7</Cmd>
					<!--BRD-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>304</Ado>
					<!--0x0130-->
					<Data>0000</Data>
					<Retries>0</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<BeforeSlave>1</BeforeSlave>
					<Comment><![CDATA[enable ECAT IRQ]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>8</Cmd>
					<!--BWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>512</Ado>
					<!--0x0200-->
					<Data>0400</Data>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<BeforeSlave>1</BeforeSlave>
					<Comment><![CDATA[clear configured addresses]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>8</Cmd>
					<!--BWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>16</Ado>
					<!--0x0010-->
					<Data>0000</Data>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<BeforeSlave>1</BeforeSlave>
					<Comment><![CDATA[clear crc register]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>8</Cmd>
					<!--BWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>768</Ado>
					<!--0x0300-->
					<Data>0000000000000000</Data>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<Transition>PI</Transition>
					<Transition>BI</Transition>
					<Transition>SI</Transition>
					<Transition>OI</Transition>
					<BeforeSlave>1</BeforeSlave>
					<Comment><![CDATA[clear fmmu]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>8</Cmd>
					<!--BWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>1536</Ado>
					<!--0x0600-->
					<DataLength>256</DataLength>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<BeforeSlave>1</BeforeSlave>
					<Comment><![CDATA[clear sm]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>8</Cmd>
					<!--BWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>2048</Ado>
					<!--0x0800-->
					<DataLength>256</DataLength>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<BeforeSlave>1</BeforeSlave>
					<Comment><![CDATA[clear dc system time]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>8</Cmd>
					<!--BWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>2320</Ado>
					<!--0x0910-->
					<DataLength>32</DataLength>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<BeforeSlave>1</BeforeSlave>
					<Comment><![CDATA[clear dc cycle cfg]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>8</Cmd>
					<!--BWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>2433</Ado>
					<!--0x0981-->
					<Data>00</Data>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<BeforeSlave>1</BeforeSlave>
					<Comment><![CDATA[reset dc speed]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>8</Cmd>
					<!--BWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>2352</Ado>
					<!--0x0930-->
					<Data>0010</Data>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<BeforeSlave>1</BeforeSlave>
					<Comment><![CDATA[configure dc filter]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>8</Cmd>
					<!--BWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>2356</Ado>
					<!--0x0934-->
					<Data>000c</Data>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<BeforeSlave>1</BeforeSlave>
					<Comment><![CDATA[en/disable second physical address]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>8</Cmd>
					<!--BWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>259</Ado>
					<!--0x0103-->
					<Data>00</Data>
					<Retries>3</Retries>
				</InitCmd>
			</InitCmds>
		</Master>
		<!--Slave count: 1-->
		<Slave>
			<Info>
				<Name><![CDATA[Slave 1 (ECX-DIO8 2.0)]]></Name>
				<PhysAddr>1001</PhysAddr>
				<!--0x03e9-->
				<!--Alias: 0x0000-->
				<AutoIncAddr>0</AutoIncAddr>
				<!--0x0000, 0-->
				<Physics>YY</Physics>
				<VendorId>23</VendorId>
				<ProductCode>4</ProductCode>
				<RevisionNo>1</RevisionNo>
				<SerialNo>822083736</SerialNo>
			</Info>
			<ProcessData>
				<!--LRW: 3 byte, at log. addr. 0x01000000-->
				<Send>
					<!--Bytes [26..27) in Outputs image-->
					<BitStart>208</BitStart>
					<BitLength>8</BitLength>
				</Send>
				<Recv>
					<!--Bytes [26..29) in Inputs image-->
					<BitStart>208</BitStart>
					<BitLength>24</BitLength>
				</Recv>
				<Sm1>
					<Type>Outputs</Type>
					<DefaultSize>1</DefaultSize>
					<StartAddress>3843</StartAddress>
					<!--0x0f03-->
					<ControlByte>68</ControlByte>
					<!--0x44-->
					<Enable>1</Enable>
					<Pdo>5632</Pdo>
					<!--0x1600-->
					<Pdo>5633</Pdo>
					<!--0x1601-->
					<Pdo>5634</Pdo>
					<!--0x1602-->
					<Pdo>5635</Pdo>
					<!--0x1603-->
					<Pdo>5636</Pdo>
					<!--0x1604-->
					<Pdo>5637</Pdo>
					<!--0x1605-->
					<Pdo>5638</Pdo>
					<!--0x1606-->
					<Pdo>5639</Pdo>
					<!--0x1607-->
				</Sm1>
				<Sm0>
					<Type>Inputs</Type>
					<DefaultSize>3</DefaultSize>
					<StartAddress>4096</StartAddress>
					<!--0x1000-->
					<ControlByte>0</ControlByte>
					<!--0x00-->
					<Enable>1</Enable>
					<Pdo>6656</Pdo>
					<!--0x1a00-->
					<Pdo>6657</Pdo>
					<!--0x1a01-->
					<Pdo>6658</Pdo>
					<!--0x1a02-->
					<Pdo>6659</Pdo>
					<!--0x1a03-->
					<Pdo>6660</Pdo>
					<!--0x1a04-->
					<Pdo>6661</Pdo>
					<!--0x1a05-->
					<Pdo>6662</Pdo>
					<!--0x1a06-->
					<Pdo>6663</Pdo>
					<!--0x1a07-->
					<Pdo>6664</Pdo>
					<!--0x1a08-->
				</Sm0>
				<TxPdo Fixed="1" Mandatory="1" Sm="0">
					<Index>#x1a00</Index>
					<Name><![CDATA[Channel 1]]></Name>
					<Entry>
						<Index>#x6000</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Input]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</TxPdo>
				<TxPdo Fixed="1" Mandatory="1" Sm="0">
					<Index>#x1a01</Index>
					<Name><![CDATA[Channel 2]]></Name>
					<Entry>
						<Index>#x6010</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Input]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</TxPdo>
				<TxPdo Fixed="1" Mandatory="1" Sm="0">
					<Index>#x1a02</Index>
					<Name><![CDATA[Channel 3]]></Name>
					<Entry>
						<Index>#x6020</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Input]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</TxPdo>
				<TxPdo Fixed="1" Mandatory="1" Sm="0">
					<Index>#x1a03</Index>
					<Name><![CDATA[Channel 4]]></Name>
					<Entry>
						<Index>#x6030</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Input]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</TxPdo>
				<TxPdo Fixed="1" Mandatory="1" Sm="0">
					<Index>#x1a04</Index>
					<Name><![CDATA[Channel 5]]></Name>
					<Entry>
						<Index>#x6040</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Input]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</TxPdo>
				<TxPdo Fixed="1" Mandatory="1" Sm="0">
					<Index>#x1a05</Index>
					<Name><![CDATA[Channel 6]]></Name>
					<Entry>
						<Index>#x6050</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Input]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</TxPdo>
				<TxPdo Fixed="1" Mandatory="1" Sm="0">
					<Index>#x1a06</Index>
					<Name><![CDATA[Channel 7]]></Name>
					<Entry>
						<Index>#x6060</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Input]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</TxPdo>
				<TxPdo Fixed="1" Mandatory="1" Sm="0">
					<Index>#x1a07</Index>
					<Name><![CDATA[Channel 8]]></Name>
					<Entry>
						<Index>#x6070</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Input]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</TxPdo>
				<TxPdo Fixed="1" Mandatory="1" Sm="0">
					<Index>#x1a08</Index>
					<Name><![CDATA[Diag-Channel]]></Name>
					<Entry>
						<Index>#x6080</Index>
						<SubIndex>0</SubIndex>
						<BitLen>8</BitLen>
						<Name><![CDATA[OutputsLoopback]]></Name>
						<DataType>BYTE</DataType>
					</Entry>
					<Entry>
						<Index>#x6080</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[OutputsOverloadError]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
					<Entry>
						<Index>#x6080</Index>
						<SubIndex>2</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[OutputsErrorRaw]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
					<Entry>
						<Index>#x6080</Index>
						<SubIndex>3</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Dummy1]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
					<Entry>
						<Index>#x6080</Index>
						<SubIndex>4</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Dummy2]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
					<Entry>
						<Index>#x6080</Index>
						<SubIndex>5</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Dummy3]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
					<Entry>
						<Index>#x6080</Index>
						<SubIndex>6</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Dummy4]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
					<Entry>
						<Index>#x6080</Index>
						<SubIndex>7</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Dummy5]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
					<Entry>
						<Index>#x6080</Index>
						<SubIndex>8</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Dummy6]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</TxPdo>
				<RxPdo Fixed="1" Mandatory="1" Sm="1">
					<Index>#x1600</Index>
					<Name><![CDATA[Channel 1]]></Name>
					<Entry>
						<Index>#x7000</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Output]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</RxPdo>
				<RxPdo Fixed="1" Mandatory="1" Sm="1">
					<Index>#x1601</Index>
					<Name><![CDATA[Channel 2]]></Name>
					<Entry>
						<Index>#x7010</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Output]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</RxPdo>
				<RxPdo Fixed="1" Mandatory="1" Sm="1">
					<Index>#x1602</Index>
					<Name><![CDATA[Channel 3]]></Name>
					<Entry>
						<Index>#x7020</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Output]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</RxPdo>
				<RxPdo Fixed="1" Mandatory="1" Sm="1">
					<Index>#x1603</Index>
					<Name><![CDATA[Channel 4]]></Name>
					<Entry>
						<Index>#x7030</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Output]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</RxPdo>
				<RxPdo Fixed="1" Mandatory="1" Sm="1">
					<Index>#x1604</Index>
					<Name><![CDATA[Channel 5]]></Name>
					<Entry>
						<Index>#x7040</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Output]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</RxPdo>
				<RxPdo Fixed="1" Mandatory="1" Sm="1">
					<Index>#x1605</Index>
					<Name><![CDATA[Channel 6]]></Name>
					<Entry>
						<Index>#x7050</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Output]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</RxPdo>
				<RxPdo Fixed="1" Mandatory="1" Sm="1">
					<Index>#x1606</Index>
					<Name><![CDATA[Channel 7]]></Name>
					<Entry>
						<Index>#x7060</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Output]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</RxPdo>
				<RxPdo Fixed="1" Mandatory="1" Sm="1">
					<Index>#x1607</Index>
					<Name><![CDATA[Channel 8]]></Name>
					<Entry>
						<Index>#x7070</Index>
						<SubIndex>1</SubIndex>
						<BitLen>1</BitLen>
						<Name><![CDATA[Output]]></Name>
						<DataType>BOOL</DataType>
					</Entry>
				</RxPdo>
			</ProcessData>
			<InitCmds>
				<InitCmd>
					<Transition>PI</Transition>
					<Transition>BI</Transition>
					<Transition>SI</Transition>
					<Transition>OI</Transition>
					<Comment><![CDATA[set device state to INIT]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>2</Cmd>
					<!--APWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>288</Ado>
					<!--0x0120-->
					<Data>0100</Data>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>PI</Transition>
					<Transition>SI</Transition>
					<Transition>OI</Transition>
					<Comment><![CDATA[check device state for INIT]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>1</Cmd>
					<!--APRD-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>304</Ado>
					<!--0x0130-->
					<Data>0000</Data>
					<Retries>3</Retries>
					<Validate>
						<Data>0100</Data>
						<DataMask>0f00</DataMask>
						<Timeout>5000</Timeout>
					</Validate>
				</InitCmd>
				<InitCmd>
					<Transition>BI</Transition>
					<Comment><![CDATA[check device state for INIT]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>1</Cmd>
					<!--APRD-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>304</Ado>
					<!--0x0130-->
					<Data>0000</Data>
					<Retries>3</Retries>
					<Validate>
						<Data>0100</Data>
						<DataMask>0f00</DataMask>
						<Timeout>10000</Timeout>
					</Validate>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<Transition>IB</Transition>
					<Comment><![CDATA[set device state to INIT]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>2</Cmd>
					<!--APWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>288</Ado>
					<!--0x0120-->
					<Data>0100</Data>
					<Cnt>1</Cnt>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<Transition>IB</Transition>
					<Comment><![CDATA[check device state for INIT]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>1</Cmd>
					<!--APRD-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>304</Ado>
					<!--0x0130-->
					<Data>0000</Data>
					<Cnt>1</Cnt>
					<Retries>3</Retries>
					<Validate>
						<Data>0100</Data>
						<DataMask>0f00</DataMask>
						<Timeout>3000</Timeout>
					</Validate>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<Comment><![CDATA[assign EEPROM to ECAT]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>2</Cmd>
					<!--APWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>1280</Ado>
					<!--0x0500-->
					<Data>00</Data>
					<Cnt>1</Cnt>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<Comment><![CDATA[check vendor id]]></Comment>
					<Cmd>2</Cmd>
					<!--APWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>1282</Ado>
					<!--0x0502-->
					<Data>000108000000</Data>
					<Cnt>1</Cnt>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<Comment><![CDATA[check vendor id]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>1</Cmd>
					<!--APRD-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>1288</Ado>
					<!--0x0508-->
					<Data>00000000</Data>
					<Cnt>1</Cnt>
					<Retries>3</Retries>
					<Validate>
						<Data>17000000</Data>
						<Timeout>100</Timeout>
					</Validate>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<Comment><![CDATA[check product code]]></Comment>
					<Cmd>2</Cmd>
					<!--APWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>1282</Ado>
					<!--0x0502-->
					<Data>00010a000000</Data>
					<Cnt>1</Cnt>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<Comment><![CDATA[check product code]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>1</Cmd>
					<!--APRD-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>1288</Ado>
					<!--0x0508-->
					<Data>00000000</Data>
					<Cnt>1</Cnt>
					<Retries>3</Retries>
					<Validate>
						<Data>04000000</Data>
						<Timeout>100</Timeout>
					</Validate>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<Transition>IB</Transition>
					<Comment><![CDATA[set physical address]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>2</Cmd>
					<!--APWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>16</Ado>
					<!--0x0010-->
					<Data>e903</Data>
					<Cnt>1</Cnt>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>SP</Transition>
					<Transition>OP</Transition>
					<Comment><![CDATA[set device state to PREOP]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>5</Cmd>
					<!--FPWR-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>288</Ado>
					<!--0x0120-->
					<Data>0200</Data>
					<Retries>300</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<Transition>SP</Transition>
					<Transition>SI</Transition>
					<Transition>OP</Transition>
					<Transition>OI</Transition>
					<Comment><![CDATA[clear sm 0 (inputs)]]></Comment>
					<Cmd>5</Cmd>
					<!--FPWR-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>2048</Ado>
					<!--0x0800-->
					<Data>0000000000000000</Data>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<Transition>SP</Transition>
					<Transition>SI</Transition>
					<Transition>OP</Transition>
					<Transition>OI</Transition>
					<Comment><![CDATA[clear sm 1 (outputs)]]></Comment>
					<Cmd>5</Cmd>
					<!--FPWR-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>2056</Ado>
					<!--0x0808-->
					<Data>0000000000000000</Data>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>PS</Transition>
					<Comment><![CDATA[set sm 0 (inputs)]]></Comment>
					<Cmd>5</Cmd>
					<!--FPWR-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>2048</Ado>
					<!--0x0800-->
					<Data>0010030000000100</Data>
					<!--physAddr = 0x1000, len = 0x0003, contrReg = 0x00, statusReg = 0x00, activate = 0x01, pdiControl = 0x00-->
					<Cnt>1</Cnt>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>PS</Transition>
					<Comment><![CDATA[set sm 1 (outputs)]]></Comment>
					<Cmd>5</Cmd>
					<!--FPWR-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>2056</Ado>
					<!--0x0808-->
					<Data>030f010044000100</Data>
					<!--physAddr = 0x0f03, len = 0x0001, contrReg = 0x44, statusReg = 0x00, activate = 0x01, pdiControl = 0x00-->
					<Cnt>1</Cnt>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>PI</Transition>
					<Transition>BI</Transition>
					<Transition>SI</Transition>
					<Transition>OI</Transition>
					<Comment><![CDATA[clear fmmu 0]]></Comment>
					<Cmd>5</Cmd>
					<!--FPWR-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>1536</Ado>
					<!--0x0600-->
					<Data>00000000000000000000000000000000</Data>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>PS</Transition>
					<Comment><![CDATA[set fmmu 0 (inputs)]]></Comment>
					<Cmd>5</Cmd>
					<!--FPWR-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>1536</Ado>
					<!--0x0600-->
					<Data>00000001030000070010000101000000</Data>
					<!--logStartAddr = 0x01000000, len = 0x0003, logStartBit = 0, logStopBit = 7, physStartAddr = 0x1000, physStartBit = 0, type = 1, activate = 1-->
					<Cnt>1</Cnt>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>PI</Transition>
					<Transition>BI</Transition>
					<Transition>SI</Transition>
					<Transition>OI</Transition>
					<Comment><![CDATA[clear fmmu 1]]></Comment>
					<Cmd>5</Cmd>
					<!--FPWR-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>1552</Ado>
					<!--0x0610-->
					<Data>00000000000000000000000000000000</Data>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>PS</Transition>
					<Comment><![CDATA[set fmmu 1 (outputs)]]></Comment>
					<Cmd>5</Cmd>
					<!--FPWR-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>1552</Ado>
					<!--0x0610-->
					<Data>0000000101000007030f000201000000</Data>
					<!--logStartAddr = 0x01000000, len = 0x0001, logStartBit = 0, logStopBit = 7, physStartAddr = 0x0f03, physStartBit = 0, type = 2, activate = 1-->
					<Cnt>1</Cnt>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>OS</Transition>
					<Comment><![CDATA[set device state to SAFEOP]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>5</Cmd>
					<!--FPWR-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>288</Ado>
					<!--0x0120-->
					<Data>0400</Data>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>SP</Transition>
					<Transition>OP</Transition>
					<Comment><![CDATA[check device state for PREOP]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>4</Cmd>
					<!--FPRD-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>304</Ado>
					<!--0x0130-->
					<Data>000000000000</Data>
					<Retries>3</Retries>
					<Validate>
						<Data>020000000000</Data>
						<DataMask>0f0000000000</DataMask>
						<Timeout>5000</Timeout>
					</Validate>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<Transition>IB</Transition>
					<Comment><![CDATA[assign EEPROM to PDI]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>5</Cmd>
					<!--FPWR-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>1280</Ado>
					<!--0x0500-->
					<Data>01</Data>
					<Cnt>1</Cnt>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>II</Transition>
					<Comment><![CDATA[assign EEPROM back to ECAT]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>2</Cmd>
					<!--APWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>1280</Ado>
					<!--0x0500-->
					<Data>00</Data>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<Comment><![CDATA[set device state to PREOP]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>5</Cmd>
					<!--FPWR-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>288</Ado>
					<!--0x0120-->
					<Data>0200</Data>
					<Cnt>1</Cnt>
					<Retries>300</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<Comment><![CDATA[check device state for PREOP]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>4</Cmd>
					<!--FPRD-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>304</Ado>
					<!--0x0130-->
					<Data>000000000000</Data>
					<Cnt>1</Cnt>
					<Retries>3</Retries>
					<Validate>
						<Data>020000000000</Data>
						<DataMask>1f0000000000</DataMask>
						<Timeout>3000</Timeout>
					</Validate>
				</InitCmd>
				<InitCmd>
					<Transition>IP</Transition>
					<Transition>BI</Transition>
					<Comment><![CDATA[assign EEPROM back to ECAT]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>2</Cmd>
					<!--APWR-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>1280</Ado>
					<!--0x0500-->
					<Data>00</Data>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IB</Transition>
					<Comment><![CDATA[set device state to BOOT]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>5</Cmd>
					<!--FPWR-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>288</Ado>
					<!--0x0120-->
					<Data>0300</Data>
					<Cnt>1</Cnt>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>IB</Transition>
					<Comment><![CDATA[check device state for BOOT]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>4</Cmd>
					<!--FPRD-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>304</Ado>
					<!--0x0130-->
					<Data>000000000000</Data>
					<Cnt>1</Cnt>
					<Retries>3</Retries>
					<Validate>
						<Data>030000000000</Data>
						<DataMask>1f0000000000</DataMask>
						<Timeout>3000</Timeout>
					</Validate>
				</InitCmd>
				<InitCmd>
					<Transition>PS</Transition>
					<Comment><![CDATA[set device state to SAFEOP]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>5</Cmd>
					<!--FPWR-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>288</Ado>
					<!--0x0120-->
					<Data>0400</Data>
					<Cnt>1</Cnt>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>PS</Transition>
					<Comment><![CDATA[check device state for SAFEOP]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>4</Cmd>
					<!--FPRD-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>304</Ado>
					<!--0x0130-->
					<Data>000000000000</Data>
					<Cnt>1</Cnt>
					<Retries>3</Retries>
					<Validate>
						<Data>040000000000</Data>
						<DataMask>1f0000000000</DataMask>
						<Timeout>10000</Timeout>
					</Validate>
				</InitCmd>
				<InitCmd>
					<Transition>OS</Transition>
					<Comment><![CDATA[check device state for SAFEOP]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>4</Cmd>
					<!--FPRD-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>304</Ado>
					<!--0x0130-->
					<Data>000000000000</Data>
					<Retries>3</Retries>
					<Validate>
						<Data>040000000000</Data>
						<DataMask>0f0000000000</DataMask>
						<Timeout>200</Timeout>
					</Validate>
				</InitCmd>
				<InitCmd>
					<Transition>SO</Transition>
					<Comment><![CDATA[set device state to OP]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>5</Cmd>
					<!--FPWR-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>288</Ado>
					<!--0x0120-->
					<Data>0800</Data>
					<Cnt>1</Cnt>
					<Retries>3</Retries>
				</InitCmd>
				<InitCmd>
					<Transition>SO</Transition>
					<Comment><![CDATA[check device state for OP]]></Comment>
					<Requires>cycle</Requires>
					<Cmd>4</Cmd>
					<!--FPRD-->
					<Adp>1001</Adp>
					<!--0x03e9-->
					<Ado>304</Ado>
					<!--0x0130-->
					<Data>000000000000</Data>
					<Cnt>1</Cnt>
					<Retries>3</Retries>
					<Validate>
						<Data>080000000000</Data>
						<DataMask>1f0000000000</DataMask>
						<Timeout>10000</Timeout>
					</Validate>
				</InitCmd>
			</InitCmds>
		</Slave>
		<Cyclic>
			<CycleTime>1000</CycleTime>
			<Frame>
				<Cmd>
					<State>OP</State>
					<State>SAFEOP</State>
					<Comment><![CDATA[LRW for "Slave 1 (ECX-DIO8 2.0)"]]></Comment>
					<Cmd>12</Cmd>
					<!--LRW-->
					<Addr>16777216</Addr>
					<!--0x01000000-->
					<DataLength>3</DataLength>
					<Cnt>3</Cnt>
					<InputOffs>16</InputOffs>
					<OutputOffs>16</OutputOffs>
				</Cmd>
				<Cmd>
					<State>PREOP</State>
					<State>SAFEOP</State>
					<State>OP</State>
					<Comment><![CDATA[Read AL State registers]]></Comment>
					<Cmd>7</Cmd>
					<!--BRD-->
					<Adp>0</Adp>
					<!--0x0000-->
					<Ado>304</Ado>
					<!--0x0130-->
					<DataLength>2</DataLength>
					<Cnt>1</Cnt>
					<InputOffs>31</InputOffs>
					<OutputOffs>31</OutputOffs>
				</Cmd>
			</Frame>
		</Cyclic>
		<ProcessImage>
			<Inputs>
				<ByteSize>1532</ByteSize>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Channel 1.Input</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>208</BitOffs>
					<!--Bytes [26.0..26.1) (@logical addr 0x01000000.0)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Channel 2.Input</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>209</BitOffs>
					<!--Bytes [26.1..26.2) (@logical addr 0x01000000.1)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Channel 3.Input</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>210</BitOffs>
					<!--Bytes [26.2..26.3) (@logical addr 0x01000000.2)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Channel 4.Input</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>211</BitOffs>
					<!--Bytes [26.3..26.4) (@logical addr 0x01000000.3)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Channel 5.Input</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>212</BitOffs>
					<!--Bytes [26.4..26.5) (@logical addr 0x01000000.4)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Channel 6.Input</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>213</BitOffs>
					<!--Bytes [26.5..26.6) (@logical addr 0x01000000.5)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Channel 7.Input</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>214</BitOffs>
					<!--Bytes [26.6..26.7) (@logical addr 0x01000000.6)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Channel 8.Input</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>215</BitOffs>
					<!--Bytes [26.7..27.0) (@logical addr 0x01000000.7)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Diag-Channel.OutputsLoopback</Name>
					<DataType>BYTE</DataType>
					<BitSize>8</BitSize>
					<BitOffs>216</BitOffs>
					<!--Bytes [27.0..28.0) (@logical addr 0x01000001.0)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Diag-Channel.OutputsOverloadError</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>224</BitOffs>
					<!--Bytes [28.0..28.1) (@logical addr 0x01000002.0)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Diag-Channel.OutputsErrorRaw</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>225</BitOffs>
					<!--Bytes [28.1..28.2) (@logical addr 0x01000002.1)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Diag-Channel.Dummy1</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>226</BitOffs>
					<!--Bytes [28.2..28.3) (@logical addr 0x01000002.2)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Diag-Channel.Dummy2</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>227</BitOffs>
					<!--Bytes [28.3..28.4) (@logical addr 0x01000002.3)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Diag-Channel.Dummy3</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>228</BitOffs>
					<!--Bytes [28.4..28.5) (@logical addr 0x01000002.4)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Diag-Channel.Dummy4</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>229</BitOffs>
					<!--Bytes [28.5..28.6) (@logical addr 0x01000002.5)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Diag-Channel.Dummy5</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>230</BitOffs>
					<!--Bytes [28.6..28.7) (@logical addr 0x01000002.6)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Diag-Channel.Dummy6</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>231</BitOffs>
					<!--Bytes [28.7..29.0) (@logical addr 0x01000002.7)-->
				</Variable>
				<Variable>
					<Name>Inputs.Frm0WcState</Name>
					<DataType>UINT</DataType>
					<BitSize>16</BitSize>
					<BitOffs>12160</BitOffs>
					<!--Bytes [1520.0..1522.0) (@logical addr 0x00000000.-1)-->
				</Variable>
				<Variable>
					<Name>Inputs.SlaveCount</Name>
					<DataType>UINT</DataType>
					<BitSize>16</BitSize>
					<BitOffs>12176</BitOffs>
					<!--Bytes [1522.0..1524.0) (@logical addr 0x00000000.-1)-->
				</Variable>
				<Variable>
					<Name>Inputs.SlaveCount2</Name>
					<DataType>UINT</DataType>
					<BitSize>16</BitSize>
					<BitOffs>12192</BitOffs>
					<!--Bytes [1524.0..1526.0) (@logical addr 0x00000000.-1)-->
				</Variable>
				<Variable>
					<Name>Inputs.DevState</Name>
					<DataType>UINT</DataType>
					<BitSize>16</BitSize>
					<BitOffs>12208</BitOffs>
					<!--Bytes [1526.0..1528.0) (@logical addr 0x00000000.-1)-->
				</Variable>
				<Variable>
					<Name>InfoData.CfgSlaveCount</Name>
					<DataType>UINT</DataType>
					<BitSize>16</BitSize>
					<BitOffs>12224</BitOffs>
					<!--Bytes [1528.0..1530.0) (@logical addr 0x00000000.-1)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).InfoData.State</Name>
					<DataType>UINT</DataType>
					<BitSize>16</BitSize>
					<BitOffs>12240</BitOffs>
					<!--Bytes [1530.0..1532.0) (@logical addr 0x00000000.-1)-->
				</Variable>
			</Inputs>
			<Outputs>
				<ByteSize>1532</ByteSize>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Channel 1.Output</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>208</BitOffs>
					<!--Bytes [26.0..26.1) (@logical addr 0x01000000.0)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Channel 2.Output</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>209</BitOffs>
					<!--Bytes [26.1..26.2) (@logical addr 0x01000000.1)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Channel 3.Output</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>210</BitOffs>
					<!--Bytes [26.2..26.3) (@logical addr 0x01000000.2)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Channel 4.Output</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>211</BitOffs>
					<!--Bytes [26.3..26.4) (@logical addr 0x01000000.3)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Channel 5.Output</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>212</BitOffs>
					<!--Bytes [26.4..26.5) (@logical addr 0x01000000.4)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Channel 6.Output</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>213</BitOffs>
					<!--Bytes [26.5..26.6) (@logical addr 0x01000000.5)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Channel 7.Output</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>214</BitOffs>
					<!--Bytes [26.6..26.7) (@logical addr 0x01000000.6)-->
				</Variable>
				<Variable>
					<Name>Slave 1 (ECX-DIO8 2.0).Channel 8.Output</Name>
					<DataType>BOOL</DataType>
					<BitSize>1</BitSize>
					<BitOffs>215</BitOffs>
					<!--Bytes [26.7..27.0) (@logical addr 0x01000000.7)-->
				</Variable>
			</Outputs>
		</ProcessImage>
	</Config>
</EtherCATConfig>