Error code: MOTN-074 · Category: Programming · Controllers: LR Mate 200iD, R-30iB Plus, Education Cert Cart
You are running 2D iRVision calibration on an LR Mate 200iD on an Education Cert Cart, the camera moves through the grid, and the program drops with MOTN-074 (G:1). Or you are running a freshly loaded offline program from RoboGuide and the same alarm pops on a linear move that simulated clean. Different cells, different programs, same code. MOTN-074 is the controller telling you a speed value is out of bounds, but the way it surfaces depends entirely on which speed value the program tried to set. At Probot Systems we see this most on iRVision setups and on offline programs being loaded onto a different cell variant than the one they were written for.
This post is written for technicians and integrators chasing MOTN-074 on R-30iB Plus cabinets running 2D iRVision, palletizing programs imported from RoboGuide, or any TP program using SPEED, SPEEDLIM, or ROTSPEED constructs.
MOTN-074 is the speed-range alarm. The FANUC error code manual on page 873 is precise: “MOTN-074 Error in speed (G:%d^2) Cause: Speed is not within 0 to $speedlim Remedy: Set speed within 0 to $speedlim.” The next two entries on the same page (MOTN-075 for rotspeed and MOTN-076 for contaxisvel) round out the family. Each one points at a different variable, but the rule is the same: the program asked for a speed value the controller will not let it use.
In practical terms, the controller carries a $SPEEDLIM that caps the linear speed any program is allowed to request. iRVision calibration routines and offline-generated programs both sometimes write speed values directly. If those values exceed $SPEEDLIM, MOTN-074 fires before the move starts. Field techs often misread the alarm as a workspace-reach problem (because “G:1” sounds geometric), but the actual cause lives in the speed value, not in geometry. That distinction matters because every fifteen minutes you spend on frames and joint limits is fifteen minutes you have not spent on the line that wrote the bad speed.
In order of how often we land on each one:
Step 1. Note the group: MOTN-074 (G:1). Then go straight to the program line that fired the alarm. The alarm history will name the line if you check immediately.
Step 2. Read the speed value on that line. If it is a constant (e.g., 250mm/sec), check $SPEEDLIM. If it is a register (R[n]), display the register and check its current value.
Step 3. Open MENU > SYSTEM > Variables, find $SPEEDLIM, and read its current value. Compare against the speed the program is trying to set.
Step 4. On an iRVision calibration: the calibration program itself sets the speed. If $SPEEDLIM is tighter than the iRVision default, the calibration will fail every time. The DIY Robotics thread documents this trap on the Education Cert Cart (forum reference).
Step 5. On an offline-loaded program: confirm the running cell’s $SPEEDLIM matches what the RoboGuide cell was set to. Mismatched $SPEEDLIM between RoboGuide and the real controller is the dominant cause on commissioning visits.
Step 6. If $SPEEDLIM is showing zero or some absurd value: a controlled start went wrong somewhere. Restore from a known-good backup before continuing.
The fix depends on which path you came in on.
If iRVision calibration is failing: open $SPEEDLIM temporarily, run the calibration, then restore $SPEEDLIM to the production value. Or update the iRVision calibration motion to a speed within the cell’s $SPEEDLIM. The Robot-Forum thread on the Education Cert Cart calibration failure lands on the same approach (robot-forum thread).
If an offline program is asking for too much speed: lower the speed in the TP file to within $SPEEDLIM. Do not raise $SPEEDLIM on a production cell without engineering review. The limit exists for safety and for application-specific reasons (collaborative speed limits, paint application speed, conveyor synchronization).
If a programmatic speed register is computing out of range: clamp the value in code with a MIN check before assigning it to a SPEED instruction. R[n] = (R[m] > $SPEEDLIM) ? $SPEEDLIM : R[m] in TP-speak.
If $SPEEDLIM is corrupted: restore from backup. Do not edit $SPEEDLIM by hand without confirming the production value. The DIY Robotics thread on this alarm starts the conversation around speed values for exactly this reason (forum reference).
A note that catches techs out: MOTN-074 is sometimes informally described as a “position not reachable” alarm in forum chatter. The official manual on page 873 is clear that it is a speed-range alarm. If you treat it as a frame or workspace problem, you will burn an afternoon on the wrong diagnostic. Read the program’s speed values first.
Call us when $SPEEDLIM looks correct, the program speed values are within range, the iRVision calibration is configured per the FANUC procedure, and MOTN-074 still fires. At that point you are looking at system variable integrity, controller image health, or a deeper iRVision setup issue, all of which are easier to resolve with a backup-and-restore plan in place.
Same applies when you are commissioning a cell with an offline program from a previous integrator and the speed limits do not line up. We do the audit, document the production $SPEEDLIM, and update the offline source so the next regen comes through clean.
contact us for a commissioning or service call, or set up a maintenance preventive contract so $SPEEDLIM and iRVision setups are documented before a new program ships.
Probot Systems is a FANUC integrator based in Lévis, Quebec. We commission and maintain palletizers, welders, and vision cells across Canada and the US, and we know which MOTN-074 traps catch first-time iRVision users and which catch experienced techs loading offline programs. If your iRVision calibration keeps tripping MOTN-074, that is a contact us conversation.
Remplissez le formulaire ci-dessous et nous vous contacterons dans les plus brefs délais.
Fill out the form below, and we will be in touch shortly.