I have run demo_mn_console of openPowerlink 2.3.0 on PC with windows and run demo_cn_console of openPowerlink 2.2.2 on ZYBO board with rt-Linux on it. Both can run in operational state (MN runs at NmtMsOperational and CN runs at NmtEventStartNode). Here are my queries:
When I use mnobd.cdc generated from openCONFIGURATOR (use default input, CN302-4_MN.xdd and CN401_CN.xdd), MN is restarting like after every minute. If I use the origninal mnobd.cdc compiled along with demo_mn_console, it does not have this problem. So these two mnobd.cdc are different? what should I do to fix the one from OC?
I use wireshark to monitor frames and noticed Pres is always following SoA. The sequence is like this, SoC -> Preq -> SoA -> Pres -> Asnd(not every cycle) -> SoC ... I have increased CN Pres timeout(0x1F92 sub01) to 1ms (1000000ns) and set Asyn slot timeout(0x1F8A sub02) to 0.5ms (500000ns), but it does not help at all. The MN and CN are linked directly without any hubs/switches between them.
Do we have detailed documents about these objects? Like what will be changed if I change a value on some specific object index( e.g. I chaged value in 0x1f26 and 0x1f27, what will happen?)
Thanks in advance!
Best regards,
Jimmy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
(1) have you already looked into the OC project in apps/common/openCONFIGURATOR_projects/Demo_3CN? This is the one used to generate the mnobd.cdc installed with the MN demos.
(2) You could check the timestamps in Wireshark to get an idea about your CN's response delay - but that is not an accurate or reliable way I have to say.
Better: You could trace the phy MII signals (TX_EN / RX_DV) with an oscilloscope to measure the time difference between PReq and PRes.
(3) Please refer to www.ethernet-powerlink.org (Downloads - Technical Documents - EPSG DS 301 V1.2.0) to obtain the POWERLINK specification.
Best regards,
Joerg
Last edit: Joerg Zelenka 2016-02-04
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank you so much! These problems are already solved due to your suggestions.
I am still instereted in the reason behind the first question, that both mnobd.cdc files are generated from OC and have same inputs (use default input, CiA302-4_MN.xdd and CiA401_CN.xdd), but why they give a different behavior?
Regarding to the second problem, the demo apps seem like respond too slow, and need a large timeout value. I give 10ms for Pres timeout instead of the original value (140us). Now it works!
Regards,
Jimmy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
(1) The xdds provided by openPOWERLINK give default values. After you import them into OC you need to change settings (e.g. response delay) according to your application or network. This is reflected in the xdc. Here is an idea: In the OC project you have the directories deviceImport and deviceConfiguration. Use a diff tool to compare the MN xdd and xdc. Then you can find out what settings have been changed. Btw, I just noticed that the xdds in the OC demo projects are not updated to the latest version - I'll fix that for the next release.
(2) The response delay of a CN depends on its platform and the used edrv. E.g. with an FPGA-based CN you could achieve response delays below 1 us, because they use openMAC IP-Core which provides hardware acceleration features. With a general purpose MAC that has no such hardware acceleration the response delay could be in the range 35 us or larger.
Best regards,
Joerg
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hey huys,
I have run demo_mn_console of openPowerlink 2.3.0 on PC with windows and run demo_cn_console of openPowerlink 2.2.2 on ZYBO board with rt-Linux on it. Both can run in operational state (MN runs at NmtMsOperational and CN runs at NmtEventStartNode). Here are my queries:
When I use mnobd.cdc generated from openCONFIGURATOR (use default input, CN302-4_MN.xdd and CN401_CN.xdd), MN is restarting like after every minute. If I use the origninal mnobd.cdc compiled along with demo_mn_console, it does not have this problem. So these two mnobd.cdc are different? what should I do to fix the one from OC?
I use wireshark to monitor frames and noticed Pres is always following SoA. The sequence is like this, SoC -> Preq -> SoA -> Pres -> Asnd(not every cycle) -> SoC ... I have increased CN Pres timeout(0x1F92 sub01) to 1ms (1000000ns) and set Asyn slot timeout(0x1F8A sub02) to 0.5ms (500000ns), but it does not help at all. The MN and CN are linked directly without any hubs/switches between them.
Do we have detailed documents about these objects? Like what will be changed if I change a value on some specific object index( e.g. I chaged value in 0x1f26 and 0x1f27, what will happen?)
Thanks in advance!
Best regards,
Jimmy
Hello Jimmy,
(1) have you already looked into the OC project in
apps/common/openCONFIGURATOR_projects/Demo_3CN
? This is the one used to generate themnobd.cdc
installed with the MN demos.(2) You could check the timestamps in Wireshark to get an idea about your CN's response delay - but that is not an accurate or reliable way I have to say.
Better: You could trace the phy MII signals (TX_EN / RX_DV) with an oscilloscope to measure the time difference between PReq and PRes.
(3) Please refer to www.ethernet-powerlink.org (Downloads - Technical Documents - EPSG DS 301 V1.2.0) to obtain the POWERLINK specification.
Best regards,
Joerg
Last edit: Joerg Zelenka 2016-02-04
Hey Joerg,
Thank you so much! These problems are already solved due to your suggestions.
I am still instereted in the reason behind the first question, that both mnobd.cdc files are generated from OC and have same inputs (use default input, CiA302-4_MN.xdd and CiA401_CN.xdd), but why they give a different behavior?
Regarding to the second problem, the demo apps seem like respond too slow, and need a large timeout value. I give 10ms for Pres timeout instead of the original value (140us). Now it works!
Regards,
Jimmy
Hi Jimmy,
good to hear, you're welcome!
(1) The xdds provided by openPOWERLINK give default values. After you import them into OC you need to change settings (e.g. response delay) according to your application or network. This is reflected in the xdc. Here is an idea: In the OC project you have the directories
deviceImport
anddeviceConfiguration
. Use a diff tool to compare the MN xdd and xdc. Then you can find out what settings have been changed. Btw, I just noticed that the xdds in the OC demo projects are not updated to the latest version - I'll fix that for the next release.(2) The response delay of a CN depends on its platform and the used edrv. E.g. with an FPGA-based CN you could achieve response delays below 1 us, because they use openMAC IP-Core which provides hardware acceleration features. With a general purpose MAC that has no such hardware acceleration the response delay could be in the range 35 us or larger.
Best regards,
Joerg