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