Connecting Raspberry pi (5) with B&R through openPowerlink

We would like to send certain variables to a third party app (third party since we don’t have the time to write this ourselves) and they would like to link their own device (no clue what it is) to powerlink bus and communicate with b&r plc’s (2x X90CP174_48_0 and a 4PPC80_156B_11B screen).
Just to test, we decided if we can get it working on a raspberry pi 5 (which i had laying around), they should get it working on their device as well.
I have already asked this question to our local branch of B&R but received the response that we shouldn’t try this, instead just opt for communication through opcUa.
Towards the future, this is exactly what we are going to do with a computer module, but for now and for older machines we need to get it working with powerlink (since just “adding” a b&r module to already existing machines is practically impossible).

I have gotten rather far, to the point that the raspberry pi is sending communication requests on the powerlink bus.
(for those following this post i followed the instructions on https://mdeva2.home.blog/2019/07/02/open-powerlink-on-raspberry-pi-3/)

But to ensure the PLC’s can communicate with the raspberry pi, i am trying to add a raspberry pi device in to automation studio.
As far as i know (and read) that means i must import a .xdd file.
And here i am stuck, with the limited documentation i could find i tried writing one myself but i keep getting errors (with no real reason being given in automation studio (except for “An error occurred during execution of import background thread”)
I tried verifying the file with an openPowerlink XDD checker (addon on eclipse) but my file doesn’t give a single error.

Anyone around here with some experience with this?
Or is this all unneccessary and can we just use the “plk_any” device in Automation Studio?

1 Like

I can’t help you with Powerlink but just out of curiosity why did you choose Powerlink over OPC UA?

Stephan

1 Like

sounds very very interesting but very challenging, too.

why not use a embeddable module for this, e.g.

or use OPC-Ua if hard realtime communication is not really needed … ?

1 Like

After all the searching i did, i would choose opc ua above powerlink anytime.
But as far as i know, you can’t connect a random device to the powerlink bus like its an ethernet port and then expect to get information out of it through the Opc UA bus?
(Or am i wrong at this part?)

We have plans to add a pc module to use the opc ua towards the future, but we’d prefer if we got something working on older machines as well.

Thanks in advance,
Tom

Ok, that “Anybus CompactCom 40 Module” looks promising indeed to circumvent creating something from scratch for powerlink.
Still if something was possible without buying additional materials that would be even better.

If you add a Powerlink device you must configure it in the PLC otherwise the master will ignore it. For OPC UA you dont have to add any hardware. You just configure it in the project. Why would that not work on older machines? How old are we talking about?

Stephan

It would work on the B&R side of things, most definitely.
However, the problem lies with the external device that we would have to add to read the OPC UA variable and send it towards the external companies device (again, no clue what they are planning to use).
As far as i know, we can’t just connect random devices in the powerlink bus and try to read out opc ua variables (but to be fair, if you guys say it definitely is possible this way that would make everything alot easier).
There are ETH ports available (near the C80), but we’d need an extra router if we would want to use that since we use that port for programming stuff.
The reason why we can use the powerlink bus is because there is already a powerlink hub being used, so we don’t have to add extra modules.

Thank you for your time,

Tom

You can NOT add a standard Ethernet Device to your Powerlink network because it would interfere with the real time communication. If you want to use OPC UA you must use the standard Ethernet port. You can use the following module to tunnel standard Ethernet communication through Powerlink.

X20HB8815 | B&R Industrial Automation

For me, that seems a little bit overkill, just to save an additional Ethernet switch. You would still have to add change your project to use the Powerlink Gateway, which may be an issue when it comes to existing hardware.

Stephan

Hi @TomDelvano , you opened an interesting topic, there is lot of suggestions and ideas, can you update us how did you solve it in the end?

2 Likes

Hey,

Since general consensus here was to not use openPowerlink and i had already spend too much time on something that i just couldn’t get working, i decided to throw in the towel and search for other communication methods.
(3th party that we want to communicate with prefers CAN anyhow)

Up until now we assumed the CAN busses were overloaded as it is, but while looking it up, i’m not entirely sure that is actually the case.

In any case, thank you all for trying to help me out.

Kind regards,

Tom

thanks for update :slight_smile:

Hello

didn’t you try client/server to send data to third party device

then you use Eth port, or configure the PLK PORT as ethernet ( if it is possible on your device)

S.