Base Error Codes

Base error codes are defined in the ErrorCode class. The error code enumerator classes of all modules extend this class. Functions in any module may return these errors.

Error

Code (Decimal)

Code (Hex)

Description

Resolution

StartProcessFailed

256

0x100

Failed to start process.

Verify that RTX is properly installed, licensed, and running (if using the RTX operating system). If using an RTX license dongle, verify that it is inserted in a working USB port. Verify that there is enough memory available to start the process.

StartProcessNull

257

0x101

Null pointer encountered while starting process.

Verify that RTX is properly installed, licensed, and running (if using the RTX operating system). If using an RTX license dongle, verify that it is inserted in a working USB port. Verify that there is enough memory available to start the process.

StartProcessMaxInstance

258

0x102

Maximum number of processes started.

Verify that the WMX3 engine process is not already running.

StartProcessLockError

259

0x103

Failed to obtain lock for starting process.

Verify that RTX is properly installed, licensed, and running (if using the RTX operating system). Verify that other threads are not attempting to start the WMX3 engine process at the same time.

StartProcessWaitEventFailed

260

0x104

Failed to create start process wait event.

Verify that RTX is properly installed, licensed, and running (if using the RTX operating system).

StartProcessWaitTimeout

261

0x105

Start process timed out.

Verify that RTX is properly installed, licensed, and running (if using the RTX operating system). Verify that the correct version of the WMX3 engine is used.

MemoryAllocFailed

262

0x106

Memory allocation failed.

Verify that there is enough memory available.

IMLibIsNotRunning

263

0x107

IM library resources are not operating.

Verify that the WMX3 engine has not closed.

ControlChannelLockFailed

264

0x108

Failed to acquire lock on control channel.

Verify that RTX is properly installed, licensed, and running (if using the RTX operating system).

ControlChannelEventFailed

265

0x109

Failed to operate event on control channel.

Verify that RTX is properly installed, licensed, and running (if using the RTX operating system).

ControlChannelWaitEventFailed

266

0x10A

Failed to register wait event on control channel.

Verify that RTX is properly installed, licensed, and running (if using the RTX operating system).

ControlChannelSharedMemoryFailed

267

0x10B

Failed to operate shared memory on control channel.

Verify that RTX is properly installed, licensed, and running (if using the RTX operating system).

ControlChannelLockWaitTimeOut

268

0x10C

Failed to register wait lock on control channel.

Verify that RTX is properly installed, licensed, and running (if using the RTX operating system). Verify that there is no excessive number of control requests (such as creating devices) sent to the WMX3 engine at the same time.

APIChannelError

269

0x10D

API execution channel error.

Verify that a device has been opened. Verify that the API function arguments are not abnormal.

APIChannelTimeOut

270

0x10E

API execution channel timed out.

Verify that the WMX3 engine is running. Verify that there is no excessive number of API execution requests sent to the WMX3 engine at the same time for an extended period of time. The amount of API execution requests that constitute “excessive” depends on the CPU speed and the number of cores allocated to the WMX3 engine.

StatusChannelError

271

0x10F

Status memory channel error.

Verify that the WMX3 engine is running.

RtssFileNotFoundError

272

0x110

RTSS file not found.

Verify that the RTSS file exists.

RtssStartError

273

0x111

Failed to start RTSS.

Verify that a valid RTSS file is specified.

RequestChannelTimeOut

274

0x112

New channel request timed out.

Verify that the WMX3 engine is running. Verify that there is no excessive number of channel requests sent to the WMX3 engine at the same time (channel requests occur when creating devices, for example) .

FreeChannelTimeOut

275

0x113

Free channel request timed out.

Verify that the WMX3 engine is running. Verify that there is no excessive number of free channel requests sent to the WMX3 engine at the same time (free channel requests occur when closing devices, for example).

CloseDeviceTimeOut

276

0x114

Close device timed out.

Verify that the WMX3 engine is running. Verify that there is no excessive number of control requests sent to the WMX3 engine at the same time.

RequestChannelFailed

277

0x115

New channel request failed.

Verify that the WMX3 engine is running. Verify that there is enough memory available to open the channel.

ReachMaxChannelNumber

278

0x116

Maximum number of channels reached.

Verify that the maximum number of devices have not been created.

FreeChannelFailed

