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).
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?
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.
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?
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.
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.
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.
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.