FANUC Digital I/O Rack and Slot Configuration: Why DI[1] Won't Toggle and How to Map It Right

Error code: PRIO-081  ·  Category: Communication  ·  Controllers: LR Mate 200iD, LR Mate 200iB, R-30iB, R-30iB Plus, R-J3iB, CRX-10iA

You wired the sensor to the right terminal, the controller is powered up, and DI[1] in the I/O monitor stubbornly refuses to change state. Or your TP program writes DO[3] = ON and nothing happens at the physical output. The classic instinct is to suspect the sensor or the wire. Nine times out of ten on FANUC, the wiring is fine and the rack/slot/start mapping is wrong. At Probot Systems, we see this on every commissioning job, especially on LR Mate 200iD cells where the operator expects a “plug and play” experience.

This post is written for integrators and maintenance technicians configuring digital I/O on R-30iB and R-30iB Plus controllers, as well as LR Mate 200iD robots, LR Mate 200iB robots on R-J3iB controllers, and CRX-10iA cobots, which use the same I/O architecture with different I/O cards. The same rules apply across the family.

How FANUC digital I/O mapping actually works

FANUC does not automatically assign physical inputs to logical DI numbers. Every DI/DO range has to be told three things: which rack the physical I/O is on, which slot inside that rack, and which start bit inside that slot. Until those three numbers match the hardware, the logical and physical sides are disconnected, even though the controller will happily let you write programs against logical DI/DO.

The standard racks on a FANUC controller are:

  • Rack 0 = the process I/O board in the main cabinet (A-cabinet / B-cabinet controllers)
  • Rack 48 = the built-in I/O of Mate cabinets (CRMA15/CRMA16 connectors on R-30iA Mate, R-30iB Mate and R-30iB Plus Mate)
  • Rack 89 = EtherNet/IP adapter connections; other fieldbuses (PROFINET, DeviceNet) use their own rack numbers, set by the option

The exact rack number for your hardware is shown on MENU > I/O > Link Device. The configuration screen is MENU > I/O > Digital > F2 CONFIG.

The official FANUC alarm code manual entry for PRIO-081 reads: “This indicates that a severe error has occurred during I/O initialization at controller power-up. Other messages in the log will indicate the specific problems. Remedy: Check other error messages displayed on the TP alarm screen. The conditions indicated by these messages need to be corrected and the controller powered down and up before the robot can be used.” In other words, PRIO-081 is not the diagnosis; it is the symptom that the entire I/O subsystem failed to initialize. The real fault is on a different line of the same log.

Most common causes, in order of probability

  1. Wrong rack/slot/start in the digital I/O config. By far the most common cause. Someone copied and pasted a mapping from another cell that used different hardware. The DO question Reddit thread is a good example of an operator chasing a non-toggling output because the start bit was off by one.
  2. No cold start after a config change. Changing the digital I/O config and pressing OK is not enough. FANUC only re-reads the I/O map on a cold start. Many integrators have spent hours wondering why their new config “didn’t take” before remembering this.
  3. Grouped I/O overlapping individual bits. GI[1] declared as 16 bits starting at DI[1] will overwrite anything you do with DI[1] through DI[16] individually. The IO M[ ] instruction thread shows a related pattern with M[ ] instructions, where DI[1] AND DI[2] interact with grouped logic.
  4. Wire on the wrong terminal. Less common than you might expect, because the physical hardware is well labelled, but plant electricians who are new to FANUC sometimes wire to the closest accessible terminal block rather than the right one. The FANUC LR MATE 200iD 7L Digital I/O thread describes a 200iD case where outputs toggled from the TP but not from the program, which on closer inspection turned out to be a mapping issue, not a wiring issue.
  5. PRIO-032 Too many Digital I/O modules. A real fault on cells where someone added physical I/O without updating the I/O config to allocate slots. The FANUC SR-12iA Fault PRIO-032 Too many DIGITAL I/O modules thread is the textbook case.

How to set this up correctly

Step 1. Identify the physical I/O hardware. Is it the controller’s internal I/O? An EtherNet/IP I/O block (Beckhoff, Wago, Turck)? A Model A discrete I/O panel? Open the cabinet and read the labels.

Step 2. On the FANUC, go to MENU > I/O > Link Device. This screen tells you which rack number maps to which physical I/O. Write down the rack number for the hardware you wired to.

