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 |
|---|---|---|---|---|
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. |
|
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. |
|
258 |
0x102 |
Maximum number of processes started. |
Verify that the WMX3 engine process is not already running. |
|
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. |
|
260 |
0x104 |
Failed to create start process wait event. |
Verify that RTX is properly installed, licensed, and running (if using the RTX operating system). |
|
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. |
|
262 |
0x106 |
Memory allocation failed. |
Verify that there is enough memory available. |
|
263 |
0x107 |
IM library resources are not operating. |
Verify that the WMX3 engine has not closed. |
|
264 |
0x108 |
Failed to acquire lock on control channel. |
Verify that RTX is properly installed, licensed, and running (if using the RTX operating system). |
|
265 |
0x109 |
Failed to operate event on control channel. |
Verify that RTX is properly installed, licensed, and running (if using the RTX operating system). |
|
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). |
|
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). |
|
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. |
|
269 |
0x10D |
API execution channel error. |
Verify that a device has been opened. Verify that the API function arguments are not abnormal. |
|
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. |
|
271 |
0x10F |
Status memory channel error. |
Verify that the WMX3 engine is running. |
|
272 |
0x110 |
RTSS file not found. |
Verify that the RTSS file exists. |
|
273 |
0x111 |
Failed to start RTSS. |
Verify that a valid RTSS file is specified. |
|
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) . |
|
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). |
|
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. |
|
277 |
0x115 |
New channel request failed. |
Verify that the WMX3 engine is running. Verify that there is enough memory available to open the channel. |
|
278 |
0x116 |
Maximum number of channels reached. |
Verify that the maximum number of devices have not been created. |
|
279 |
0x117 |
Free channel request failed. |
Verify that the WMX3 engine is running. |
|
280 |
0x118 |
Channel ID is invalid. |
Verify that the channel ID is valid. |
|
281 |
0x119 |
Close device failed. |
Verify that the WMX3 engine is running. |
|
282 |
0x11A |
Status channel is null. |
Verify that the status channel has been opened. |
|
283 |
0x11B |
Status channel ID is invalid. |
Verify that the status channel ID is not greater than the maximum. |
|
284 |
0x11C |
Status channel index is invalid. |
Verify that the status channel parameters are valid. |
|
285 |
0x11D |
Status channel is still reading initial data. Wait a few milliseconds. |
Attempt the operation again after waiting for a few milliseconds. |
|
286 |
0x11E |
New queue request failed. |
Verify that there is enough memory available to open the queue. |
|
287 |
0x11F |
Queue ID is invalid. |
Verify that the queue ID is within the valid range. |
|
288 |
0x120 |
Queue size is invalid. |
Verify that the queue size is within the valid range. |
|
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. |
|
290 |
0x122 |
Queue is invalid. |
Check for operations that may cause the queue to be in an invalid state. |
|
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. |
|
292 |
0x124 |
Invalid queue control command. |
Verify that the WMX3 engine version is correct. Verify that any specified queue control commands are valid. |
|
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. |
|
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. |
|
295 |
0x127 |
Failed to free queue. |
Verify that the queue is in a state that can be freed. |
|
296 |
0x128 |
Queue ID is already used. |
Verify that the queue ID is not one that is already in use. |
|
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. |
|
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. |
|
299 |
0x12B |
Set device name operation timed out. |
Reserved. |
|
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. |
|
301 |
0x12D |
Device is null (device must be created). |
Verify that the device has been created with the CreateDevice function. |
|
302 |
0x12E |
Module ID is invalid. |
Verify that the module ID is within the valid range. |
|
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. |
|
304 |
0x130 |
Function is not supported (function is not found). |
Verify that the versions of the library and modules match. |
|
305 |
0x131 |
Invalid queue ID for command. |
Verify that the queue ID is within the valid range. |
|
306 |
0x132 |
Failed to add command to queue. |
Verify that the queue is in a valid state. |
|
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. |
|
308 |
0x134 |
Add command to queue timed out. |
Verify that multiple commands are not added to the queue at the same time. |
|
309 |
0x135 |
IM Library version does not match. |
Verify that the WMX3 engine and the IMDLL versions match. |
|
310 |
0x136 |
API Library version does not match rtdll version. |
Verify that the module library and module RTDLL versions match. |
|
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. |
|
312 |
0x138 |
Failed to generate command ID. |
Verify that the function argument to return the command ID is not null. |
|
313 |
0x139 |
Callback function malloc failed. |
This is an IMDll callback function error. Call the function again, restart the engine, or restart the PC. |
|
314 |
0x13A |
Callback function thread is null. |
Reserved. |
|
315 |
0x13B |
Callback function thread error. |
This is an IMDll callback function error. Verify that the callback function parameters are valid. |
|
316 |
0x13C |
Callback function thread timed out. |
Reserved. |
|
317 |
0x13D |
Null parameter encountered during IM library operation. |
Verify that non-null parameters are being passed to the IMDll function. |
|
318 |
0x13E |
Invalid parameter encountered during IM library operation. |
Verify that valid parameters are being passed to the IMDll function. |
|
319 |
0x13F |
Error code that conflicts with another error code was returned. |
Verify that all loaded modules and the IMDll have compatible versions. |
|
320 |
0x140 |
Data channel size is too small. |
This is an IMDll utility function error. Specify a larger data channel size. |
|
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. |
|
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. |
|
323 |
0x143 |
Maximum data channel size reached. |
This is an IMDll utility function error. Verify that the maximum data channel size is not reached. |
|
324 |
0x144 |
Index is out of range. |
This is an IMDll utility function error. Verify that the index is within range. |
|
325 |
0x145 |
Function initialization failed. |
This is an IMDll utility function error. Check for any causes for initalization failure. |
|
326 |
0x146 |
Failed to get lock. |
This is an IMDll utility function error. Check for any causes for failing to obtain lock. |
|
327 |
0x147 |
Queue is full. |
This is an IMDll utility function error. Call the function after the queue is not full. |
|
328 |
0x148 |
Queue is empty. |
This is an IMDll utility function error. Call the function after the queue is not empty. |
|
329 |
0x149 |
Buffer size is not enough. |
This is an IMDll utility function error. Pass a buffer of adequate size. |
|
330 |
0x14A |
Wait for device event timeout. |
This is one of the normal return values for WaitForDeviceWaitEvent. |
|
331 |
0x14B |
Process device wait event failed. |
This is one of the return values for WaitForDeviceWaitEvent. |
|
332 |
0x14C |
IM commands and response are not matched. |
Verify the consistency in the version number of all components. |
|
333 |
0x14D |
Failed to create queue for API Log. |
||
334 |
0x14E |
API Log is not set yet. |
||
335 |
0x14F |
API Log is still running. |
||
336 |
0x150 |
API Log is not running. |
||
337 |
0x151 |
API Log queue error. |
||
338 |
0x152 |
Failed open file for API Log. |
||
339 |
0x153 |
Failed write file for API Log. |
||
340 |
0x154 |
Failed read file for API Log. |
||
341 |
0x155 |
API Log folder doesn’t exist. |
||
342 |
0x156 |
Get API Log status error. |
||
1280 |
0x500 |
System error. |
Reserved. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
1287 |
0x507 |
Module is not loaded. |
Verify that the engine is configured to load the specified module. |
|
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. |
|
1289 |
0x509 |
Specified device is not in use. |
Reserved. |
|
1290 |
0x50A |
Failed to set device wait event. |
Reserved. |
|
1291 |
0x50B |
Failed to reset device wait event. |
Reserved. |
|
1292 |
0x50C |
Failed to wait device event. |
Reserved. |
|
1536 |
0x600 |
Reserved. |
Reserved. |
|
1537 |
0x601 |
Communication is not started. |
Call the function while the communication is established. |
|
1538 |
0x602 |
Communication is not stopped. |
Call the function while the communication is stopped. |
|
1539 |
0x603 |
Version check error (incompatible version). |
The file is incompatible with this version of the engine. Generate the file using a compatible version. |
|
1540 |
0x604 |
Callback function error. |
Reserved. |
|
1541 |
0x605 |
Callback function timed out. |
Reserved. |
|
1542 |
0x606 |
Callback function state invalid. |
Reserved. |
|
1543 |
0x607 |
Callback function mode invalid. |
Reserved. |
|
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. |
|
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. |
|
1546 |
0x60A |
One or more axes are not in Idle operation state. |
Verify that the OperationStates of the commanded axes are Idle. |
|
1547 |
0x60B |
Axis is out of range. |
Verify that the commanded axes are between 0 and maxAxes-1. |
|
1548 |
0x60C |
Axis count is out of range. |
Verify that the axis count is within range. |
|
1549 |
0x60D |
Same axis specified more than once. |
Verify that the same axis is not specified more than once among the commanded axes. |
|
1550 |
0x60E |
I/O address is out of range. |
Verify that the I/O address is within range. |
|
1551 |
0x60F |
I/O size is out of range. |
Verify that the I/O size is within range. |
|
1552 |
0x610 |
Channel is out of range. |
Verify that the channel number is within the valid range for the function. |
|
1553 |
0x611 |
Channel has not been initialized. |
Verify that the channel has been initialized. |
|
1554 |
0x612 |
Channel is already in use. |
Verify that the channel is not in use. |
|
1555 |
0x613 |
One or more arguments out of range. |
Verify that the specified arguments are not out of range. |
|
1556 |
0x614 |
One or more arguments are null. |
Verify that the specified arguments are not null (unless they are optional arguments). |
|
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. |
|
1558 |
0x616 |
One or more parameters out of range. |
Verify that the specified parameters are within the valid range. |
|
1559 |
0x617 |
ID is out of range. |
Verify that the ID is within the valid range as defined by the function specifications. |
|
1560 |
0x618 |
ID is not defined. |
Verify that the specified ID is defined. |
|
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. |
|
1562 |
0x61A |
File operation failed. |
Verify that the file can be accessed with the permissions that the application is running under. |
|
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. |
|
1564 |
0x61C |
Error converting string types. |
Verify that the string does not contain any abnormal characters. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
1573 |
0x625 |
User memory address is out of range. |
Verify that the user memory address is within range. |
|
1574 |
0x626 |
User memory size is out of range. |
Verify that the user memory size is within range. |
|
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. |
|
1576 |
0x628 |
The commanded axes have mismatched interrupts. |
Verify that the commanded axes are controlled by the same interrupt. |
|
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. |
|
1578 |
0x62A |
The buffer is too small for the specified size. |
Provide a larger buffer. |
|
1579 |
0x62B |
The requested buffer size is too large. |
Specify a smaller buffer size. |
|
1580 |
0x62C |
The requested buffer size is too small. |
Specify a larger buffer size. |
|
1581 |
0x62D |
Module ID is out of range. |
Verify that the specified module ID is within range. |
|
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. |
|
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. |
|
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. |
|
1585 |
0x631 |
Channel count is out of range. |
Verify that the channel count is within range. |
|
1586 |
0x632 |
Unknown error. |
Verify that the library and module RTDLL versions match, then recompile the user application and restart the engine. |