I would like to ask about the support of segmented transmissions in the API. Is it possible to give an argument to EplApiWriteObject or EplApiReadObject, in order to access all the subindexes of a particular OD index using one command? I've built simple examples using them and as I noticed I could always access one specific subindex at a time through an expedited transfer.
However, in the manual it is mentioned that segmented transmissions are allowed. Can you please provide me with a simple example of that?
Thank you very much..
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
What you are referring to is not the segmented transfer, but SDO ReadMultipleByIndex/WriteMultipleByIndex (i.e. in one SDO transfer read/write several objects/subobjects) or SDO ReadAllByIndex/WriteAllByIndex (i.e. in one SDO transfer read/write all subobjects of an object). But openPOWERLINK only supports SDO ReadByIndex and WriteByIndex (i.e. read/write a single object/subobject by transfer).
Segmented transfer would be to read/write e.g. a DOMAIN object with more Bytes than are available in one asynchronous slot (i.e. read/write more Bytes than possible via the AsyncMTU). In this case, the SDO stack will automatically do the segmentation.
Best regards,
Wolfgang
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If I am doing a SDO oplk_writeObject (or oplk_readObject) using Asnd and if I set AsyncMTU = 1500 for transferring a DOMAIN object of 1Mbyte. Is it possible to have multiple 1500 frames in a single SoA cycle?
Thanks,
Simon
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Generally, this would be possible when implementing the extension "Multiple ASnd" (EPSG 302-B). The openPOWERLINK stack is able to make use of "Multiple ASnd" when run as a CN, but not as an MN. It would require a change of the implementation of the asynchronous scheduler of the MN that is not on the roadmap.
Best regards,
Wolfgang
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Good evening,
I would like to ask about the support of segmented transmissions in the API. Is it possible to give an argument to EplApiWriteObject or EplApiReadObject, in order to access all the subindexes of a particular OD index using one command? I've built simple examples using them and as I noticed I could always access one specific subindex at a time through an expedited transfer.
However, in the manual it is mentioned that segmented transmissions are allowed. Can you please provide me with a simple example of that?
Thank you very much..
Hi,
What you are referring to is not the segmented transfer, but SDO ReadMultipleByIndex/WriteMultipleByIndex (i.e. in one SDO transfer read/write several objects/subobjects) or SDO ReadAllByIndex/WriteAllByIndex (i.e. in one SDO transfer read/write all subobjects of an object). But openPOWERLINK only supports SDO ReadByIndex and WriteByIndex (i.e. read/write a single object/subobject by transfer).
Segmented transfer would be to read/write e.g. a DOMAIN object with more Bytes than are available in one asynchronous slot (i.e. read/write more Bytes than possible via the AsyncMTU). In this case, the SDO stack will automatically do the segmentation.
Best regards,
Wolfgang
Hi Wolfgang,
If I am doing a SDO oplk_writeObject (or oplk_readObject) using Asnd and if I set AsyncMTU = 1500 for transferring a DOMAIN object of 1Mbyte. Is it possible to have multiple 1500 frames in a single SoA cycle?
Thanks,
Simon
Hi Simon,
Generally, this would be possible when implementing the extension "Multiple ASnd" (EPSG 302-B). The openPOWERLINK stack is able to make use of "Multiple ASnd" when run as a CN, but not as an MN. It would require a change of the implementation of the asynchronous scheduler of the MN that is not on the roadmap.
Best regards,
Wolfgang