Request/problem:
The Matrikon Flex OPC UA SDK in their releases support only Windows, Linux, and standalone OS. In this project, the customer was using the QNX operating system and wanted to use the Matrikon Flex for his PLC. The requirement was to port the Matrikon Flex OPC UA SDK to the QNX platform running on the customer`s PLC.
Solution:
The Matrikon Flex OPC UA SDK is implemented using standard C++ and only requires C++ 11 support along with some platform specific networking, file system and timer APIs. As the stack is divided into platform specific and portable parts already, the changes to be done were easily identified.
QNX supports UNIX system calls for networking as well as other platform specific parts hence the modifications in the stack were limited but required some understanding on the stack architecture to update the necessary parts. The network and file system handling parts were updated to support QNX. Additionally, OpenSSL library was prepared to support security facets for the OPC UA communication.
Architecture:
Results:
The Matrikon Flex OPC UA Stack was ported to QNX platform with minimal effort and delivered to customer after performing some communication and performance tests.