Hi there, I've seen the page on setting up the EPL demo using R Pi 2 boards. Should this also work on a pi zero? Any sense for what kind of cycle time I might be able to get from a CN on this platform? I'm trying to figure out if this is a project worth working on. Right now we use a DIP module from Hilscher for our custom hardware that needs to interface via Powerlink to a B&R APC910 PLC. It is OK, but a bit pricey, not end user programmable, and the performance could be better. So I'm interested in a small form factor replacement for that. Thoughts?
Thanks for developing and maintaining openPowerLink Kalycito. It is a great resource, even if it doesn't end up working out for this application.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Welcome to the openPOWERLINK comunity. Thank you for your appreciation and interest in our RPi2 demo.
In order for us to provide a better suggestion on the platforms appropriate for your application, it would be helpful, for us to understand your requirements well, if you could share some more information on your target usage constraints, interfaces, cycletime and platform, etc.
With regards to the RPi2 demo, since it runs in Linux user space and uses pcap for Ethernet communication, the same setup and build steps can be used to setup the POWERLINK demo on any Linux platform (using pcap library) with an Ethernet interface support. As Pi0 does not have an Ethernet interface; are you planning to use a daughter (add-on) board(with Ethernet interface) with Pi0? In this case, you would have to check the Pi0 Linux configuration options for it to be able to access the Ethernet adapter.
Since RPi2 demo runs in Linux user space and uses pcap for Ethernet communication (i.e. it does not use a dedicated Ethernet kernel driver for POWERLINK), the performance expected of the CN is in the order of tens of milliseconds.
Let us know your queries and answers or if you prefer, please drop us a message in sourceforge.
Regards,
Powerlink team,
Kalycito
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for the response. The powerlink in this system runs at a 1.2mS cycle time, which is needed for the PLC to talk to drives and other I/O. So that probably means having some nodes that have a slower cycle time is not possible, right?
I was planning on putting the ethernet parts on another board which the Pi0 would be mounted to.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
In order to have slower nodes in the network, POWERLINK provides a couple of provisions which can be used depending on the usage requirement:
1. If the slow CN needs to request or send data to other nodes only when required (i.e. not in a fixed period), then you can configure it as an AsyncOnly CN in the network. In this case, the CN would not have any PReq or PRes frame from/to MN. You can still use the CN to request or send data to the other nodes, when required, in the asynchronous phase of the cycle using ASnd frames.
2. If the slow CN needs to exchange data cyclically with the MN but with a period which is multiples of the network cycle time, it can be configured as multiplexed CN or you can use the NMT_CycleTiming_REC.Prescaler_U16 (configurable by initParam.prescaler) on MN.
* When configuring a CN as multiplexed node, you can set a multiple cycle count (MultiplCycleCnt_U8) for the cyclic data exchange with the CN, e.g. if the network cycle time is 1.2 ms and the configured multiplex cycle count is 5, then the cyclic data exchange (PReq & PRes) with the multiplexed CN would happen every 6 ms (1.2 ms * 5). Please note that this feature is not yet supported in the openPOWERLINK MN.
* When using the prescaler, the configured CN application does not respond to every SOC frame (for synchrnonization of application data) rather it responds after a multiple number of cycles specified by the prescaler. This option alone would not be enough for Pi2 demo, for running it at 1.2 ms since in this case the bottle neck is on the Ethernet driver tx/rx.
Best Regards,
Powerlink team,
Kalycito
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi there, I've seen the page on setting up the EPL demo using R Pi 2 boards. Should this also work on a pi zero? Any sense for what kind of cycle time I might be able to get from a CN on this platform? I'm trying to figure out if this is a project worth working on. Right now we use a DIP module from Hilscher for our custom hardware that needs to interface via Powerlink to a B&R APC910 PLC. It is OK, but a bit pricey, not end user programmable, and the performance could be better. So I'm interested in a small form factor replacement for that. Thoughts?
Thanks for developing and maintaining openPowerLink Kalycito. It is a great resource, even if it doesn't end up working out for this application.
Hi Holly,
Welcome to the openPOWERLINK comunity. Thank you for your appreciation and interest in our RPi2 demo.
In order for us to provide a better suggestion on the platforms appropriate for your application, it would be helpful, for us to understand your requirements well, if you could share some more information on your target usage constraints, interfaces, cycletime and platform, etc.
With regards to the RPi2 demo, since it runs in Linux user space and uses pcap for Ethernet communication, the same setup and build steps can be used to setup the POWERLINK demo on any Linux platform (using pcap library) with an Ethernet interface support. As Pi0 does not have an Ethernet interface; are you planning to use a daughter (add-on) board(with Ethernet interface) with Pi0? In this case, you would have to check the Pi0 Linux configuration options for it to be able to access the Ethernet adapter.
Since RPi2 demo runs in Linux user space and uses pcap for Ethernet communication (i.e. it does not use a dedicated Ethernet kernel driver for POWERLINK), the performance expected of the CN is in the order of tens of milliseconds.
Let us know your queries and answers or if you prefer, please drop us a message in sourceforge.
Regards,
Powerlink team,
Kalycito
Thanks for the response. The powerlink in this system runs at a 1.2mS cycle time, which is needed for the PLC to talk to drives and other I/O. So that probably means having some nodes that have a slower cycle time is not possible, right?
I was planning on putting the ethernet parts on another board which the Pi0 would be mounted to.
Hi Holly,
In order to have slower nodes in the network, POWERLINK provides a couple of provisions which can be used depending on the usage requirement:
1. If the slow CN needs to request or send data to other nodes only when required (i.e. not in a fixed period), then you can configure it as an AsyncOnly CN in the network. In this case, the CN would not have any PReq or PRes frame from/to MN. You can still use the CN to request or send data to the other nodes, when required, in the asynchronous phase of the cycle using ASnd frames.
2. If the slow CN needs to exchange data cyclically with the MN but with a period which is multiples of the network cycle time, it can be configured as
multiplexed CN
or you can use the NMT_CycleTiming_REC.Prescaler_U16 (configurable byinitParam.prescaler
) on MN.* When configuring a CN as multiplexed node, you can set a multiple cycle count (MultiplCycleCnt_U8) for the cyclic data exchange with the CN, e.g. if the network cycle time is 1.2 ms and the configured multiplex cycle count is 5, then the cyclic data exchange (PReq & PRes) with the multiplexed CN would happen every 6 ms (1.2 ms * 5). Please note that this feature is not yet supported in the openPOWERLINK MN.
* When using the prescaler, the configured CN application does not respond to every SOC frame (for synchrnonization of application data) rather it responds after a multiple number of cycles specified by the prescaler. This option alone would not be enough for Pi2 demo, for running it at 1.2 ms since in this case the bottle neck is on the Ethernet driver tx/rx.
Best Regards,
Powerlink team,
Kalycito