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: [email protected]<mailto:[email protected]>
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
_______________________________________________
etherlab-users mailing list
[email protected]
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to