279

0x117

Free channel request failed.

Verify that the WMX3 engine is running.

InvalidChannelId

280

0x118

Channel ID is invalid.

Verify that the channel ID is valid.

CloseDeviceFailed

281

0x119

Close device failed.

Verify that the WMX3 engine is running.

StatusChannelNull

282

0x11A

Status channel is null.

Verify that the status channel has been opened.

StatusChannelIdError

283

0x11B

Status channel ID is invalid.

Verify that the status channel ID is not greater than the maximum.

StatusSharedMemoryChannelIndexError

284

0x11C

Status channel index is invalid.

Verify that the status channel parameters are valid.

StatusChannelGettingInitialData

285

0x11D

Status channel is still reading initial data. Wait a few milliseconds.

Attempt the operation again after waiting for a few milliseconds.

RequestQueueFailed

286

0x11E

New queue request failed.

Verify that there is enough memory available to open the queue.

InvalidQueueId

287

0x11F

Queue ID is invalid.

Verify that the queue ID is within the valid range.

InvalidQueueSize

288

0x120

Queue size is invalid.

Verify that the queue size is within the valid range.

RequestQueueTimeout

289

0x121

New queue request timed out.

Verify that the WMX3 engine is running. Verify that there is no excessive number of queue requests sent to the WMX3 engine at the same time.

InvalidQueue

290

0x122

Queue is invalid.

Check for operations that may cause the queue to be in an invalid state.

FreeQueueTimeout

291

0x123

Free queue timed out.

Verify that the WMX3 engine is running. Verify that there is no excessive number of free queue requests sent to the WMX3 engine at the same time.

InvalidQueueControlCommand

292

0x124

Invalid queue control command.

Verify that the WMX3 engine version is correct. Verify that any specified queue control commands are valid.

ControlQueueTimeout

293

0x125

Control queue timed out.

Verify that the WMX3 engine is running. Verify that there is no excessive number of queue control commands sent to the WMX3 engine at the same time.

SetQueueOptionsTimeout

294

0x126

Set queue options timed out.

Verify that the WMX3 engine is running. Verify that there is no excessive number of queue option set requests sent to the WMX3 engine at the same time.

FreeQueueFailed

295

0x127

Failed to free queue.

Verify that the queue is in a state that can be freed.

RequestQueueIDAlreadyUsed

296

0x128

Queue ID is already used.

Verify that the queue ID is not one that is already in use.

CreateDeviceLockError

297

0x129

Failed to obtain lock for creating device.

Verify that the WMX3 engine is running. Verify that there is no excessive number of create device requests sent to the WMX3 engine at the same time.

CloseDeviceLockError

298

0x12A

Failed to obtain lock for closing device.

Verify that the WMX3 engine is running. Verify that there is no excessive number of close device requests sent to the WMX3 engine at the same time.

SetDeviceNameTimeout

299

0x12B

Set device name operation timed out.

Reserved.

GetActiveDeviceTimeout

300

0x12C

Get active device operation timed out.

Verify that the WMX3 engine is running. Verify that there is no excessive number of control requests sent to the WMX3 engine at the same time.

DeviceIsNull

301

0x12D

Device is null (device must be created).

Verify that the device has been created with the CreateDevice function.

InvalidModuleId

302

0x12E

Module ID is invalid.

Verify that the module ID is within the valid range.

InvalidDeterMode

303

0x12F

Device deter mode is invalid.

Verify that the current device deter mode (whether the device executes the API function immediately or appends it to the API buffer) is supported by the API function that is called through this device.

NoSupportedFunction

304

0x130

Function is not supported (function is not found).

Verify that the versions of the library and modules match.

CommandInvalidQueueId

305

0x131

Invalid queue ID for command.

Verify that the queue ID is within the valid range.

CommandQueueAddFailed

306

0x132

Failed to add command to queue.

Verify that the queue is in a valid state.

CommandQueueIsFull

307

0x133

Queue is full; command could not be added.

Use a larger queue size or wait for commands to be executed from the queue.

CommandQueueAddTimeOut

308

0x134

Add command to queue timed out.

Verify that multiple commands are not added to the queue at the same time.

IMVersionMismatch

309

0x135

IM Library version does not match.

Verify that the WMX3 engine and the IMDLL versions match.

