The MAZAK MAZATROL SMOOTH OPC UA server facilitates connectivity with MAZAK controls from the SMOOTH-C, SMOOTH-G, SMOOTH-X and SMART 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.

Download

v2.14.0 / Aug 15, 2024

Download 32-bit - 1.36 MB

Prerequisites

The OPC UA server uses MAZAK MAZATROL SMOOTH’s 32-bit native API and requires the VC redistributable package to be installed.

Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package
https://www.microsoft.com/en-us/download/details.aspx?id=26347

Make sure to install exactly x86 32-bit version of the VC redistributable!

Installation

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

dpa.ua.smooth.exe
dpa.ua.smooth.ctrl.exe
NTIFDLL.dll

Firewall exception is added for dpa.ua.smooth.exe executable.

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 2.1.0.0, 32-bit
Destination: C:\Program Files (x86)\X-tensive\DPA.UA\smooth\
Copying "dpa.ua.smooth.ctrl.exe"... ok
Copying "dpa.ua.smooth.exe"... ok
Copying "NTIFDLL.dll"... ok
Generating default certificate... ok
Will configure firewall...
  exception for "dpa.ua.smooth.exe"... ok
installation SUCCEEDED!

Update of running services

In case when a previous version was already installed and the OPC UA server instances are up and running as Windows services, the installer will perform the update correctly. First, all running services of the 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 the OPC UA server runs as an interactive console process, installer terminates this process before installation to release any locks on old binaries, otherwise installation and updating of the binaries would fail. The installer does not attempt to restart interactive processes after the binaries update.

Command line arguments

/dev:<host[:port]>

MAZAK control ip and port (optionally), like “192.168.0.1” or “192.168.0.1:50100”.

/instance:<str>

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

/nocert

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.

/port:<num>

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:

dpa.ua.smooth /dev:192.168.0.2

Ctrl+C gracefully shuts down the server.

Running as Windows Service

It’s very easy to run OPC UA server as Windows service. dpa.ua.smooth.ctrl is used to list, register and unregister Windows Services for MAZAK MAZATROL SMOOTH OPC UA servers. For example, to register OPC UA server as a service:

dpa.ua.smooth.ctrl /install /dev:192.168.0.2

If you need to connect several MAZAK controls, named instances must be used. Instances are explained here. The instance name is specified via the command line argument “instance”. Take into account, each instance must have unique tcp port to expose OPC UA endpoints:

dpa.ua.smooth.ctrl /install /dev:192.168.0.3 /instance:dev2 /port:4841

To list all installed instances:

dpa.ua.smooth.ctrl.exe /list

Typical output:

DPAOPCUA.SMOOTH
  instance: (default)
  port: 4840
  dev: 192.168.0.1
  start type: auto
  status: stopped
DPAOPCUA.SMOOTH.dev2
  instance: dev2
  port: 4841
  dev: 192.168.0.3
  start type: auto
  status: stopped

Finally, to start the (default) instance:

net start DPAOPCUA.SMOOTH

Or to start named instance “dev2”:

net start DPAOPCUA.SMOOTH.dev2

To unregister the Windows Service:

dpa.ua.smooth.ctrl /uninstall /instance:dev2

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

Address space

MAZAK MAZATROL SMOOTH OPC UA server provides https://dpaxt.io/UA/smooth/ namespace.

Troubleshooting

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.

License

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 dpa.opcua.rs:

dpa.opcua.rs.exe target <OpcServerIp>

MAZAK control communication

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