OPC UA Client and Server

The OPC UA stack is implemented in Lua and provides a LUA API for application code. Interfacing to C code and hardware is typically performed via a so called Lua binding. Lua bindings can be hand coded or created automatically by using interface compilers. See the section Lua Server Pages and C/C++ for an introduction to Lua bindings and the section Advanced Lua Bindings for a more detailed introduction. We provide an online web interface wrapper for the SWIG interface compiler, which can be used initially if you plan on auto creating the Lua bindings.

We provide ready to run OPC-UA examples on GitHub. The combined OPC-UA client and server stack is integrated in the pre-compiled Mako Server, which you may download and use for running the OPC-UA examples.

Note: this is a draft document for Real Time Logic’s new OPC-UA stack.

Features

transport protocols:

  • uatcp-uasc-uabinary - OPC UA Secure Conversation UA Binary over TCP/IP

  • https-uabinary - OPC UA Secure Conversation UA Binary over HTTPS

  • https-uajson - OPC UA Secure Conversation UA JSON over HTTPS

HTTPS transport protocols support only secure policy None.

Secure polices

  • None - No security, no encryption

  • Basic128Rsa15 - RSA with SHA-1 and 128 bit encryption

  • Aes128Sha256RsaOaep - AES with SHA-256 and 128 bit encryption

  • Basic256Sha256 - RSA with SHA-256 and 256 bit encryption

User authentication

  • Anonymous - No user authentication

  • Username - Username and password authentication

  • Certificate - Certificate authentication

  • IssuedToken - Token authentication: JWT, Azure, Oauth2, OPC-UA

Services

  • OpenSecureChannel

  • CloseSecureChannel

  • CreateSession

  • ActivateSession

  • FindServers

  • GetEndpoints

  • CloseSession

  • Read

  • Write

  • AddNodes

  • Browse

  • TranslateBrowsePathsToNodeIds

Index