How do multiple X20 PLCs control share common outputs via Ethernet Powerlink?

Hello,

I have two B&R X20EM0611 PLCs controlling two independent machines. These machines share a common set of diaphragm pumps, which are actuated by SMC solenoid valves with lead wires.

Currently, we share the solenoid valves between the machines using diodes and 20-gauge wiring. This allows the valves to be energized by either PLC. In other words, if PLC #1 or PLC #2 energizes its corresponding output, the shared solenoid valve turns ON, which runs the associated pump.

I am looking to upgrade the system by replacing the lead-wire solenoid valves with SMC IO‑Link valves and eliminating the diode wiring.

My question is: How can I make the IO-Link SMC valves shareable between the two PLCs over Ethernet Powerlink?

My current plan is to use a B&R X20BC0083 bus controller together with a B&R X20DS434A module to interface with the IO-Link valves. However, I’m unsure how to configure the system so that both PLCs can send output commands to the same set of IO-Link SMC valves.

Any guidance on the best architecture or configuration for this setup would be greatly appreciated.

Thank you.

Based on your description, there are a few aspects that are needed to get this work.

IO-Link ← → X20DS438A

I’m not too familiar with the X20DS434A, I’ll assume you might be referring to the X20DS438A. When it comes to reading IO-Link devices, You can either integrate them using the library AsIOLink, or adding the DTM file of the hardware into the automation Studio project. Personally, adding in the DTM hardware is always easier to go with. for further information on these two options, see the links below.

3rd-party devices

AsIOLink

X20DS438A ← → X20BC0083

For communication between the X20DS438A I/O module and the X20BC0083 will be done via X2X communication. library wise, you should not have to do any further implementation other than defining the hardware in the Automation Studio project. I would say that it may be easier to have the X20DS438A connected to the X20EM0611 to reduce needed hardware but can also understand if you want to have an X20BC0083 used as well.

X20BC0083 ← → X20EM0611

For these two modules to communicate, you will be using Powerlink as the primary communication protocol. Software wise you should not need to integrate much other than defining the hardware within the project. The only thing to watch for the is node number. You want to make sure the node switch matches with what is set in the project. If not the go ahead and make the necessary changes to the software or hardware side.

POWERLINK node number

X20EM0611 ← → X20EM0611

Similar to how the X20BC0083 works, the module will communicate via Powerlink. What different is how to integrate the modules to communicate with one another within the Automation Studio project. For starters, we recommend reading up on the following from the help explorer.

POWERLINK

For your case, integrating Intelligent controlled node (iCN) should be sufficient. Additional information from the help explorer provided below.

Intelligent controlled node (iCN)

Noah,

Thank you so much for your informative response. Intelligent controlled node (iCN) is definitely the answer for my application. However, upon reading the manual, it seems like I will need to have 2 different configurations in Automation Studio to make it work. Is it correct? If so, I will need to create 2 different Project installation package (PIP) for each type of machine ( e.g. managing node and secondary node).

Is there any way that I can create a single Project installation package (PIP) for both managing node and secondary node and dynamically change the node type in runtime?

I attached the preliminary network diagram below for reference.

Hi Phong,

A couple corrections for your diagram. I’ll start by ignoring the shared remote panel.

  1. Of the devices in the diagram, only the X20EM0611 PLCs can be managing nodes (Managing node / Controlled node). The X20BC0083 must always be a controlled node.

  2. If you changed the left X20EM0611 to be the managing node, you could technically keep the right X20EM0611 as a controlled node, but it will no longer be the POWERLINK manager of the X20BC0083 on the right and you would no longer be able to see it in your physical view (otherwise you get a build error).

    That is, your left PLC config would look like this:

    and your right PLC like this:

    However, I’m not sure that is what you want. If you instead want for the right X20EM0611 to still be the manager for the right X20BC0083 but still communicate with the Left PLC over POWERLINK, then you would need to introduce an additional interface (e.g. X20IF1082) in the right X20EM to act as the iCN. This would require an interface slot which could be accomplished by using the X20EM1611 instead of the X20EM0611, for example:

    Left PLC:

    Right PLC:

Please, the above does not yet consider the shared remote panel. Assuming both X20EM will be managing nodes, then only one X20EM would control the shared remote panel and the other could pass its commands via the ICN to the managing PLC.

Regarding using a single PIP for both, I don’t know of a way to do so. There are some libraries that allow for configuring your machine at runtime (mapp IO and AsIOMMan), but I don’t think either are capable of what you are looking for.

Hello,

with Powerlink it will always be a asymetrical set up, because it is a Master-Slave Fieldbus.
One PLC must be the Master, and control the Pumps. While the two PLCs communicate to each other and transfer the Request to the Master PLC.

If you want to generate a symetrical setup where you can use a Machine-Program on both PLCs you will need to use a different communication, where no fixed Master-Slave connenction is given.
Instead of a BusCoppler i could imagine that the Diaphragm Pumps are connected to a small PLC X20CP0410.
This would allow Protocols like OPCua C/S or coustom UDP Communication.
I think the main PLCs are allready connecten via TCP to allow a online connection, so you would only have to add the third PLC to the Ethernet.

Just to have a look out of the Box.

OPCua C/S and UDP are not real time, so it would only work it there is some feedback channel and the other machines can wait for the signal.

Greetings
Michael

Michael, thank you for the response. I was trying to avoid having to implement a 3rd PLC in this application, but it seems like it might be the only option after reviewing all of the communication protocols that are available on B&R. Your response has answered my question.