Richard, Etherlab does not support reading XML files. Instead, either you can do an online configuration, or as Ralf suggested use the ethercat command line tool $ ethercat cstruct -p0 and put the output in your main.c file.
Regards, Ali -----Message d'origine----- De : etherlab-users [mailto:[email protected]] De la part de [email protected] Envoyé : mercredi 8 juillet 2015 20:22 À : [email protected] Objet : etherlab-users Digest, Vol 98, Issue 2 Send etherlab-users mailing list submissions to [email protected] To subscribe or unsubscribe via the World Wide Web, visit http://lists.etherlab.org/mailman/listinfo/etherlab-users or, via email, send a message with subject or body 'help' to [email protected] You can reach the person managing the list at [email protected] When replying, please edit your Subject line so it is more specific than "Re: Contents of etherlab-users digest..." Today's Topics: 1. Re: How to run this demo with the ethercat master (Ralf Roesch) ---------------------------------------------------------------------- Message: 1 Date: Wed, 08 Jul 2015 20:22:12 +0200 From: Ralf Roesch <[email protected]> To: [email protected] Subject: Re: [etherlab-users] How to run this demo with the ethercat master Message-ID: <[email protected]> Content-Type: text/plain; charset="windows-1252" Richard, regarding your supplied XML I would suggest: static ec_pdo_info_t xxx_pdos[] = { {0x1600, 1, &xxx_pdo_entries[0]}, {0x1601, 3, &xxx_pdo_entries[1]}, {0x1A00, 1, &xxx_pdo_entries[4]}, {0x1A01, 4, &xxx_pdo_entries[5]} }; static ec_sync_info_t xxx_syncs[] = { {2, EC_DIR_OUTPUT, 2, &xxx_pdos[2]}, {3, EC_DIR_INPUT, 2, &xxx_pdos[0]}, {0xff} }; BTW, have you tried this ? ethercat cstruct -p0 regards Ralf On Wed Jul 08 2015 19:33:37 GMT+0200 (CEST), Richard Andrysek <[email protected]> wrote: > > I have an XML file (4 pages, I can send it) with slave description - > demo. I have also a binary. > > ? > > <Sm DefaultSize="512" StartAddress="#x1000" ControlByte="#x26" > Enable="1">MBoxOut</Sm> > > <Sm DefaultSize="512" StartAddress="#x1200" ControlByte="#x22" > Enable="1">MBoxIn</Sm> > > <Sm MaxSize="1024" StartAddress="#x1400" ControlByte="#x24" > Enable="1">Outputs</Sm> > > <Sm MaxSize="1024" StartAddress="#x2000" ControlByte="#x20" > Enable="1">Inputs</Sm> > > <RxPdo Mandatory="1" Fixed="1" Sm="2"> > > <Index>#x1600</Index> > > <Name>Fix Output Module</Name> > > <Entry Fixed="1"> > > <Index>#x7000</Index> > > <SubIndex>1</SubIndex> > > <BitLen>8</BitLen> > > <Name>LED_Output</Name> > > <DataType>USINT</DataType> > > </Entry> > > </RxPdo> > > <RxPdo Fixed="0" Sm="2"> > > <Index>#x1601</Index> > > <Name>Variable Output Module</Name> > > <Entry> > > <Index>#x7001</Index> > > <SubIndex>1</SubIndex> > > <BitLen>32</BitLen> > > <Name>Variable 1</Name> > > <DataType>UDINT</DataType> > > </Entry> > > <Entry> > > <Index>#x7001</Index> > > <SubIndex>2</SubIndex> > > <BitLen>16</BitLen> > > <Name>Variable 2</Name> > > <DataType>UINT</DataType> > > </Entry> > > <Entry> > > <Index>#x7001</Index> > > <SubIndex>3</SubIndex> > > <BitLen>8</BitLen> > > <Name>Variable 3</Name> > > <DataType>USINT</DataType> > > </Entry> > > </RxPdo> > > <TxPdo Mandatory="1" Fixed="1" Sm="3"> > > <Index>#x1A00</Index> > > <Name>Fix Input Module</Name> > > <Entry Fixed="1"> > > <Index>#x6000</Index> > > <SubIndex>1</SubIndex> > > <BitLen>8</BitLen> > > <Name>LED_Speed</Name> > > <DataType>USINT</DataType> > > </Entry> > > </TxPdo> > > <TxPdo Fixed="0" Sm="3"> > > <Index>#x1A01</Index> > > <Name>Variable Input Module</Name> > > <Entry> > > <Index>#x6001</Index> > > <SubIndex>1</SubIndex> > > <BitLen>16</BitLen> > > <Name>Variable 1</Name> > > <DataType>UINT</DataType> > > </Entry> > > <Entry> > > <Index>#x6001</Index> > > <SubIndex>2</SubIndex> > > <BitLen>16</BitLen> > > <Name>Variable 2</Name> > > <DataType>UINT</DataType> > > </Entry> > > <Entry> > > <Index>#x6001</Index> > > <SubIndex>3</SubIndex> > > <BitLen>32</BitLen> > > <Name>Variable 3</Name> > > <DataType>UDINT</DataType> > > </Entry> > > <Entry> > > <Index>#x6001</Index> > > <SubIndex>4</SubIndex> > > <BitLen>32</BitLen> > > <Name>Variable 4</Name> > > <DataType>UDINT</DataType> > > </Entry> > > </TxPdo> > > <Mailbox> > > <EoE /> > > <CoE SdoInfo="1" PdoAssign="1" PdoConfig="1" > DiagHistory="1"/> > > <FoE /> > > </Mailbox> > > <Dc> > > <OpMode> > > <Name>Synchron</Name> > > <Desc>Synchron with SM2 Event</Desc> > > <AssignActivate>#x0000</AssignActivate> > > </OpMode> > > </Dc> > > <Eeprom AssignToPdi="1"> > > <ByteSize>2048</ByteSize> > > <ConfigData>8004036600000000000000000000</ConfigData> > > <BootStrap>0010000200120002</BootStrap> > > </Eeprom> > > </Device> > > > > But I can?t get the device to set it in the operational mode. I use a > demo example ?user?. > > > > 1) What do I need to specify in the main.c? I?ve tried to add > PDOs, but in the XML file are DiagMessages, Sms, Mailbox, ? > > But in the user main.c are only PDOs: > > static ec_pdo_entry_info_t xxx_pdo_entries[] = { > > /* RxPDO */ > > {0x7000, 1, 8}, // Led Output > > {0x7001, 1, 32}, // Variable 1 > > {0x7001, 2, 16}, // Variable 2 > > {0x7001, 3, 8}, // Variable 3 > > /* TxPDO */ > > {0x6000, 1, 8}, // Led Output > > {0x6001, 1, 16}, // Variable 1 > > {0x6001, 2, 16}, // Variable 2 > > {0x6001, 3, 32}, // Variable 3 > > {0x6001, 4, 32}, // Variable 4 > > }; > > > > static ec_pdo_info_t xxx_pdos[] = { > > {0x1600, 4, xxx_pdo_entries}, > > {0x1A00, 1, &xxx_pdo_entries[4]}, > > {0x1A01, 4, &xxx_pdo_entries[5]} > > }; > > > > /* no idea what shal be here inside? Do I needed or does it send a > slave? */ > > static ec_sync_info_t xxx_syncs[] = { > > {2, EC_DIR_OUTPUT, 2, &xxx_pdos[1]}, > > {3, EC_DIR_INPUT, 1, &xxx_pdos[0]}, > > {0xff} > > }; > > > > 2) Here is a dump from main.c > > Configuring sync PDOs... > > Configuring domain1... > > Activating master... > > Domain data ... > > setprioriry ... > > Warning: Failed to set priority: Permission denied > > sigaction ... > > Starting timer... > > Started. > > 1 slave(s). > > AL states: 0x02. > > Link is up. > > XXX: State 0x02. > > XXX: online. > > > > 3)dmesg debug dump > > ? > > [176175.854987] EtherCAT: 1 master waiting for devices. > > [176175.856693] ec_generic: EtherCAT master generic Ethernet device > module devel af21f0bdc7c9+ > > [176175.856700] EtherCAT: Accepting device BC:5F:F4:FB:17:AB for master 0. > > [176175.856708] ec_generic: Binding socket to interface 2 (eth1). > > [176175.860080] EtherCAT 0: Starting EtherCAT-IDLE thread. > > [176175.860143] EtherCAT 0: Link state changed to UP. > > [176175.861006] EtherCAT 0: 1 slave(s) responding. > > [176175.861007] EtherCAT 0: Slave states: PREOP. > > [176175.861067] EtherCAT 0: Scanning bus. > > [176175.863692] EtherCAT WARNING 0-0: SII size exceeds 4096 words > (0xffff limiter missing?). > > [176175.879559] EtherCAT 0: Bus scanning completed in 18 ms. > > [176180.950532] EtherCAT: Requesting master 0... > > [176180.950549] EtherCAT: Successfully requested master 0. > > [176180.950664] EtherCAT 0: Domain0: Logical address 0x00000000, 21 > byte, expected working counter 3. > > [176180.950667] EtherCAT 0: Datagram domain0-0: Logical offset > 0x00000000, 21 byte, type LRW. > > [176180.950707] EtherCAT 0: Master thread exited. > > [176180.950709] EtherCAT 0: Starting EtherCAT-OP thread. > > [176183.762439] EtherCAT 0: Releasing master... > > [176183.762447] EtherCAT 0: Master thread exited. > > [176183.762453] EtherCAT 0: Starting EtherCAT-IDLE thread. > > [176183.762555] EtherCAT 0: Released. > > [176770.181924] EtherCAT: Successfully requested master 0. > > [176770.181971] EtherCAT 0: Domain0: Logical address 0x00000000, 21 > byte, expected working counter 3. > > [176770.181974] EtherCAT 0: Datagram domain0-0: Logical offset > 0x00000000, 21 byte, type LRW. > > [176770.182007] EtherCAT 0: Master thread exited. > > [176770.182010] EtherCAT 0: Starting EtherCAT-OP thread. > > [176770.182093] EtherCAT WARNING 0: 1 datagram UNMATCHED! > > [176770.353005] EtherCAT WARNING 0-0: PDOs configured for SM2, but > slave does not provide the sync manager information! > > [176770.353009] EtherCAT WARNING 0-0: PDOs configured for SM3, but > slave does not provide the sync manager information! > > [176770.353012] EtherCAT ERROR 0-0: Failed to determine PDO sync > manager for FMMU! > > [176817.598870] EtherCAT 0: Releasing master... > > [176817.598924] EtherCAT 0: Master thread exited. > > [176817.598930] EtherCAT 0: Starting EtherCAT-IDLE thread. > > [176817.599057] EtherCAT 0: Released. > > > > What am I missing or doing wrong? > > > > By > > > > Richard > > > > _______________________________________________ > etherlab-users mailing list > [email protected] > http://lists.etherlab.org/mailman/listinfo/etherlab-users -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20150708/b7911be2/attachment.html> ------------------------------ Subject: Digest Footer _______________________________________________ etherlab-users mailing list [email protected] http://lists.etherlab.org/mailman/listinfo/etherlab-users ------------------------------ End of etherlab-users Digest, Vol 98, Issue 2 ********************************************* _______________________________________________ etherlab-users mailing list [email protected] http://lists.etherlab.org/mailman/listinfo/etherlab-users