ModuleVersionMismatch

310

0x136

API Library version does not match rtdll version.

Verify that the module library and module RTDLL versions match.

CommandIdLockError

311

0x137

Failed to acquire lock for command ID generation.

Verify that there are no excessive number of get command ID requests at the same time.

CommandIdGetError

312

0x138

Failed to generate command ID.

Verify that the function argument to return the command ID is not null.

CallbackMallocFailed

313

0x139

Callback function malloc failed.

This is an IMDll callback function error. Call the function again, restart the engine, or restart the PC.

CallbackThreadNull

314

0x13A

Callback function thread is null.

Reserved.

CallbackThreadError

315

0x13B

Callback function thread error.

This is an IMDll callback function error. Verify that the callback function parameters are valid.

CallbackThreadTimeOut

316

0x13C

Callback function thread timed out.

Reserved.

IMLibNullParam

317

0x13D

Null parameter encountered during IM library operation.

Verify that non-null parameters are being passed to the IMDll function.

IMLibInvalidParam

318

0x13E

Invalid parameter encountered during IM library operation.

Verify that valid parameters are being passed to the IMDll function.

ConflictingErrorCode

319

0x13F

Error code that conflicts with another error code was returned.

Verify that all loaded modules and the IMDll have compatible versions.

UtilDataChnlSizeTooSmall

320

0x140

Data channel size is too small.

This is an IMDll utility function error. Specify a larger data channel size.

UtilBuffAndDataSizeDiff

321

0x141

Buffer size is different from data size.

This is an IMDll utility function error. Verify that the buffer size and the data size are the same.

UtilNoEnoughDataChnlSize

322

0x142

Not enough data channel size.

This is an IMDll utility function error. Verify that the amount of the data channel used is within the limit.

UtilReachMaxDataChnlSize

323

0x143

Maximum data channel size reached.

This is an IMDll utility function error. Verify that the maximum data channel size is not reached.

UtilIndexOutOfRange

324

0x144

Index is out of range.

This is an IMDll utility function error. Verify that the index is within range.

UtilInitFailed

325

0x145

Function initialization failed.

This is an IMDll utility function error. Check for any causes for initalization failure.

UtilLockFailed

326

0x146

Failed to get lock.

This is an IMDll utility function error. Check for any causes for failing to obtain lock.

UtilQueueFull

327

0x147

Queue is full.

This is an IMDll utility function error. Call the function after the queue is not full.

UtilQueueEmpty

328

0x148

Queue is empty.

This is an IMDll utility function error. Call the function after the queue is not empty.

UtilBufferSizeNotEnough

329

0x149

Buffer size is not enough.

This is an IMDll utility function error. Pass a buffer of adequate size.

WaitForDeviceEventTimeout

330

0x14A

Wait for device event timeout.

This is one of the normal return values for WaitForDeviceWaitEvent.

DeviceEventProcessFailed

331

0x14B

Process device wait event failed.

This is one of the return values for WaitForDeviceWaitEvent.

ImCommandNotMatched

332

0x14C

IM commands and response are not matched.

Verify the consistency in the version number of all components.

ApiLogCreateQueueFailed

333

0x14D

Failed to create queue for API Log.

ApiLogIsNotSet

334

0x14E

API Log is not set yet.

ApiLogIsRunning

335

0x14F

API Log is still running.

ApiLogIsNotRunning

336

0x150

API Log is not running.

ApiLogQueueError

337

0x151

API Log queue error.

ApiLogOpenFileFailed

338

0x152

Failed open file for API Log.

ApiLogWriteFileFailed

339

0x153

Failed write file for API Log.

ApiLogReadFileFailed

340

0x154

Failed read file for API Log.

ApiLogFolderNotExist

341

0x155

API Log folder doesn’t exist.

ApiLogGetStatusError

342

0x156

Get API Log status error.

SystemError

1280

0x500

System error.

Reserved.

SystemIsNoRunning

1281

0x501

System is not running.

Verify that the correct version of the libraries and engine are used, and that the engine is configured correctly. Then, restart the engine.

SystemInitializationNotDone

1282

0x502

Device is created successfully but initialization of system is not done in specified time.

This error is returned if the initialization of the system could not be completed in the specified time. This error can be avoided by specifying a longer time out period.

EngineNotStartedInSpecifiedTime

