Skip to content

OPC UA

OPC UA is a machine-to-machine communication protocol for industrial automation developed and maintained by the OPC Foundation. OPC UA provides a standardized way for different devices and systems to communicate with each other.

The Neuron OPC UA plugin can be used as a client to access KEPServerEX, Industrial Gateway OPC Server, Prosys Simulation Server, Ignition, and other OPC UA servers. You can also directly access the built-in OPC UA Server of hardware equipment, such as the built-in Server of Siemens S7-1200 PLC, the built-in Server of Omron NJ series PLC, etc.

Add Device

Go to Configuration -> South Devices, then click Add Device to add the driver. Configure the following settings in the popup dialog box.

  • Name: The name of this device node.
  • Plugin: Select the OPC UA plugin.

Device Configuration

After clicking Create, you will be redirected to the Device Configuration page, where we will set up the parameters required for Neuron to establish a connection with the device. You can also click the device configuration icon on the southbound device card to enter the Device Configuration interface.

ParameterDescription
Endpoint URLTarget OPC UA Server URL, the default value is opc.tcp://127.0.0.1:4840/
UsernameUser name used to connect to the target OPC UA Server
PasswordPassword for connecting to the target OPC UA Server
CertClient certificate in DER format
KeyThe client key in DER format

Configure Data Groups and Tags

After the plug-in is added and configured, the next step is to establish communication between your device and Neuron by adding groups and tags to the Southbound driver.

Once device configuration is completed, navigate to the South Devices page. Click on the device card or device row to access the Group List page. Here, you can create a new group by clicking on Create, then specifying the group name and data collection interval.

Upon successfully creating a group, click on its name to proceed to the Tag List page. This page allows you to add device tags for data collection. You'll need to provide information such as the tag address, attributes, and data type.

For information on general configuration items, see Connect to Southbound Devices. The subsequent section will concentrate on configurations specific to the driver.

TIP

You can use UaExpert to view the Namespace Index ( NamespaceIndex) and is the Node ID ( Identifier), for details, see UaExpert.

  • For an explanation of namespace indexes and node ids, refer to the OPC UA standard.
  • The Neuron set data type must match the OPC UA data type.

Data Types

  • INT8(OPC UA SBYTE type)
  • INT16
  • INT32
  • INT64
  • UINT8(OPC UA BYTE type)
  • UINT16
  • UINT32(also used to indicate the OPC UA DATETIME type)
  • UINT64
  • FLOAT
  • DOUBLE
  • BOOL
  • STRING
  • ARRAY_CHAR
  • ARRAY_INT8
  • ARRAY_UINT8
  • ARRAY_INT16
  • ARRAY_UINT16
  • ARRAY_INT32
  • ARRAY_UINT32
  • ARRAY_INT64
  • ARRAY_UINT64
  • ARRAY_FLOAT
  • ARRAY_DOUBLE
  • ARRAY_BOOL

Data Type Conversion

OPC UA Data TypeNeuron Data Type
SByteINT8
Int16INT16
Int32INT32
Int64INT64
ByteUINT8
UInt16UINT16
UInt32UINT32
UInt64UINT64
FloatFLOAT
DoubleDOUBLE
BooleanBOOL (The value is true or false)
BooleanBIT (The value is 0 or 1)
StringSTRING
DatetimeUINT32
LocalizedText(Read Only)STRING
SByte ArrayARRAY_INT8
Int16 ArrayARRAY_INT16
Int32 ArrayARRAY_INT32
Int64 ArrayARRAY_INT64
Byte ArrayARRAY_UINT8, ARRAY_CHAR
UInt16 ArrayARRAY_UINT16
UInt32 ArrayARRAY_UINT32
UInt64 ArrayARRAY_UINT64
Float ArrayARRAY_FLOAT
Double ArrayARRAY_DOUBLE
Boolean ArrayARRAY_BOOL

ARRAY_CHAR displays and writes in the form of a string.

Address Format

NS[x,y,z]!NODEID

NS Namespace index.

[x,y,z] Array index, when the data type is array, you can use the index to get to the value of a specific location, the dimension counts from 0, the dimension is not more than 2. x means one-dimensional index, y means two-dimensional index, z means three-dimensional index.

NODEID The node ID, which can be set as a number, a string, or a GUID.

Example Addresses

AddressData typeDescription
0!2258UINT32Get the timestamp of the OPC UA server using the digital NODEID. The NS value is 0, and the NODEID is 2258
2!Device1.Module1.Tag1INT8Use the string NODEID to get the data point of type SBYTE. If NS is 2, NODEID is Device1.Module1.Tag1
0!c496578a-0dfe-4b8f-870a-745238c6ae00BOOLGet a data point of type BOOL using a NODEID of type GUID; NS is 0 and NODEID is c496578a-0dfe-4b8f-870a-745238c6ae00
1[2]!array1d[string]STRINGAccesses the 3rd element of the STRING array; NS is 1, NODEID is array1d[string], one-dimensional index is 2
1[2,3]!array2d[int]INT32Access the elements of row 3 and column 4 of the INT32 array; NS is 1, NODEID is array2d[int], one-dimensional index is 2, and two-dimensional index is 3.
1[2,3,4]!array3d[float]FLOATAccesses row 3, column 4, and element 5 of the FLOAT array; NS is 1, NODEID is array3d[float], one-dimensional index is 2, two-dimensional index is 3, three-dimensional index is 4

Use Case

This chapter also provides practical examples to facilitate a quick start.

Data Monitoring

After completing the point configuration, you can click Monitoring -> Data Monitoring to view device information and control devices. For details, refer to Data Monitoring.