Back to CNC Alarms Guide

Fanuc PS0074 alarm: Illegal program number

The O number being used to register or call a program is not permitted: it is outside the allowed range, it has a format the control does not accept, or it falls inside a range protected by parameters. It is a naming problem, not a content problem: the program can be perfect and still not be storable under that number.

For reference only: alarms change with the manufacturer, the control and the machine PLC. Check the full code in the official manual before doing anything. Legal notice.

Control
Fanuc
Machine
Milling, Turning, Mill-turn
Area
Program
Severity
Stop

Symptoms

  • Failure to register or call program.
  • Appears with M98 P or G65 P.
  • Occurs after manual editing or DNC loading.

Common causes

  • Number out of range 1-9999.
  • Non-numeric characters.
  • Restrictive 3107/3108 parameters.
  • 8-digit mode not enabled.

First safe checks

  1. 01Verify program O number.
  2. 02Review parameters 3107/3108.
  3. 03Confirm correct O____ format.

What not to do

  • Do not modify parameters 3107/3108 without backup.
  • Do not renumber programs used by production without traceability.

When to call maintenance:

If range parameters have been changed without documentation or many programs stop loading.

Reset/rearm:

Reset after correcting number or adjusting documented parameters.

Official documentation

Choose the manual matching your control series, software version and machine builder. A support portal is a starting point; it does not establish applicability to every model.

What happens on the machine

The control identifies each program by a number, and that number has rules. First, a general permitted range, which on most series is four digits, with options allowing more on modern controls. Second, and this is what surprises people, there are program protection parameters that reserve a range of numbers for the machine builder's programs: inside that range, programs can be protected against editing, against display or against deletion, and on many machines the range is also locked so nobody can register a program of their own there. Those protected ranges are where the machine's own macros and cycles live, and they are protected precisely so an operator does not overwrite them without realising. When you try to register a program with a number that falls in a reserved range, or outside the valid range, or with characters that are not digits, the control simply rejects it. The practical difficulty appears when somebody changed those protection parameters without documenting it, because then numbers that had been used for years suddenly stop being accepted and the symptom looks like a fault when it is a changed configuration.

Step-by-step diagnosis

In order, from the fastest and cheapest check to the most expensive.

  1. 01Read the exact number being used

    With its digits and its zeros. Check it has no letters, spaces or odd characters and that the line starts properly with the program letter. A typing mistake while registering is the simplest explanation and has to be ruled out first.

  2. 02Check it is inside the machine's general range

    Look up in your series' manual how many digits the program number accepts and whether the long program number option is installed. If the program came from another machine with longer numbers, it will not go in here as it is and it has to be renumbered, updating every call that references it as well.

  3. 03Find out whether the number falls in a protected range

    The parameters that define the builder's protected program range exist on practically every series, although their specific number and behaviour change; look them up in your control's parameter manual as program protection. If your number falls inside, choose another one outside that range: that is the correct move, not unprotecting the range.

  4. 04Check whether the number is already in use

    List the directory and look for the number. If it already exists, depending on how the machine is configured, the registration attempt may be rejected rather than asking whether to overwrite. Choose another number or deliberately delete the old one, after checking it is backed up.

  5. 05If it stopped working suddenly, suspect a parameter change

    If numbers that had always been used are no longer accepted, somebody has touched the program protection or a different backup was restored. Confirm it by comparing the parameters against the machine's good copy. The correction is made by maintenance with a backup taken first, not by adjusting by eye.

  6. 06Renumber deliberately, not in desperation

    If the number has to change, change it in every call, on the setup sheet and in the server copy, and do it all at once. A half-renumbered program produces the subprogram not found alarm next week, and then it costs twice as much to work out what happened.

Typical cases

It only fails with programs brought in from another machine or another shop.

A different numbering scheme, with more digits or inside a range that is reserved here. Confirm it by comparing against your own numbering. It is solved by renumbering methodically and updating every call.

Numbers that were used routinely stopped being accepted from one day to the next.

A change in the program protection parameters, often after an intervention or a restore. Confirm it against the backup. Maintenance corrects it, documenting the change.

The control accepts the program but will not let you edit or delete it afterwards.

The number falls in the builder's protected range and has ended up protected. It is confirmed because the lock affects numbers in that range and not others. The right move is to move the program to a number outside the reserved range.

How to stop it coming back

A written numbering convention for the shop, explicitly reserving the builder's range and assigning blocks for production, common subprograms and tests, the same on every machine where possible. That convention posted next to each control. A parameter backup so protection changes can be spotted. Update the number on the setup sheet and on the server every time something is renumbered. And never use the builder's range for your own programs, however tempting it is because it looks free.

Frequently Asked Questions (FAQ)

What does alarm PS0074 mean on Fanuc?

Fanuc rejects a program whose number (O....) is outside the range allowed by parameters 3107/3108. It is an alarm from the Program area, and in the catalog it is listed as “Illegal program number”. On the machine you notice it like this: Failure to register or call program, Appears with M98 P or G65 P, Occurs after manual editing or DNC loading.

Why does alarm PS0074 come up?

On the shop floor it almost always comes from one of these causes: Number out of range 1-9999, Non-numeric characters, Restrictive 3107/3108 parameters, 8-digit mode not enabled. Rule out the most likely one on your machine first, before touching parameters or swapping anything.

How do you clear alarm PS0074?

Reset after correcting number or adjusting documented parameters. Resetting without fixing the cause first only hides the problem: PS0074 trips again and, in the meantime, you keep working with the machine in bad shape.

What should I check first with alarm PS0074?

With the machine stopped and in a safe state, start with these checks: Verify program O number, Review parameters 3107/3108, Confirm correct O____ format. That alone will tell you whether it is the program or whether you need to raise a maintenance job.

What should I NOT do with alarm PS0074?

With PS0074 active, avoid this: Do not modify parameters 3107/3108 without backup, Do not renumber programs used by production without traceability. Skipping any of these points is what turns a minor stop into an expensive breakdown.

When do I have to call maintenance for alarm PS0074?

If range parameters have been changed without documentation or many programs stop loading. If you are not sure how far it goes, stop the machine and report it: a repeat alarm always works out cheaper than a crash.

How serious is alarm PS0074?

It is a stop alarm: the cycle will not continue until you fix the cause. It does not always mean serious damage, but it leaves the machine where it is and you have to check it before running again. Guidance reference. Always confirm the full text in the exact machine/control manual.

More alarms for Fanuc

See all alarms for this brand

Related tools