When using the command ethercat xml and a junction box ie. EK1152 or likely anything else that does not have syncs the command will report incorrectly the subsequent device's slave position and vendor id in hex.
--- tool/CommandXml.cpp 2014-04-18 09:59:24.978013103 -0700 +++ /opt/wheezy_rootfs/usr/src/ethercat-1.5.2/tool/CommandXml.cpp 2014-04-17 22:27:56.358330906 -0700 @@ -118,7 +118,7 @@ cout << in << "<EtherCATInfo>" << endl - << in << " <!-- Slave " << dec << slave.position << " -->" << endl + << in << " <!-- Slave " << slave.position << " -->" << endl << in << " <Vendor>" << endl << in << " <Id>" << slave.vendor_id << "</Id>" << endl << in << " </Vendor>" << endl Slave #6 incorrectly reports its vendor ID ------------------------------------------ <!-- Slave 5 --> <Vendor> <Id>2</Id> </Vendor> <Descriptions> <Devices> <Device> <Type ProductCode="#x04622c52" RevisionNo="#x00120000">EK1122</Type> <Name><![CDATA[EK1122 2-Port EtherCAT-Abzweig]]></Name> </Device> </Devices> </Descriptions> </EtherCATInfo> <EtherCATInfo> <!-- Slave 6 --> <Vendor> <Id>66f</Id> </Vendor> <Descriptions> <Devices> <Device> <Type ProductCode="#x53520001" RevisionNo="#x00010000">MCDHT3520B01</Type> <Name><![CDATA[MCDHT3520B01]]></Name> Slave #6 correctly reports its vendor ID after the patch -------------------------------------------------------- <!-- Slave 5 --> <Vendor> <Id>2</Id> </Vendor> <Descriptions> <Devices> <Device> <Type ProductCode="#x04622c52" RevisionNo="#x00120000">EK1122</Type> <Name><![CDATA[EK1122 2-Port EtherCAT-Abzweig]]></Name> </Device> </Devices> </Descriptions> </EtherCATInfo> <EtherCATInfo> <!-- Slave 6 --> <Vendor> <Id>1647</Id> </Vendor> <Descriptions> <Devices> <Device> <Type ProductCode="#x53520001" RevisionNo="#x00010000">MCDHT3520B01</Type> <Name><![CDATA[MCDHT3520B01]]></Name> Outbound scan for Spam or Virus by Barracuda at Delta Tau _______________________________________________ etherlab-dev mailing list etherlab-dev@etherlab.org http://lists.etherlab.org/mailman/listinfo/etherlab-dev