HAAS® Alarm 517 — EXPRESSION NOT ALLOWED WITH N OR O
Part of: our HAAS® alarm reference · covering 60 of the most common alarms.
What it means
You've used a macro expression where the control expects only a literal block number (N) or program number (O).
Common causes
- Macro tried to compute an N or O value — these must be hard-coded numbers
What to check first
- Edit the program: replace the expression with a literal number
Prevention
Programming alarms are best prevented at the post-processor and verification stages. Always verify a new program in single-block mode with rapid override at 5–10% before committing to a full run. Keep a small library of tested macros rather than rewriting logic each job — and comment your variables clearly so the next person (or future-you) can read them.
If you’re still stuck
If you’ve worked through the checks above and the alarm hasn’t cleared — or if it cleared and came back — that’s the point to call. Persistent alarms after a reset usually mean a real component fault, and pushing through them risks turning a simple repair into a bigger one. Keith covers HAAS® breakdowns across the UK with same-day phone diagnosis.
A note on this guide. Alarm wording and numbering can vary by HAAS® machine model and software revision. The descriptions here are written in plain English to help you understand what the machine is reporting and what to check first — they’re not a substitute for the official HAAS® operator manual or for a qualified service engineer’s diagnosis. Always confirm the exact alarm message on your screen and consult your machine’s documentation before attempting any repair.