1283

0x503

Engine is not started in specified time.

This error is returned if the engine could not be started in the specified time. This error can be avoided by specifying a longer time out period.

EngineNotStoppedInSpecifiedTime

1284

0x504

Engine is not stopped in specified time.

This error is returned if the engine could not be stopped in the specified time. This error can be avoided by specifying a longer time out period.

CommNotStartedInSpecifiedTime

1285

0x505

Communication is not started in specified time.

This error is returned if the communication with the network could not be started in the specified time. This error can be avoided by specifying a longer time out period.

CommNotStoppedInSpecifiedTime

1286

0x506

Communication is not stopped in specified time.

This error is returned if the communication with the network could not be stopped in the specified time. This error can be avoided by specifying a longer time out period.

ModuleIsNotLoaded

1287

0x507

Module is not loaded.

Verify that the engine is configured to load the specified module.

StartCommunicationError

1288

0x508

Start communication failed. Please check the connection of the slave.

Verify that the cables between the hardware on the network and the PC are securely attached. Verify that the network hardware of the PC is properly installed and configured as described by the setup manuals. Verify that the correct drivers are used. Verify that the RtxTcipIp.ini network settings are correct. Verify that the slave configuration files for each hardware in the network are placed in the appropriate folder. Verify that the correct version of the libraries and engine are used. Check the Rtx Server Console for any errors.

DeviceIsNotInUse

1289

0x509

Specified device is not in use.

Reserved.

SetDeviceEventFailed

1290

0x50A

Failed to set device wait event.

Reserved.

ResetDeviceEventFailed

1291

0x50B

Failed to reset device wait event.

Reserved.

WaitForDeviceEventFailed

1292

0x50C

Failed to wait device event.

Reserved.

Reserved

1536

0x600

Reserved.

Reserved.

CommNotStarted

1537

0x601

Communication is not started.

Call the function while the communication is established.

CommNotStopped

1538

0x602

Communication is not stopped.

Call the function while the communication is stopped.

VersionCheckError

1539

0x603

Version check error (incompatible version).

The file is incompatible with this version of the engine. Generate the file using a compatible version.

CallbackFuncError

1540

0x604

Callback function error.

Reserved.

CallbackFuncTimeOut

1541

0x605

Callback function timed out.

Reserved.

CallbackFuncInvalidState

1542

0x606

Callback function state invalid.

Reserved.

CallbackFuncInvalidMode

1543

0x607

Callback function mode invalid.

Reserved.

MissingRequiredRtdll

1544

0x608

One or more required RTDLLs are missing.

Verify that all module RTDLLs that the engine is configured to run are in the appropriate directories.

BusyReceivingAnotherAPICommand

1545

0x609

Failed to execute API in time due to the engine executing other APIs.

Verify that the commanded axes are not receiving a motion command from another thread at the exact same timing.

NotIdleState

1546

0x60A

One or more axes are not in Idle operation state.

Verify that the OperationStates of the commanded axes are Idle.

AxisOutOfRange

1547

0x60B

Axis is out of range.

Verify that the commanded axes are between 0 and maxAxes-1.

AxisCountOutOfRange

1548

0x60C

Axis count is out of range.

Verify that the axis count is within range.

DuplicateAxis

1549

0x60D

Same axis specified more than once.

Verify that the same axis is not specified more than once among the commanded axes.

IOAddressOutOfRange

1550

0x60E

I/O address is out of range.

Verify that the I/O address is within range.

IOSizeOutOfRange

1551

0x60F

I/O size is out of range.

Verify that the I/O size is within range.

ChannelOutOfRange

1552

0x610

Channel is out of range.

Verify that the channel number is within the valid range for the function.

ChannelUninitialized

1553

0x611

Channel has not been initialized.

Verify that the channel has been initialized.

ChannelInUse

1554

0x612

Channel is already in use.

Verify that the channel is not in use.

ArgumentOutOfRange

1555

0x613

One or more arguments out of range.

Verify that the specified arguments are not out of range.

ArgumentIsNull

1556

0x614

One or more arguments are null.

Verify that the specified arguments are not null (unless they are optional arguments).

PrevSettingsBeingApplied

1557

0x615

Previous setting changes are still being applied. Wait one communication cycle before changing the settings again.

