ADI OPC UA server
User's manual
Version: 1.27 (October 2019)
Model no.: ADI OPC UA server
All values in this manual are current as of its publication. We reserve the right to change the content of
this manual without prior notice. B&R Industrial Automation GmbH is not liable for technical/editorial errors or
incomplete information in this manual. In addition, B&R Industrial Automation GmbH shall not be liable for incidental
or consequential damages in connection with or arising from the furnishing, performance or use of this material.
The software names, hardware names and trademarks used in this document are registered by their respective
companies.
Table of contents
1 Introduction................................................................................................................3
1.1 Manual history.................................................................................................................................................3
1.2 Organization of notices................................................................................................................................... 3
2 System overview....................................................................................................... 4
2.1 Basic information.............................................................................................................................................4
2.2 Use cases....................................................................................................................................................... 4
2.2.1 Use in the B&R system.............................................................................................................................4
2.2.2 HMI applications........................................................................................................................................ 4
2.3 Compatibility.................................................................................................................................................... 5
2.3.1 Supported hardware.................................................................................................................................. 5
2.3.2 Supported operating systems....................................................................................................................5
2.3.3 Requirements.............................................................................................................................................5
3 Installation..................................................................................................................6
4 Configuring the server............................................................................................. 7
4.1 Endpoint URL..................................................................................................................................................7
4.2 Authentication..................................................................................................................................................7
4.3 Access data.....................................................................................................................................................7
4.4 Security policies.............................................................................................................................................. 8
4.5 Logging............................................................................................................................................................8
4.6 Certificates.......................................................................................................................................................9
4.6.1 Storage locations....................................................................................................................................... 9
4.6.2 Server........................................................................................................................................................ 9
4.6.3 Client.......................................................................................................................................................... 9
5 Configuration in AS................................................................................................ 10
6 Start.......................................................................................................................... 11
7 Information model...................................................................................................12
7.1 OPC UA nodes............................................................................................................................................. 12
7.2 BrowseName................................................................................................................................................. 12
7.3 Node ID......................................................................................................................................................... 12
7.4 Note regarding automated access................................................................................................................13
7.5 Namespaces used........................................................................................................................................ 13
7.6 Device information........................................................................................................................................ 13
7.7 MethodSet and ParameterSet...................................................................................................................... 14
7.8 Supported modules....................................................................................................................................... 14
7.9 Variable nodes.............................................................................................................................................. 15
7.10 Methods.......................................................................................................................................................15
2 ADI OPC UA server User's manual V 1.27
Introduction
1 Introduction
Information:
B&R makes every effort to keep user's documents as current as possible. The most current versions
can be downloaded from the B&R website www.br-automation.com.
1.1 Manual history
Version Date Change
1.27 October 2019 • Updated chapter "Supported modules" on page 14.
1.26 • Adjustments due to server version 2.0.0.
1.25 September 2019 • Updated chapter Configuration in AS.
1.20 August 2019 • Updated ADI OPC UA availability in chapter "Compatibility" on page 5.
• Clarified ADI driver installation in chapter Installation.
• Included adjustments for Linux version of the server.
• Added chapter Certificates.
• Updated chapter structure.
1.12 January 2019 • Editorial revisions.
1.11 August 2018 • Added to SMC 4.0.
• Editorial revisions.
1.10 July 2018 • An existing version is automatically uninstalled during setup.
• The address space is loaded from a NodeSet file at startup.
• Added method to create the NodeSet files.
1.00 May 2018 • First version
1.12 2019-01-08 • Editorial revisions.
1.2 Organization of notices
Safety notices
Contain only information that warns of dangerous functions or situations.
Signal word Description
Danger! Failure to observe these safety guidelines and notices will result in death, severe injury or substantial damage to property.
Warning! Failure to observe these safety guidelines and notices can result in death, severe injury or substantial damage to property.
Caution! Failure to observe these safety guidelines and notices can result in minor injury or damage to property.
Notice! Failure to observe these safety guidelines and notices can result in damage to property.
General notices
Contain useful information for users and instructions for avoiding malfunctions.
Signal word Description
Information: Useful information, application tips and instructions for avoiding malfunctions.
ADI OPC UA server User's manual V 1.27 3
System overview
2 System overview
2.1 Basic information
The ADI OPC UA server provides the functions and information of the B&R Automation Device Interface (ADI)
as OPC UA variables.
OPC UA stands for Open Platform Communications Unified Architecture and is an international standard for secure,
reliable, manufacturer and platform-independent information exchange in industrial communication.
OPC UA is based on the client-server principle and, in the case of the ADI OPC UA server, enables temperatures
and device information to be read from a B&R PC, for example.
For more information about OPC UA, see the OPC Foundation website at http://opcfoundation.org/.
2.2 Use cases
2.2.1 Use in the B&R system
There are multiple ways to access OPC UA variables in a B&R system or Automation Studio, for example:
• By configuring as OPC UA Any Device.
• With functions from library AsOpcUac.
• In mapp View bindings when configured as an additional OPC UA server.
This allows, for example, the key states of the PC on which a mapp View visualization is displayed to be evaluated
on the controller with the mapp View server or allows the LEDs of the PC to be controlled.
For more information about individual access options and their configuration, see Automation Help.
2.2.2 HMI applications
A more common and typical application of OPC UA is exchanging process variables between HMI applications
and PLC systems.
Explained in simple terms, HMI applications as OPC UA clients usually connect with PLC systems as OPC UA
servers and read or write OPC UA node attributes in the OPC UA address space. OPC UA nodes receive process
variable data to/from the PLC via the OPC UA server.
With the ADI OPC UA server, HMI applications can also connect to B&R PCs as OPC UA servers and access the
PC's functions and device information.
4 ADI OPC UA server User's manual V 1.27
System overview
2.3 Compatibility
2.3.1 Supported hardware
The ADI OPC UA server supports the following B&R devices:
• Automation Panel 800 (AP800)
• Automation Panel 900 (AP900)
• Automation Panel 9x3 (AP9x3)
• Automation Panel 1000 (AP1000)
• Automation Panel 5000 (AP5000)
• Automation PC 910 (APC910)
• Automation PC 2100 (APC2100)
• Automation PC 2200 (APC2200)
• Automation PC 3100 (APC3100)
• Panel PC 900 (PPC900)
• Panel PC 2100 (PPC2100)
• Panel PC 2200 (PPC2200)
• Panel PC 3100 (PPC3100)
2.3.2 Supported operating systems
The ADI OPC UA server supports the following B&R operating systems:
• Windows 10 IoT Enterprise 2016 LTSB
• Windows 10 IoT Enterprise 2019 LTSC
• B&R Linux 9
2.3.3 Requirements
Windows
The current universal ADI driver must be installed for the B&R device.
The universal ADI driver and ADI OPC UA server can be downloaded from the B&R website (http://www.br-au-
tomation.com/).
B&R Linux
The B&R MTCX driver and B&R ADI library must be installed on the device.
ADI OPC UA server User's manual V 1.27 5
Installation
3 Installation
Information:
Administrator/Root rights are required for installation.
Windows
1. Close all applications.
2. Start the installer.
3. Follow the instructions.
4. For the server configuration, see section "Configuring the server" on page 7.
The software is installed on the system drive under the following path:
/Program files/BrAutomation/Adi/OPC UA Server
During the installation an ADI OPC UA server is detected and uninstalled.
B&R Linux
The Debian package can be installed with an appropriate package manager.
The software is installed on the system drive under the following path:
/usr/lib/adi-opcua-server
6 ADI OPC UA server User's manual V 1.27
Configuring the server
4 Configuring the server
The ADI OPC UA server installation directory contains folder "Configuration". It contains two configuration files: the
configuration file for the application (appsettings.json) and the configuration file for the server (OpcUa.Config.xml).
The following describes the main entries that can be adjusted as needed.
4.1 Endpoint URL
The addresses used to reach the server are entered in the configuration file (OpcUa.Config.xml) under ServerCon-
figuration → BaseAddresses. The default setting is shown below:
<BaseAddresses>
<ua:String>opc.tcp://localhost:4840/UA/AdiServer</ua:String>
</BaseAdresses>
4.2 Authentication
The types of authentication with the server can be set in the configuration file (OpcUa.Config.xml) under UserTo-
kenPolicies. The following types are possible:
• Anonymous
• Username/Password
• Certificates
The default setting permits the login of two users (see the following section).
Information:
Anonymous authentication is not recommended for security reasons and is commented out by default.
4.3 Access data
The access data for the user login can be entered in the configuration file (appsettings.json) under AppConfig →
UserToken.
"AppConfig": {
"UserToken": [
{
"Name": "user1",
"Password": "password"
},
{
"Name": "user2",
"Password": "password1"
}
]
}
Information:
The password is saved as plain text.
ADI OPC UA server User's manual V 1.27 7
Configuring the server
4.4 Security policies
The ADI OPC UA server supports the following connection types:
• None
• Basic128Rsa15
• Basic256
• Basic256Sha256
Which connection types are accepted by the server can be set in the configuration file (OpcUa.Config.xml) under
ServerConfiguration → SecurityPolicies.
Information:
• "None" establishes a non-secure connection with the client. Other stations on the network can
also read the communication.
• Basic128Rsa15 is no longer suitable and is no longer recommended by the OPC Foundation.
4.5 Logging
The settings for logging are located in the configuration file (appsettings.json) under Serilog. It is possible to set
the log level (MinimumLevel), for example, with the following parameters:
• Verbose
• Debug
• Information
• Warning
• Error
• Fatal
Information is specified as the default setting for MinimumLevel. All other configuration options are listed on the
Serilog website (https://serilog.net).
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"System": "Warning"
}
}
}
8 ADI OPC UA server User's manual V 1.27
Configuring the server
4.6 Certificates
A Personal Information Exchange (.pfx) archive is required to use the server. The certificate, intermediate certificate
of the certificate authority and private key for the certificate are stored here. The following section contains important
information about certificate handling of the ADI OPC UA server.
4.6.1 Storage locations
The storage locations of the certificates can be set in the configuration file (OpcUa.Config.xml) under Security-
Configuration. In Windows, the archive (.pfx) must be installed by default in the Windows Certificate Store after
CurrentUser\UA_MachineDefault. In B&R Linux, the archive must be stored under the following path:
~/.dotnet/corefx/cryptography/x509stores/ua_machinedefault
4.6.2 Server
When the server is started, it is checked as to whether it has a certificate for identification. If not, a self-signed
certificate is automatically generated and saved as an archive (.pfx). In addition, the certificate is saved in binary
form (.der). You can use this on a client to classify the server as trustworthy.
It is recommended to use your own certificate. When doing this, it is important to ensure that Subject and Subject
Alternative Name match the configuration file of the server. The following parameters are preset:
Subject
• DC = localhost
• CN = ADI OPC UA Server
• O = B&R Industrial Automation GmbH
• L = Eggelsberg
• S = Austria
• C = AT
Subject Alternative Name
• URL = urn:localhost/BR/UA/EmbeddedServer
• DNS Name = localhost
Information:
A self-signed certificate from the ADI OPC UA server expires after 12 months and is not recommended
for productive use.
4.6.3 Client
An incoming connection request from a client is automatically rejected if the certificate used is not in the trust folder.
Future connection attempts can be permitted by moving a rejected certificate to the trust folder.
ADI OPC UA server User's manual V 1.27 9
Configuration in AS
5 Configuration in AS
The ADI OPC UA server can also be connected to B&R systems without any programming effort. The B&R PC
or ADI OPC UA server is configured in Automation Studio as an OPC UA Any Device. The required nodes can
be declared as channels.
With this configuration, the OPC UA can set up drivers in Automation Runtime on the B&R PC as OPC UA client-
appropriate monitored items and transfer them as inputs to the PLC process variables. It can also write process
variables of the PLC as outputs onto the B&R PC using the OPC UA Write service.
For additional information about OPC UA configuration, see Automation Help.
10 ADI OPC UA server User's manual V 1.27
Start
6 Start
After installation, the ADI OPC UA server automatically starts as a service/daemon each time the system is started.
The first time the server is started, it runs through all theoretically supported PC and panel modules and offers the
respective ADI functions and information as OPC UA variables or nodes for the modules found.
When the ADI OPC UA server is first started, the information of the found modules is exported as NodeSet files.
The files are saved in the installation directory in folder NodeManager/AdiNodeManager/NodeSet as binary files
(.Nodeset2.ua) and XML files (.NodeSet2.xml).
After a restart, any modules that have been found are loaded from the binary NodeSet file and the address space
is established accordingly. This means that the same numeric node IDs are used even after the server is restarted
(see "Hints for automatic access" on page 13, "Node ID" on page 12).
Information:
The binary NodeSet file must be deleted from folder "NodeSet" and the server restarted in order to map
changes to the hardware in the address space. The numeric node IDs can change during this process.
ADI OPC UA server User's manual V 1.27 11
Information model
7 Information model
The ADI OPC UA server provides access to functions and device information of the PC and connected Automation
Panels via the OPC UA information model. This information model enables OPC UA clients to access existing data.
Figure 1: Address space
Based on hierarchical references, all available nodes for the bus controller are defined as child nodes of head
node /Root/Objects/DeviceSet/PC. These include nodes for identification and access to data of the PC and panel
modules.
7.1 OPC UA nodes
The ADI OPC UA server contains nodes that are mandatory according to the OPC UA specifications (e.g. the
server object). This includes all nodes that are specifically created on the B&R system during the startup of the
ADI OPC UA server (e.g. for keys and LEDs of a connected Automation Panel along with their type descriptions),
which in turn are mapped as nodes.
7.2 BrowseName
To determine which nodes a server contains, the address space can be searched with browser services (browse)
starting from the root node or other known nodes. When browsing, a node is identified using the BrowseName.
7.3 Node ID
Alongside the BrowseName, the node ID offers another way to identify a node. This is unique in the address space
and consists of the namespace index (numeric value) and an identifier. The identifier can consist of a string or
a numeric value, for example. The ADI OPC UA server uses only numeric identifiers. An example node ID looks
like this: ns=4;i=42. Here, "ns=4" stands for the namespace index (4); "i=42" stands for the numeric identifier (42)
of the node.
12 ADI OPC UA server User's manual V 1.27
Information model
7.4 Note regarding automated access
Nodes are actually accessed in the information model based on their specific node ID. When accessing nodes
using a software library (e.g. AsOpcUac), the following must be observed:
• First, the namespace strings should be translated into the namespace index. The necessary functions are
provided by client libraries.
• Node IDs should be determined using service "TranslateBrowsePathToNodeId".
Information:
Using hard-coded node IDs can result in problems since they can change with a different server version
or after changes to the hardware (see "Methods" on page 15).
The server accesses the PC hardware for the variables used.
Information:
Depending on the variables and hardware used, this can lead to a high CPU load on the PC at very
short sampling rates of the OPC UA server ("Sampling interval").
Variables should therefore only be read with the necessary sampling rate. For example, a sampling rate in the
minute range, e.g. for temperatures, is probably sufficient, but faster recognition is desired when reading key states.
7.5 Namespaces used
The following namespaces are used in the ADI OPC UA server:
Namespace URI Description
http://opcfoundation.org/UA/ Types and objects specified by the OPC Foundation
urn:<Hostname>/BR/UA/EmbeddedServer Types and objects for the server provider
http://opcfoundation.org/UA/DI/ Types and objects for device integration
http://br-automation.com/OpcUa/BrTypes/ General types for B&R devices
http://br-automation.com/OpcUa/HMI/ADI/ Types and objects for Automation PCs and Panel PCs
The namespaces used can also be read from the ADI OPC UA server along with their indexes.
7.6 Device information
The PC object and all module objects have several child nodes. Information about the respective module can be
read out under the nodes.
Node name Description
CompatibilityId Compatibility ID of the module
DeviceManual URL providing additional information about the module
DeviceRevision Hardware revision of the module
HardwareRevision Hardware revision of the module
Manufacturer Manufacturer of the module
Model Material number of the module
ProductCode Numeric ID of the module (B&R ID code)
RevisionCounter Reserved (always -1)
Serialnumber Serial number of the module
SoftwareRevision Current software revision of the module (e.g. of the MTCX)
VendorID Numeric ID of the module manufacturer
ADI OPC UA server User's manual V 1.27 13
Information model
7.7 MethodSet and ParameterSet
The PC object and module objects each contain objects "MethodSet" and "ParameterSet".
• "MethodSet" groups all methods for a given module into a flat list.
• "ParameterSet" groups all variable nodes into a flat list.
These sets should be used if variables and nodes are to be accessed automatically. The advantage of providing
access via a set is that the location of the nodes is known from the start. It is then not necessary to take a structure
into account. This allows the structure to be modified without having to adjust automatic accesses (e.g. due to new
features, better clarity, etc.).
Position of the data in the information model, for example:
".../PC/MethodSet"
".../PC/ParameterSet"
7.8 Supported modules
All modules that have been detected on the PC and connected panels are listed under "SubDevices". All data
nodes assigned to the respective module are located at a lower level. The data nodes of the PC itself are located
directly under "PC" (see "Address space" on page 12).
Connected modules are automatically detected when the server is started. The nodes of the modules depend on
the respective module. The information model is updated accordingly, allowing the modules' full range of functions
to be used.
Depending on the series, PCs can consist of several modules. Each module provides information such as model
number, serial number, temperatures, etc. and can therefore be regarded as a standalone device from the OPC
UA point of view.
The following table shows all PC modules supported by the ADI OPC UA server:
Module BrowseName Comment
System unit Pc
Automation Panel Panel Only occurs with panel PCs.
CPU board Cpu
Bus unit Bus
Interface option lf1 Currently, an interface option can occur a maximum of 3 times on a PC. Description "Interface
lf2 option 3" is only used starting with the APC3100/PPC3100. On older PC series, this is the moni-
lf3 tor/panel option. For APC910/PPC900/APC2100/PPC2100, IF option 1 can also be a UPS mod-
ule.
Memory module Mem1 Currently, a memory module can occur a maximum of 2 times on a PC.
Mem2
Fan kit Fan
Slide-in drive Drive1 Currently, a drive can occur a maximum of 2 times on a PC.
Drive2
Bus fan kit BusFan
Expansion unit Exp Used on Panel PCs with AP5000.
Device-specific features
• On a PPC900, the model number and serial number of the DRAM manufacturer are provided as the model
number for memory modules. Pseudo values are provided for all other parameters.
• On a PPC900, the same values are delivered for the CPU board as for the system unit.
• Pseudo values are sometimes returned for the CPU board on an APC910.
Depending on the device, one or more Automation Panels can be connected to a PC via SDL.
Depending on the panel series, the following panel modules can be connected to these Automation Panels:
Module BrowseName Comment
Automation Panel Panel#xx Also referred to as "panel".
Link module Link Not supported by AP800 or AP900.
SDL3/SDL4 converter Conv Not technically possible with AP800.
Expansion unit Exp With AP5000.
Module HDBaseT Hdbt Only with Automation Panels with SDL4 receivers.
Note:
For technical reasons, the module only provides the firmware version and not the device infor-
mation otherwise available on B&R devices.
14 ADI OPC UA server User's manual V 1.27
Information model
7.9 Variable nodes
A PC module can contain the following variable nodes along with the device information:
Node name Description
Fan1Speed Speed of the first fan
Fan1Statistics Statistical values of the first fan
Fan2Speed Speed of the second fan
Fan2Statistics Statistical values of the second fan
Fan3Speed Speed of the third fan
Fan3Statistics Statistical values the third fan
Fan4Speed Speed of the fourth fan
Fan4Statistics Statistical values of the fourth fan
ModuleStatistics Statistical values of the module
Temperature1 Temperature of sensor 1
Temperature2 Temperature of sensor 2
Temperature3 Temperature of sensor 3
Temperature4 Temperature of sensor 4
UpsStatistics Statistical values of the UPS (power failures and battery operation)
The module for the system unit itself can contain the following variable nodes in addition to the PC module:
Node name Description
BiosDate BIOS date
BiosVersion BIOS version
CmosBatteryState CMOS battery state
CmosBatteryVoltage CMOS battery voltage
CpuTemperature Internal CPU temperature
DeviceType Device type (= PC series)
Dvi1Resolution Resolution of the first DVI display
Dvi2Resolution Resolution of the second DVI display
HandwheelValue Counter value of an electronic handwheel
KeyConfiguration Key configuration values
PanelLockTime Panel lock time
UpsBatteryCurrent Charging current of the UPS battery
UpsBatteryTemperature Battery temperature of the UPS
UpsBatteryVoltage Voltage of the UPS battery
UpsStatus UPS status
UserSerialId User serial ID
A panel module can contain the following variable nodes along with the device information:
Node name Description
ModuleStatistics Statistical values of the module
Temperature1 Temperature of sensor 1
Temperature2 Temperature of sensor 2
Temperature3 Temperature of sensor 3
Temperature4 Temperature of sensor 4
The module for the Automation Panel itself can contain the following variable nodes in addition to the panel module:
Node name Description
Address Panel address
BacklightStatistics Statistical values of the backlight of the display
DisplayBrightness Brightness of the display (backlight)
DisplayResolution Resolution of the display
KeyEnable Key locking status
Keys Status of the keys
KeySwitches Status of the key switches
Leds Status of the LEDs
Linked Code for whether the panel is connected
Locked Code for whether the panel is locked
7.10 Methods
The ADI OPC UA server supports method "GenerateNodeSetFile" on the PC module. This will delete the current
NodeSet files and then recreate them. To load the changes in the address space, the ADI OPC UA server must be
restarted. This allows changes to the hardware to be mapped in the address space (see "Start" on page 11).
ADI OPC UA server User's manual V 1.27 15
Publishing information
Publishing information
B&R Industrial Automation GmbH
B&R Strasse 1
5142 Eggelsberg
Austria
Telephone: +43 7748 6586-0
Fax: +43 7748 6586-26
[email protected]
16 ADI OPC UA server User's manual V 1.27