The graphic says the fan is commanded on. The fan is not running. Between those two facts is a chain of maybe ten links, and the fault lives at exactly one of them. The job isn’t to guess which one. It’s to split the chain until only one is left.
“Command present, equipment off” is one of the most common calls in the trade, and one of the most commonly misdiagnosed. It gets blamed on the controller because the controller is what the tech can see from the laptop. Most of the time the controller is doing exactly what it was told. The problem is further down, somewhere the BAS has no point.
The chain, end to end
For a typical start/stop fan, the path from the graphic to moving air runs like this:
| Link | What has to be true |
|---|---|
| The command you see | It’s the command that actually won |
| Controller output | The output point is on, in automatic, not out of service |
| Output hardware | The relay or triac on the board actually switches |
| Field wiring | The signal reaches the interface relay |
| Interface relay | Coil pulls in, contacts transfer |
| HOA switch | In AUTO, and passing |
| Safety string | Every safety closed: freezestat, smoke, high static |
| Starter or drive | Contactor pulls in, or the drive accepts a remote run |
| Motor and load | Motor turns, belt or coupling drives the fan |
| Proof | The status device honestly reports what happened |
Read it top to bottom and it’s how the fan is supposed to start. Read it as a list of places to put a meter and it’s a diagnostic sequence.
First: is the command you see the command that won?
This is a free check, and it resolves a surprising share of calls before you pick up a tool.
On a commandable BACnet point, the present value is the highest-priority slot in its priority array that isn’t empty. The graphic might show the value you just wrote, or the value the logic is producing at a low priority, while a manual command left at priority 8 months ago holds the output off. Everything in the program can be right. It just isn’t the opinion that won.
- Read the priority array on the output point, not just the present value. Look for anything at a higher priority than the logic writes at.
- Check the output point itself, not the logic block feeding it. A block can say on while the point is in manual, overridden, or out of service.
- Find out who wrote it and why before you relinquish it. An override is sometimes a safety decision somebody made on purpose.
Then do the other free checks from the field side. Is the HOA in AUTO? Is the drive keypad in local, hand or off? Is the disconnect on? Is anything alarming that you haven’t read, including alarms that cleared an hour ago? Has anybody already worked on it? That last question saves more time than any other.
Half-split at the controller output
Don’t start at the graphic and walk down, and don’t start at the motor and walk up. Start in the middle. Put a meter on the controller’s output terminals with the command on.
If the output is right, everything above it (software, logic, priority, controller) is fine, and you have eliminated half the stack in one test. If the output is wrong, everything below it is irrelevant for now. Seven layers resolve in about three tests if you split them, and in seven if you walk them.
| Output type | Commanded on | Commanded off |
|---|---|---|
| Powered binary output (triac or sourced relay) | Full control voltage across the load, load connected | Near 0 V. Triac leakage can read full voltage on a high-impedance meter with no load, so measure with the load connected |
| Dry contact relay output | Continuity across the contacts | Open |
| Analog output (0–10 V) | 0 / 5 / 10 V for 0 / 50 / 100 %, at the controller and again at the device | Same readings, within a small drop |
Output right at the controller and wrong at the device means the wiring in between: a loose terminal, a broken conductor, a landing on the wrong terminal after a controller swap. Right at the device and nothing moves means the fault is in the device, the circuit it switches, or the equipment.
Walk the rest of the path
The interface relay
Most BAS outputs don’t start a motor directly. They energize a small relay whose contacts sit in the starter or drive circuit. Relays fail two ways: the coil opens, or the contacts burn. A coil can pull in with burned contacts, so proving voltage at the coil is not the same as proving the contacts transferred.
Test: coil resistance with power off and one leg lifted (open coil reads OL), then continuity across the contacts in both states
The HOA and the safety string
Put the black lead on the transformer common and leave it there. Every reading is then referenced to the same point. Probe the middle of the string first. Voltage there means the fault is downstream; none means upstream. You’re looking for the point where voltage stops: voltage on one side of a device and none on the other means that device, or its connection, is your open.
Test: 24 VAC after the fuse, at the HOA, then after each safety. Interlocks and enables covers what to do when you find one open
The starter or drive
A contactor either pulls in or it doesn’t. A drive is more complicated, because it has its own opinion. It needs a run command on the right input, it needs to be in remote or auto mode rather than keypad or local, it usually needs a safety or run-permissive input closed, and it won’t run while it holds a fault. Most drives show on their own display whether they see a run command at all. Read that before anything else. The 8 parameters you need from any VFD covers the settings that decide it.
Test: what the drive says it sees: run input active, control source, enable input, fault history
The motor and the load
If the contactor is pulled in or the drive says it’s running and nothing moves, you’re in the power circuit or the mechanical equipment: an open overload, a lost phase, a seized bearing, a broken belt. That’s a different set of tests and a different level of hazard. Treat it that way.
“Works in hand, not in auto”
This one is worth its own section because it tells you so much for free. In HAND, the HOA switch bypasses the controller path and energizes the starter directly. If the equipment runs in HAND, the motor, the starter, the power circuit and usually the safeties are fine. The fault lives in the part of the circuit only AUTO uses: the controller output, its wiring, the interface relay, or anything wired into the auto leg only.
A failed relay coil in the auto path is one of the most common answers. Test it the way the table says: power off, one leg lifted, measure the coil. Don’t replace the controller because the equipment “won’t take a command.” Measure the output first. It’s usually fine.
Sometimes the equipment is running
Before you walk any of this, go look. A “no output” call is sometimes a “no proof” call: the fan is running and the status says it isn’t. A fixed-setpoint current switch whose trip point sits above the motor’s running current after a drive retrofit or a belt change will report off forever while the fan turns happily. The BAS alarms, the tech assumes the fan is dead, and the investigation starts in the wrong place.
The reverse happens too. Commanded 60 Hz, the drive running at 48 Hz because it’s current-limiting to protect itself. The command is on, the equipment is on, and the output still isn’t what the command asked for. Command, running and result are separate facts, and each one needs its own proof. Everything looks normal, but the equipment isn’t working is the same lesson from the other side.
The order, on one card
- Go look. Is it actually off? Is anything alarming, at the panel or on the drive?
- Free checks. HOA in AUTO, drive in remote, disconnect on, priority array clear of stale overrides.
- Meter the controller output with the command on. This splits the stack in half.
- Meter at the device end of the wiring. Same reading, within a small drop.
- Walk the relay, HOA and safety string with the black lead on common. Midpoint first.
- Read the starter or drive. Does it see a run command? What mode is it in? What’s in its fault history?
- Verify in AUTO, under the conditions where it failed. A fix verified in HAND is not verified.
- Document what failed, what you measured at each point, what you changed, and any override you released and who placed it.
If you want the method in context, reading a sequence of operations tells you what the command should be in the first place, and intermittent problems covers the version of this call where it starts fine on Monday and fails on Thursday.
The controller is the most visible link in the chain and the least likely to be broken. The meter is how you stop blaming it.
Stuck on a live call? The BAS Troubleshooter walks you through this method step by step, offline, on your phone.
Go deeper
The method behind this, chapter by chapter
Every sensor, drive and control loop in the building — how it works, how to prove it with a meter, and how it fails. BAS Field Fundamentals is the method this article uses, with 20 field cases and a browser diagnostic simulator to practice on.
Get BAS Field FundamentalsFound a wrong number or a broken link? Tell me and I’ll fix it.