How do I extract data from a B&R PLC with Node-Red?
What are the alternatives?
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 .
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:
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.
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.
Open the inject node, setup the inject properties and enter in the variables you would like to read.
Open the Read node and configure it.
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!
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.