(Optional) Enabling the OPC UA Server

With SmartServer Pi 4.2 and higher, OPC UA is a Beta release.

The OPC UA server provides an OPC/UA-compliant interface to all IAP-accessible datapoints on SmartServer-to-OPC UA client applications (e.g., OPC UA compliant SCADA workstations AVEVA Edge HMI and GE Cimplicity HMI/SCADA). 

This section consists of the following:

Overview

OPC UA is a machine-to-machine communication protocol developed by the OPC Foundation. The SmartServer OPC UA server supports up to 10,000 subscriptions and on-demand read (poll).

For Structure or Union Extension Object (such as SNVT_switch), the SmartServer OPC UA server includes an as_string property type that will display the structure as a string data type at an OPC UA client. The feature is useful when an OPC UA client does not support Extension Object.

Other SmartServer features are as follows:

  • SmartServer 2.8 and higher includes a preset feature that allows preset values to be used and displayed at the OPC UA client. It supports both anonymous and Basic256Sha256 (apollo user login) authentication settings.
  • SmartServer 3.0 and higher supports input datapoint node priority read/write

Setting the OPC UA Configuration

The OPC UA Configuration page is used to enable the OPC UA server function. This page allows you to name the OPC UA server and port. The IP Address/Hostname should be 127.0.0.1

To enable OPC UA, perform the following steps:

  1. Open the SmartServer Configuration page as described in Accessing the SmartServer IoT Configuration PageThe Network tab appears as the default SmartServer Configuration page. Once the network settings are configured for the SmartServer system, then the System tab will appear as the default.


    SmartServer IoT Network tab



    SmartServer IoT System tab


    For SmartServer Pi, open the SmartServer Configuration page as described in Accessing the SmartServer Pi Configuration Page. The Configuration view that appears depends on your cache data. As needed, click the SmartServer IoT tab. The System tab (top) will appear as the default as shown below.


    SmartServer Pi System tab

  2. Click the OPC UA tab. 


    SmartServer IoT OPC UA disabled status


    SmartServer Pi OPC UA disabled status

  3. Enable the OPC UA server option.


    SmartServer IoT OPC UA enabled status


    SmartServer Pi OPC UA enabled status


    The OPC UA endpoint URL that is used by the OPC UA client to communicate with the OPC UA server is:

    opc.tcp://<SmartServer IoT or SmartServer Pi hostname>:55000/UA/echopcua-server

    Examples:

    opc.tcp://192.168.1.15:55000/UA/echpcua-server
    opc.tcp://smartserver-17q4aa8:55000/UA/echopcua-server

    For more information about supplying the <SmartServer IoT or SmartServer Pi hostname> variable depending on your SmartServer environment, refer to the Connectivity Testing section found in Connect to Your SmartServer.

  4. Click Update to save your configuration settings.

Disabling the Anonymous Connection End Point

You can disable the anonymous connection end point by modifying the OPCUA_config.xml file. With this setting change, the OPC UA server will only publish the secure endpoint with username/password authentication. 

To disable the anonymous connection end point, perform the following steps:

  1. Access the SmartServer Configuration page and click the OPC UA tab as described in the Setting the OPC UA Configuration section above

  2. Stop the OPC UA server by deselecting the Enabled option on the OPC UA Configuration page.


    SmartServer IoT OPC UA disabled status


    SmartServer Pi OPC UA disabled status

  3. Click Update on the OPC UA Configuration page for changes to take effect.

  4. Connect to the SmartServer at the console.

  5. Enter the following command: cd /var/apollo/data/opcua

  6. Modify the OPCUA_config.xml file by setting the <EnableAnonymousEndpoint>true</EnableAnonymousEndpoint> flag to false as indicated below.



  7. Restart the OPC UA server by enabling the OPC UA server option as described in the Setting the OPC UA Configuration section above.