Step 3. Go to MENU > I/O > Digital > F2 CONFIG. The screen lists DI/DO ranges. Each range has Rack, Slot, and Start fields. Set them to match the hardware:

  • Rack: the number from Step 2
  • Slot: usually 1 for internal I/O, or matches the card order on a Model A panel
  • Start: the first point of the range inside the slot (1 for the first input)

Step 4. Turn the controller off and back on (a cold start). Any change to the I/O assignment only takes effect after the power cycle. The I/O Configuration fanuc robot and Omron PLC thread explicitly walks through this menu path for a non-FANUC PLC, and the cold start requirement applies the same way.

Step 5. Test physical-to-logical correspondence. Apply 24V to the physical input and watch DI[1] go true in MENU > I/O > Digital > IN/OUT. Remove power and watch it go false. If the behaviour is reversed, the input is wired N.C. when it should be N.O., or vice versa.

Step 6. Repeat for outputs. Force DO[1] true from the I/O monitor and measure 24V at the physical terminal. If DO[1] is forced true and the physical terminal is dead, the slot/start mapping is still wrong.

How to fix common scenarios

DI[1] does not toggle. Recheck the rack/slot/start mapping. DI[1] is probably mapped to the first point of slot 1 on rack 0 (the default), but on a Mate cabinet the hardware is on rack 48 (CRMA15/CRMA16). Change the config, cold start, and retest.

DO[3] writes but nothing happens at the terminal. Same mapping question, and also check the output card’s fuse. Some FANUC output cards have a tiny replaceable fuse for each group of 8 outputs.

Grouped I/O misbehaving. Audit your GI/GO ranges against your DI/DO usage. If GI[1] is declared as 16 bits starting at DI[1], then DI[1] through DI[16] are part of the group and writing them individually creates a conflict. Either move the group to a clean range, or stop using the individual bits.

Outputs work from the TP but not from the program. This is the scenario from the LR MATE 200iD 7L Digital I/O thread. Usually the program references a different DO range than the one you mapped, or there is a force/lock on the DO. Check the status under MENU > I/O > Digital > F4 SIMULATE.

PRIO-081 at power-up. Look at the alarm log line immediately before PRIO-081. That line tells you which device failed to initialize (often an EIP connection that did not come up at boot, or a missing option file).

PRIO-032 at power-up. You exceeded the configured slot allocation. Either add slots in MENU > I/O > Digital > F2 CONFIG or remove hardware.

When to call a specialist

If you have re-mapped, cold started twice, and the I/O still does not match physical reality, the next layer is the option file. The FANUC option file declares which I/O hardware the controller is licensed for. If you added an EIP card to a controller without the EIP option, no amount of menu configuration will make it work. That is a controlled start and software load conversation, not a menu fix.

Brownfield retrofits where FANUC is integrated with a non-FANUC PLC (Allen-Bradley, Siemens, Omron) benefit from having the I/O map documented before the cell powers up. Contact us for I/O commissioning or an I/O audit, or set up a preventive maintenance contract that includes an annual I/O map review.

Related errors to check

  • PRIO-032 Too many Digital I/O modules: more hardware than the config allocates.
  • PRIO-081 I/O is not initialized: the I/O subsystem failed to start at boot.
  • PRIO-083 Digital I/O is not recovered: outputs reset to OFF after a semi-hot start because the config changed. A cold start fixes it.
  • PRIO-085 BUSY in SLC2 does not turn off: SLC2 bus stuck, often a cabling or link issue.
  • PRIO-089 PMC is not supported on this hardware: PMC option enabled on a main board that does not support it.

Probot Systems is a FANUC integrator based in Lévis, Quebec. We commission digital I/O integrations in plants across Canada and the US, including FANUC-to-Allen-Bradley, FANUC-to-Siemens, and FANUC-to-Omron. If your I/O is fighting you during commissioning week, let’s talk: contact us.

Get a Quote

Fill out the form below, and we will be in touch shortly.

Contact Information
Your project
In order to provide you the content requested, we need to store and process your personal data. If you consent to us storing your personal data for this purpose, please tick the checkbox below.

Probot newsletter

FANUC tips from our technicians, straight to your inbox

What we learn in the field, on plant floors across Quebec and Canada.

✓ FANUC robot troubleshooting and maintenance guides

✓ News on the palletizer and the Probot Palletizer software

✓ Events and training

Thank you, you’re subscribed! Keep an eye on your inbox.

No spam: unsubscribe in one click. Your data stays with Probot Systems (privacy policy).