[etherlab-users] How to run this demo with the ethercat master
Richard Andrysek
richard.andrysek at gomtec.de
Wed Jul 8 19:33:37 CEST 2015
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20150708/af1cdc09/attachment-0002.htm>
More information about the Etherlab-users
mailing list