Alternatives for PLC B&R data extraction

How do I extract data from a B&R PLC with Node-Red?

What are the alternatives?

You have a few options.

MQTT, TCP/UDP, HTTP, OPC-UA, Modbus TCP, and maybe Ethernet/IP.

Which would you like?

• OPC-UA
• Modbus

Help!!

Unfortunately, B&R PLC node does not exist yet...

Hi folks!
we are the developers of the S7, Ethernet/IP, OPC-DA, DDE and PCCC nodes (just to name a few), and most of this nodes were sponsored by customers who wanted some IoT integration (mostly with ST-One).
For B&R we know that there are 2 possible protocols (INA and PVI), but until we find a project that can pay the development bill, it is not worth for us invest on this Node.
Now, if you have a commercial usage for it, please let us know because maybe we can help you :wink: .

1 Like

It doesn’t need to exist.

OPC-UA is the best and recommended way to exchange data from a B&R PLC. Not to intend that it is the only way.

When I get back to work, I will send you some screenshots on how to set it up.

Is it possible without B&R PLC protocol implementation?

Even If it uses OPC-UA, doesn't it need B&R PLC protocol implementation?
(Maybe that might not be node type)

I know Siemens and Rockwell PLCs quite well, but to be honset I never saw the configuration software for B&R PLCs, and because of that I have some questions that maybe you can help me:

  1. Is OPC-UA supported by all B&R PLCs (old and new hardwares)?
  2. Is there any additional license required to make OPC-UA work on B&R PLCs or it is a standard functionality?
  3. Does it comes with OPC-UA running by default, or the user must turn it on first?
  4. In case the user needs to turn the OPC-UA ON first, is the configuration process easy or painfull?
  5. With OPC-UA you can access all PLC variables once it is ON, or the user must configure it one by one on the PLC?
  • Is OPC-UA supported by all B&R PLCs (old and new hardwares)?
    • All X20 PLC, PowerPanels (HMI/PLC), and current IPC support OPC-UA.
  • Is there any additional license required to make OPC-UA work on B&R PLCs or it is a standard functionality?
    • No license needed for OPC-UA connectivity
  • Does it comes with OPC-UA running by default, or the user must turn it on first?
    • Default is OFF, must be enabled using Automation Studio (development software)
  • In case the user needs to turn the OPC-UA ON first, is the configuration process easy or painfull?
  • With OPC-UA you can access all PLC variables once it is ON, or the user must configure it one by one on the PLC?
    • User must add variables/structures that they would like available in the OPC-UA variable
      mapping.

Expand the CPU folder, expand Connectivity, then right click on OpcUA, then select Add Object. The toolbox will open to the right of the screen.


Double click the OPC UA Default View File to add it.

Now double click the added OpcUaMap.uad file to start mapping OPC-UA variables.
You can then right click on a variable, and select Enable.

image

3 Likes

I used OPCUA-IIoT node in order to make the connection to the B&R PLC.

You must be able to complete my previous post in order to do this, or you must know that the OPC-UA server is enabled.

Next thing is that you must know where the data you want to read is located within the PLC. OPC-UA uses namespaces to organize it's content. Not only the data/variables you enable are available, there are also many other variables available with information about the server, clients, connections, etc.

In B&R land, the namespace for a global variable or a program local variable is 6.
You may see it as ns=6.

This namespace must be provided when asking the OPCUA server what data you want.

Within a namespace, there is a hierarchy of data. The server provides you a way to indentify which folder to dive into, or what data you want to read.

You do this by including the address string after the namespace id inside your request.
For example, to get the value of a blower's air pressure located in a structure data type located in global variables.

ns=6;s=::AsGlobalPV:bdBlower.Sensors.AirPsi

If the variable is a local program variable, you would define it like this.
ns=6;s=::MyLocalProgramName:someLocalVar

Download/install the OPCUA-IIoT node from the pallete manager.

Add an OPCUA-IIoT inject node and OPCUA-IIoT Read node.
image

Open the inject node, setup the inject properties and enter in the variables you would like to read.



Click Done

Open the Read node and configure it.


You will need to setup the connector at first. Click the pencil icon to the right of the connector box.
The endpoint should be the PLC's IP address and the default port number is 4840.
In the Security tab, depending on how the server was setup, it may require you to use a certificate to connect to it. I set mine up for no security for the time being.
Leave the settings in Strategy tab as their default.

Place a regular debug node at the end of the Read node and connect it. Then click deploy.

You should start seeing some activity in your Debug log.

From there, extract the data you need and pass it on to the rest of your flow.
I hope this helps!

4 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.