Wait for one or more communication cycles and call the function again.

ParamOutOfRange

1558

0x616

One or more parameters out of range.

Verify that the specified parameters are within the valid range.

IDOutOfRange

1559

0x617

ID is out of range.

Verify that the ID is within the valid range as defined by the function specifications.

IDNotDefined

1560

0x618

ID is not defined.

Verify that the specified ID is defined.

ResourceInUse

1561

0x619

Timed out while trying to obtain resource. Another API may be accessing the required resources.

Wait for one or more communication cycles and call the function again.

FileOperationFailed

1562

0x61A

File operation failed.

Verify that the file can be accessed with the permissions that the application is running under.

StartingPreviousCommand

1563

0x61B

The axis is still starting the previous command. Wait until the next communication cycle.

Wait for one or more communication cycles and call the function again.

StringConversionError

1564

0x61C

Error converting string types.

Verify that the string does not contain any abnormal characters.

NoMotion

1565

0x61D

No motion occurs as a result of this command.

Verify that the motion distance is above the minimum value. Note that most functions will not return this error when the commanded travel distance is below the minimum, and instead return ErrorCode::None without moving the axis.

ServoOffline

1566

0x61E

The servos of one or more commanded axes are offline.

Verify that the servos of the commanded axes are not offline. Some functions return this error when the servo goes offline while processing the function.

ServoOff

1567

0x61F

The servos of one or more commanded axes are off.

Verify that the servos of the commanded axes are not off. Some functions return this error when the servo is turned off while processing the function.

AxisAmpAlarm

1568

0x620

Amplifier alarm detected in the servos of one or more commanded axes.

This error is returned when an amplifier alarm is detected while processing the function.

AxisSoftLimit

1569

0x621

Software limit detected in one or more commanded axes.

This error is returned when a software limit is reached while processing the function.

AxisNearLimit

1570

0x622

Near limit detected in one or more commanded axes.

This error is returned when a near limit switch is triggered while processing the function.

AxisExternalLimit

1571

0x623

External limit detected in one or more commanded axes.

This error is returned when an external limit switch is triggered while processing the function.

AxisHardLimit

1572

0x624

Hardware limit detected in one or more commanded axes.

This error is returned when a hardware limit switch is triggered while processing the function.

UserMemoryAddressOutOfRange

1573

0x625

User memory address is out of range.

Verify that the user memory address is within range.

UserMemorySizeOutOfRange

1574

0x626

User memory size is out of range.

Verify that the user memory size is within range.

InvalidCommandProcessingMode

1575

0x627

The current command processing mode does not support this function.

Verify that the current command processing mode supports the function. The command processing mode is changed while recording functions to the API buffer.

InterruptMismatch

1576

0x628

The commanded axes have mismatched interrupts.

Verify that the commanded axes are controlled by the same interrupt.

ErrorCodeNotDefined

1577

0x629

Error code is not defined in this library.

Verify that the library and module RTDLL versions match, then recompile the user application and restart the engine.

BufferTooSmall

1578

0x62A

The buffer is too small for the specified size.

Provide a larger buffer.

RequestedBufferTooLarge

1579

0x62B

The requested buffer size is too large.

Specify a smaller buffer size.

RequestedBufferTooSmall

1580

0x62C

The requested buffer size is too small.

Specify a larger buffer size.

ModuleIDOutOfRange

1581

0x62D

Module ID is out of range.

Verify that the specified module ID is within range.

UpdatesListUninitialized

1582

0x62E

Updates list file is not initialized.

This error is returned by the CompareWindowsUpdates function when it is unable to find a updates list file. Updates list files can be generated with the RecordWindowsUpdates function.

UpdatesListDoesNotMatchInstalledUpdates

1583

0x62F

Updates list file does not match currently installed updates.

This error is returned by the CompareWindowsUpdates function to notify the user that a change in the installed Windows Updates was detected.

UpdatesListTimeout

1584

0x630

Timed out while processing updates list.

Specify a longer time out period. Depending on the environment, it may take several seconds to obtain the list of installed Windows Updates.

ChannelCountOutOfRange

1585

0x631

Channel count is out of range.

Verify that the channel count is within range.

UnknownError

1586

0x632

Unknown error.

Verify that the library and module RTDLL versions match, then recompile the user application and restart the engine.