Version Numbers

The WMX3 product version has a unique number for each installer full package or patch installer. The product version can be found in the installer or in utilities such as WOS.

When WMX3 is installed by the installer full package or patch installer, the number will be updated.

In addition, detailed version numbers for each WMX3 component are assigned on a per-file basis. They are not necessarily identical to the WMX3 product version number.

WMX3 Product Version

WMX3 Product Version is in the form A.BuE, and may contain additional qualifiers in the case of special releases.

Below is the specification explanation of the version number.

Digit

Version Type

Version Meaning

What the user should do when the version is incremented

A

major version number

The major version number of the product, fixed at 3 for WMX3.

This number will not be updated for follow-on updates of the same product line. Migration to a new product with an update of this number typically requires an extensive user application redesign.

B

minor version number

The minor version number of the product. WMX3 updates that involve updating this number may cause incompatibilities between user applications and the WMX3 API.

Check the specifications of each module and take appropriate action for the user application if compilation errors occur.

E

update version number

Update Number. This includes updates of the utilities and revision/fix version of each module.

Please check each module’s revision/fix version and take appropriate action for user applications which refer to that module.

The following figure shows an example of updating a product version number.

../_images/WMXDOC_GENERALINFO_VERSIONING_image0.png

Note: No custom versions with additional modifiers will be released unless there is a special reason to do so.

Detailed version numbers for each WMX3 component

Module Version Number

There are two types of WMX3 modules: platform modules and motion modules (see Module.ini).

Both types of modules consist of the module RTDLL and the module libraries. The module RTDLL is the file that is loaded by the WMX3 engine when running the module. The module libraries contain the API function interfaces for the programming languages supported by that module.

For a module library to be able to control the module RTDLL through API functions, the major, minor, and revision version numbers of the module library must match those of the module RTDLL.

Below is the specification explanation of the version number.

Digit

Version Type

Version Meaning

What the user should do when the version is incremented

A

major version number

The major version number of the product, fixed at 3 for WMX3. This number corresponds to the product version A of WMX3.

This number will not be updated for follow-on updates of the same product line. Migration to a new product with an update of this number typically requires an extensive user application redesign.

B

minor version number

The minor version number of the product. This number corresponds to the product version B of WMX3.

Module updates that involve an increment of this number may result in compilation errors in the user application. In that case, it is necessary to update the code and redesign the user application. Note: Updates of WMX3 version number B may be inherited to module and only the version number may be updated without changing the module specifications.

C

revision version number

A number that manages the need to recompile the user application. For example, this means updates such as binary updates to the WMX3 static libraries or changes to the order of structure members.

Module updates that involve an increment of this number will not cause a compilation error in the user application, but a recompile of the user application is required.

D

fix version number

This number manages changes to the user application that do not require updating. For example, it means a modification or improvement of an internal process of WMX3.

Module updates that involve an increment of this number do not require updating and recompile the user application.

Note: As an exception, if the user application is not linked to a specific WMX3 module or uses a .NET library, a change in the minor or revised version number may not affect the user application.

The version number of the module RTDLL can be read by calling one of the following functions.

Module

File Name (Module)

Function

CoreMotion

CoreMotion.rtdll

CoreMotion::GetVersion

Log

Log.rtdll

Log::GetVersion

ApiBuffer

ApiBuffer.rtdll

ApiBuffer::GetVersion

CyclicBuffer

CyclicBuffer.rtdll

CyclicBuffer::GetVersion

Compensation

Compensation.rtdll

Compensation::GetVersion

IO

IO.rtdll

Io::GetVersion

Event

Event.rtdll

EventControl::GetVersion

AdvancedMotion

AdvancedMotion.rtdll

AdvancedMotion::GetVersion

UserMemory

UserMemory.rtdll

UserMemory::GetVersion

PMMotion

PMMotion.rtdll

PMMotion::GetVersion

EcPlatform

EcPlatform.rtdll

Ecat::GetVersion

RtexPlatform

RtexPlatform.rtdll

RTEX::GetVersion

MIIIPlatform

MIIIPlatform.rtdll

MIII::GetVersion

CCLinkPlatform

CCLinkPlatform.rtdll

CCLink::GetVersion

SimuPlatform

SimuPlatform.rtdll

Simu::GetVersion

The version number of the module library can be read by calling one of the following functions. These functions are static functions, and may be called without instantiating an object of the module class. For the WMX3Api.lib library, the API functions are directly executed by the engine, and thus the major, minor, and revision version number of the library must match those of the engine.

Module

File Name (C++ Library)

Function

WMX3Api

WMX3Api.lib

WMX3Api::GetLibVersion

CoreMotion

CoreMotionApi.lib

CoreMotion::GetLibVersion

Log

LogApi.lib

Log::GetLibVersion

ApiBuffer

ApiBufferApi.lib

ApiBuffer::GetLibVersion

CyclicBuffer

CyclicBufferApi.lib

CyclicBuffer::GetLibVersion

Compensation

CompensationApi.lib

Compensation::GetLibVersion

IO

IOApi.lib

Io::GetLibVersion

Event

EventApi.lib

EventControl::GetLibVersion

AdvancedMotion

AdvancedMotionApi.lib

AdvancedMotion::GetLibVersion

UserMemory

UserMemoryApi.lib

UserMemory::GetLibVersion

PMMotion

PMMotionApi.lib

PMMotion::GetLibVersion

EcPlatform

EcApi.lib

Ecat::GetLibVersion

RtexPlatform

RtexApi.lib

RTEX::GetLibVersion

MIIIPlatform

MIIIApi.lib

MIII::GetLibVersion

CCLinkPlatform

CCLinkApi.lib

CCLink::GetLibVersion

SimuPlatform

SimuApi.lib

Simu::GetLibVersion

Engine Version Number

The engine version number can be obtained using the GetModulesInfo function. The engine version is contained in the returned engine.majorVersion, engine.minorVersion, engine.revisionVersion, and engine.fixVersion values.

IMDLL Version Number

The IMDLL (typically IMDLL.dll) has a version number of the form A.B.

A is the version number.

B is the revision number.

These version numbers are independent of the numbering scheme for the other files. The IMDLL file that is packaged with the installer should always be used.

The IMDLL version number can be obtained using the GetIMDllVersion function. It can also be obtained using the GetModulesInfo function, in which case the version numbers are contained in the returned engine.imlibVersion and engine.imlibRevision values.

Utility Version Number

Utility applications of WMX3 have version numbers as follows.

Utility

Format

Description

WMX3 Console

A.B.C.D

The version number matches the installer version number, with C equal to the update number and D equal to 0.