index
title: Error codes description: Each entry: symptom, cause, what to do. Every error message in the software deep-links here. order: 1
Every error the software raises carries a code and a link straight to its section here. No message ever says "operation failed" — an error with no action in it is not an error message.
E1xxx Licensing and activation
E1001 Malformed licence key
Symptom: rejected in the dialog, before any request goes out.
Cause: transcription. Keys contain no I, L, O or U; the lookalikes are digits 1 and 0.
Fix: copy from the purchase email or your account.
E1002 Licence not found
Cause: well-formed key, no such record — usually a key bought on the other regional site (China and international accounts are independent).
Fix: sign in to the site you bought from.
E1003 Licence revoked
Cause: the order was refunded, or an administrator revoked it.
Fix: if that looks wrong, contact us with the order number.
E1004 All seats in use
Symptom: "3/3 in use" at activation.
Fix: Account → Licences → deactivate a machine you no longer use. The seat frees immediately.
E1005 Offline activation code expired
Cause: codes are valid 30 days from issue.
Fix: generate a new one.
E1006 Offline code does not match this machine
Cause: codes are bound to a machine code. A different machine — or the same machine after a hardware change — will not match.
Fix: generate a code for the new machine code. If it is the same machine with a new disk, deactivate the old machine code first.
E1010 Online check failed, running in the grace period
Symptom: a yellow status hint; the software keeps working.
Cause: no network, or our service is temporarily unavailable.
Fix: nothing to do. Nothing is restricted during the grace period (7–30 days) and normal service resumes on reconnect. You get three days' warning before the period ends.
E2xxx Devices and motion
E2101 Target outside travel
Fix: check the target and travelMm in the machine configuration. The soft limit is a
protection; do not disable it.
E2102 Axis not homed
Cause: the machine frame only exists after homing.
Fix: home first. Automated sequences should check "homed" as a precondition.
E2103 Motion timeout
Cause: the target is unreachable — usually a hard limit or a jam.
Fix: look for an E2104 just before it in the alarm history.
E2104 Hard limit hit
Fix: jog off the switch in manual mode, clear the alarm, re-home.
E2110 Emergency stop active
Fix: release the button, clear the alarm, re-home. Deceleration during an e-stop can lose steps, so homing afterwards is mandatory.
E2201 Camera not connected
Fix: Devices → Virtual devices → Reconnect. On real hardware, check cabling and that the
camera IP is on the right subnet.
E2202 Grab timeout
Cause: exposure longer than the timeout, or no trigger arrived.
Fix: check exposure time and trigger mode.
E3xxx Calibration
E3001 A required calibration has not been completed
Symptom: stopped at prepare.
Cause: e.g. running pixel size before intrinsics.
Fix: follow the order in Calibration chains.
E3002 Too few features detected
Cause: the target is not fully in view, or contrast is too low.
Fix: reposition so at least nine complete circles are visible; check for overexposure, which destroys the edge gradient and breaks centre extraction.
E3003 Solve did not converge
Cause: poses clustered too tightly, or outliers in the data.
Fix: widen the acquisition span — far more effective than adding poses, see Noise.
E3004 Verify out of tolerance
Symptom: the run completes and is marked FAIL.
This is not a software fault; the calibration is not good enough. Check in this order:
- are all dependencies done and still valid;
- is the acquisition span wide enough;
- were poses approached from one direction only (hiding backlash);
- is the target's nominal dimension entered correctly;
- is the tolerance realistic at all — see the error budget in Ground truth and tolerances.
E3005 Could not write the calibration result
Cause: no write permission on %ProgramData%\PreciSim.
Fix: see the FAQ.
E4xxx Integration
E4001 Invalid vmc.dll handle
Cause: vmc_open returned NULL and was used anyway, or the handle was already closed.
E4002 Buffer too small
Fix: allocate stride × height as reported by vmc_cam_grab.
E4010 Modbus port in use
Fix: port 502 is often taken; use another, such as 5020.
Reporting something not listed here
Send three things: the error code, the software version (Help → About), and the newest log file
from %ProgramData%\PreciSim\logs\. Logs contain no licence key or machine code in clear text,
so they are safe to send as-is.