Skip to content
Start free evaluation

Supported platforms and toolchains

Product Windows x64 Linux x86_64 macOS arm64 (Apple silicon)
SECS/GEM SDK and simulator Package (.zip) Package (.tar.gz) Development only (no package)
Modbus SDK and simulator Package Package Package
OPC UA SDK and simulator Package (.zip) Package (.tar.gz) Package (.tar.gz)
Virtual serial ports MSI (port driver) .deb (DKMS kernel module, amd64 and arm64) Pseudo terminal mode
Docs CLI (pdcomm-docs) Supported Supported Supported

macOS is provided for development and testing. Run your final tests on the operating system and architecture you deploy to, and don’t assume that a result on one platform holds on another.

Item Requirement
CMake 3.20 or later; 3.21 or later for the OPC UA examples
C/C++ standards C11 and C++14; C++17 for the Modbus and OPC UA examples
Windows compiler MSVC (x64) from Visual Studio 2022. For the MFC helpers, install Visual Studio’s MFC component.
Linux compiler GCC (g++). Customer packages are verified on Ubuntu 24.04.
macOS compiler Xcode Command Line Tools (Apple clang)

Build with tools for the same architecture as the package, such as the x64 developer command prompt on Windows. Don’t mix Windows x64 DLLs, Linux libraries, and arm64 libraries.

Binding Target framework What you need
SECS/GEM (PDComm.dll) net10.0 The .NET 10 runtime; the .NET 10 SDK to build it yourself
Modbus (PDComm.Modbus) net8.0 The .NET 8 runtime and a .NET SDK that builds net8.0
OPC UA (PDComm.OpcUa.dll) net8.0 The .NET 8 runtime and a .NET SDK

Check the installed runtimes with dotnet --list-runtimes and the SDKs with dotnet --list-sdks. The packages don’t include .NET. You reference the bindings as assemblies or source projects in the SDK folder, not as NuGet packages.

  • The simulator GUIs are built with Qt 6, and the simulator packages include the Qt libraries and plugins they need.
  • The Qt helper headers and examples for Modbus and OPC UA use Qt 6 Core. Qt isn’t included for them; you build with your own Qt and its license.

Modbus/TCP Security and OPC UA use OpenSSL 3. Packages that use OpenSSL include the OpenSSL 3 runtime in their lib/ folder. To create OPC UA certificates yourself, you need the OpenSSL 3 command-line tool.

  • Python 3, for some example helper scripts and for python3 -m http.server to open the offline docs.
  • To build the Linux virtual serial driver, dkms and the headers of the running kernel.