Home

ROP1 OPC/UA Adapter.html


Outline

OPC Unified Architecture (OPC UA) is an industrial M2M communication protocol for interoperability developed by the OPC Foundation and successor of the COM/DCOM based OPC protocol. The POC/UA Adapter allows eclipse/impulse users to connect to such servers and trace variables and events. Its UI simplifies configuration of multiple connections.The OPC/UA Adapter is based on the eclipse Milo OPC/UA implementation (Kevin Herron).

Platforms:
32/64bit 32/64bit 32/64bit
Requirements:
  • none
Known limitations:
  • The reader uses external library over which toem has no control.
Status:
  • Beta
Operations:
  • Connect
  • Read
  • Sync
  • Stimulate
  • Handle
Parameters:
  • Enable: Enables/disables the port adapter.
  • End-point: Select the OPC/UA server as the input.
  • Identification: Anonymous, Password.
  • User: Enter the user name.
  • Password: Enter the user password.
  • Security Mode: None, Sign, Sign and Encrypt.
  • Security Policy: Basic128Rsa15, Basic256, Basic256Sha256, None.
  • Security Certificate: Enter certificate file, a password, and select the alias.
  • Publishing Rate: Set the publishing rate.
  • Application details: Enter application name/ URI and Product URI.
  • Timeout: Enter session/request timeout.
  • Default Trigger: Enter the default trigger mode.
  • Domain Base:Relative time, Date/Time, ms Time.
  • Nodes: View and enable subscription.
  • Script: Allows to define a script to stimulate the connected server.
  • Insert as root: If the adapter is included in a multi-adapter port, the flag will force the adapter to add its signal hierarchy into the root of the combined record.
  • Log/Trace to impulse console: Check to forward sdk/stack logs to impulse console.


Video

Screen Cast: Access OPC/UA servers with impulse



OPC/UA

Using impulse as back-end for OPC/UA, you may



End-point Configuration

Enter (or select) the endpoint url, configure the identification and security settings and press "Test Connection" to check if your settings are valid and the server reachable.



Security Mode and Policy

  1. Security Mode: None, Sign, Sign and Encrypt.
  2. Security Policy: Basic128Rsa15, Basic256, Basic256Sha256, None.
  3. Security Certificate: Enter certificate file, a password, and select the alias.

Three different security modes are available:

  1. None
  2. Sign
  3. Sign & Encrypt

If the selected security mode is "None", requests are not secured at all. If "Sign" is selected, messages are signed with the private key of the Certificate instance of the client application. If the selected security mode is Sign & Encrypt, messages are also encrypted with the public key of the certificate of the server's application instance.

The security policy determines the algorithm for signing and encryption. Several security policies are available:

  1. Basic128Rsa15
  2. Basic256
  3. Basic256Sha256
  4. None

If "None" is selected, a number of algorithms are used that do not contain security settings. If "Basic128RSA15" is selected, a set of algorithms that RSA15 uses as a key-wrap algorithm, and 128-bit encryption algorithms are used. When Basic256 is selected, a number of algorithms are used that use the following 256-bit encryption algorithms are used.



Identification Modes


The user authentication process is performed during session setup with the server. There are three options are available:

  1. Anonymous
  2. Username and Password
  3. Certificate and Private Key (tbi)

If "Anonymous" is selected, no user information is provided. If "User Name and Password" is selected is selected, a user is identified by a user name and password. The user is prompted to enter the user name and password in separate text fields in the GUI. When "Certificate and Private Key" is selected, the User is identified by an X509v3 certificate file and its private key.



Application Details

On the Application Details tab you may  configure additional settings like timeout and application name/ URI.



Node Configuration

Click "Load/Synchronize nodes from server" to synchronize node information of your connection. Enable the check boxes in front of the nodes to monitor the selected nodes.

Double-click the node(s) for additional configuration (rate, queues or event attributes) . With these few steps, you should be able to trace your first node data.



Script

With scripting you may use the milo SDK to access, read and modify OPC node.

The script is executed after connecting (background thread).

	// client: opc adapter of type OpcUaClient
	// console: console output of type MessageConsoleStream
	// progress: progress control of type IPortProgress
	// 
	var count = 0;
	while (!progress.isCanceled()) {
	
	    if (progress.isStreaming()) {
	    
	        // define a node
	        var nodeId = NodeId.parse("ns=2;i=10223");
	
	        // read the node
	        var value = client.readValue(0, TimestampsToReturn.Both, nodeId).get();
	        console.println(value);
	
	        // write the node
	        client.writeValue(nodeId, DataValue.valueOnly(new Variant(true))).get();
	        
	        // stop streaming after 10 cycles
	        count++;
	        if (count > 10)
	        	progress.cancel();
	    }
	    // wait some time
	    Thread.sleep(500);
}