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.

Nano Embedded Device Profile

The OPC-UA stack supports the Nano Embedded Device Profile, which includes:

  • Discovery services to identify to prospective clients what capabilities are supported by the Server

  • Base attribute services to process read attribute and write attribute from the OPC UA client

  • UA secure conversation to implement the basic secure conversation protocol but without signing or encrypting the messages

  • UA TCP Transport to quickly and efficiently move messages in as few bytes as possible

Some functionality that is not found in Nano Profile includes:

  • Encryption and signing of messages to implement end to end security; however, this will be added in the next release

  • Monitored items to identify variables for subscription services