The MAZAK MAZATROL MATRIX 2 OPC UA server facilitates connectivity with MAZAK controls from the MATRIX 2 and MATRIX NEXUS 2 series. It offers a robust interface for retrieving machine data from these CNC types, serving as a vital tool for monitoring and analyzing machine performance.


version: v2.7.0

published: Jun 03, 2024

Download 32-bit installer for Windows XP Service Pack 3 - 1.2 MB


The OPC UA server should be directly installed on the MAZAK MAZATROL MATRIX 2 control operating system, as it functions as a Windows service and utilizes internal protocols to communicate with the control.

Typically, MAZAK MAZATROL MATRIX 2 controls are equipped with a 32-bit Windows 7 operating system.

Installation process is very simple and straight forward. Installer copies the following files to “%PROGRAMFILES%\X-tensive\DPA.UA\matrix2\“ directory:

Firewall exception is added for executable.

The Windows service DPAOPCUA.MATRIX2 is automatically registered by the installer and started at the end of the installation process.

If there is no certificate or private key for OPC UA server default instance, a self-signed certificate as well as private key are generated and placed to “instances\default\“ subfolder.

Installer is a simple console application that requires no user interaction or parameters. All output is sent to stdout and stderr. It is fine to run installer under SSH session. Here is a typical output:

dpa installer, 32-bit
Destination: C:\Program Files\X-tensive\DPA.UA\matrix2\
Copying ""... ok
Copying ""... ok
Copying ""... ok
Generating default certificate... ok
Registering service "DPAOPCUA.MATRIX2"... ok
Will configure firewall...
  exception for ""... ok
Will start services...
  service "DPAOPCUA.MATRIX2"... ok
installation SUCCEEDED!

Update of running services

In case when a previous version was already installed and OPC UA server instances are up and running as Windows services, the installer will do update correctly. First, all running services of OPC UA server are shutdown gracefully. Old binaries are replaced with a new version. Finally, all previously running instances are started again.

Update of interactively running processes

In case when OPC UA server runs as interactive console process, installer kills this process before installation to release any locks of old binaries, otherwise installation and update of the binaries would fail. The installer does not attempt to restart interactive processes after binaries update.

Command line arguments


Optional. Specifies instance name for non-default instance. Instances are explained here.


Do not use certificates. Indicates that OPC UA server should not expose secured endpoints. Can optionally be applied only to OPC UA servers running interactively. Can not be applied to OPC UA servers running as Windows Services.


Optional. Specifies TCP port for OPC UA server. Default is 4840.

Running in Console mode

The OPC UA server can run interactively in console mode. For instance:

Ctrl+C gracefully shuts down the server.

Running as Windows Service

Normally, there is no need to manually register the Windows service for the OPC UA server, as the installer will handle everything automatically. However, the commands to manually register and unregister Windows service are supported if needed. is used to list, register and unregister Windows Services for MAZAK MAZATROL MATRIX 2 OPC UA servers. For example, to register OPC UA server as a service: /install

To list all installed instances: /list

Typical output:

  instance: (default)
  port: 4840
  start type: auto
  status: stopped

Finally, to start the (default) instance:


To unregister the Windows Service: /uninstall

Take into account, the service is not stopped automatically when unregistering. It must be stopped with “net stop” command before.

Address space

MAZAK MAZATROL MATRIX 2 OPC UA server provides namespace.


Windows Service fails to start

In case OPC UA server fails to start as Windows Service, run it in Console mode with exactly the same command line arguments to check console output. Normally, all diagnostic messages are sent to stdout and stderr. For instance, when OPC UA server fails to read the certificate or the private key:

[2023-10-18 11:07:13.019 (UTC+0300)] fatal/server       Could not load certificate storage.

In that case ensure that .cert and .key files exist and are located according to Instances directory structure.

An invalid or corrupted alias.json file may cause service to fail to start:

[2023-10-18 11:08:54.418 (UTC+0300)] fatal/server       Could not load alias json.

In that case ensure that alias.json is valid and its content respects the demands described here. Take into account that empty alias.json file is considered as invalid. If aliases are not used, just remove alias.json.


If the license is not installed or if the license is not valid, for example, an expired TRIAL license, then the OPC UA server will function for 1 hour after starting the process. After the hour has elapsed, the OPC UA server will return a BADLICENSENOTAVAILABLE or BADLICENSEEXPIRED error on requests to read and write data, except for system objects and system variables of OPC UA server.

The variable “Objects/Server/Instance/LicenseKey” allows to read the loaded license and its status. Next, the license status can be checked with the command line utility target <OpcServerIp>

MAZAK control communication

To troubleshoot any MAZAK control communication issues, please, refer to “Objects/MATRIX2/link” variable. It provides detailed information about the status of MAZAK control communication as well as any errors detected, including the rich set of counters for various types of errors.