[etherlab-users] How can I get "Data Type" from structure PDO entry in SII (EEPROM)

Ralf Ermes Ralf.Ermes at cae.de
Thu Feb 28 14:20:36 CET 2013


Hello everybody,

we use IgH EtherCAT-Master in our system to read out the SII-data of the slaves. Based on this data we automatically generate a mapping file to connect the data elements in the PDOs to the software labels in an existing Common Data Base. In order to do that we use the structure ec_ioctl_slave_sync_pdo_entry_t defined in ioctl.h, which provides us with the elements index, subindex, bit_length and name.

What we are missing there is the PDO Entry field "Data Type" (see Table 25 in ETG.1000.6 S (R) V1.0.2).

We discovered that there is a routine ec_slave_fetch_sii_pdos in the file slave.c which reads out the SII PDO information:

            ec_pdo_entry_init(entry);
            entry->index = EC_READ_U16(data);
            entry->subindex = EC_READ_U8(data + 2);
            ret = ec_pdo_entry_set_name(entry,
                    ec_slave_sii_string(slave, EC_READ_U8(data + 3)));
            if (ret) {
                ec_pdo_entry_clear(entry);
                kfree(entry);
                return ret;
            }
            entry->bit_length = EC_READ_U8(data + 5);

Now we could add an element "data_type" to the structure ec_pdo_entry_t (in pdo_entry.h) and add a line to the code above:

            entry->data_type = EC_READ_U8(data + 4);

This should give us the index to the CoE Object Dictionary and for index values 0x0..0x1F a unique data type which we could then use in our mapper to declare the right data type for a PDO entry element.

So now my question after this long introduction: how can we access this modified structure in a similar way as we access the entry information provided by ioctl.c? Or is there a way to get our missing data type directly in ioctl.c?

Thanks in advance for your help!

Ralf Ermes

Dipl.-Ing. Ralf Ermes
Systems Engineer
Software Engineering
CAE Elektronik GmbH
Military Business Unit
52220 Stolberg, Germany
--
Phone: +49 2402 106 430
Fax: +49 2402 106 8430
E-Mail: ralf.ermes at cae.com<mailto:ralf.ermes at cae.com>
General Manager: Ian Bell
Trade Register No.: HRB 11615 AG Aachen

> CONFIDENTIALITY NOTICE - This communication is for the exclusive use of the above named recipient(s). It may contain information that is privileged, proprietary, confidential and/or exempt from disclosure by law. If you are not the intended recipient or have received it in error, immediately notify the sender and delete it without copying it, disclosing it to anyone or making any use of it.

>VERTRAULICHKEITSVERMERK - Diese Nachricht ist ausschließlich für o.g. Empfänger bestimmt. Sie enthält möglicherweise Informationen, die rechtlich geschützt, vertraulich sind und/oder deren Veröffentlichung gesetzlich untersagt ist. Sollten Sie nicht der vorgesehene Empfänger sein oder die Nachricht irrtümlich erhalten haben, benachrichtigen Sie bitte unverzüglich den Absender und löschen Sie die Nachricht, ohne sie kopiert, weitergegeben oder anderweitig genutzt zu haben.


-- 
This email was Anti Virus checked by CAE
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20130228/a39b76f6/attachment-0002.htm>


More information about the Etherlab-users mailing list