The short answer
Analog Signal Problems
When an analog value is wrong at the controller, the fault is in one of five places and the raw count says which: the field loop, the input module and its configuration, the scaling from counts to engineering units, the filtering and data handling in the program, or the value on its way to the screen. A raw count that matches the measured loop current means the loop and the module are fine and the problem is scaling or logic; a raw count that does not means the module, its range setting, or the wiring. Module channel diagnostics report open wire, under-range, and over-range directly, and reading them is faster than any meter. Most analog problems at the controller are configuration: a channel set for the wrong range, a scaling that assumes a different count span, or a data type that clips.
Key points
- Compare the raw count with the measured loop current first; that comparison splits the problem in half.
- Read the channel diagnostics: open wire, under-range, over-range, and module fault are reported, not inferred.
- Scaling must use the exact count span of the module and the exact range of the transmitter.
- Two-wire, three-wire, and four-wire devices are wired differently to the same module; check the terminal drawing.
- Noise is addressed at the source and the shield before any filter in the program.
Symptom to check
| Symptom at the controller | First check | Usual finding |
|---|---|---|
| Value frozen at a rail | Channel status and loop current | Open loop, transmitter fault current, or a scaling clamp |
| Value reads zero with the transmitter lit | Loop current through the input; channel mode | Input not in the loop, channel set for voltage, or a jumper |
| Value offset by a constant | Transmitter zero and the scaling minimum | A range change, a datum, or a zero drift |
| Value off by a proportion | Scaling maximum and the count span | Wrong count span or transmitter span |
| Value jumps or is noisy | Raw count trend; shield and routing | Noise coupled into the loop; a ground loop; a loose terminal |
| Value steps in coarse increments | Module resolution and data type | A 12-bit module on a wide range, or an integer scaled too coarsely |
| Value lags the process | Filter settings, module filter, transmitter damping | Too much filtering in series |
| Value good in the controller, wrong on the screen | The screen tag scaling and format | A second scaling or a wrong decimal place |
| Whole module bad | Module status, power, and backplane | Module fault, lost 24 volt supply, or a firmware mismatch |
Raw counts against current
The module converts the loop current to a count within a fixed span: 0 to 4095, 0 to 16383, 3277 to 16383, 4000 to 20000, or another depending on the module and its range setting. The count at 4 milliamps and the count at 20 milliamps are in the module manual, and a meter in the loop with the raw count on the screen gives two points that either fall on that line or do not. If they do, everything upstream of the count is right. If they do not, the channel range setting, the wiring, or the module is wrong, and no amount of scaling will fix it.
EU = EU_min + (Raw − Raw_min) × (EU_max − EU_min) ÷ (Raw_max − Raw_min)
- EU = engineering value
- Raw = the count from the module
- Raw_min, Raw_max = the counts at 4 and 20 mA from the module manual, for the channel range in use
- EU_min, EU_max = the transmitter lower and upper range values
Channel diagnostics
Modern input modules report per channel whether the loop is open, whether the signal is below or above range, and whether the module itself is healthy, and they make those bits available in the controller. The program should use them: a channel with open wire or out-of-range drives a bad-quality flag on the tag, freezes or fails the value safely, and raises an instrument alarm, rather than letting a rail value flow into a control loop. A module that does not offer diagnostics is checked in logic by comparing the raw count with the limits of the live range.
Wiring by device type
| Device | Powered by | Wires to the module | Note |
|---|---|---|---|
| Two-wire transmitter | The loop, from the module or an external supply | Two, in series with the input | Know whether the module sources loop power |
| Three-wire device | External supply, common shared with signal | Supply, signal, common | Common must be the module common |
| Four-wire transmitter | Its own supply; isolated output | Two signal wires to a passive input | Never wire to a loop-powering input |
| Voltage output device | Its own supply | Signal and common to a voltage input | Or a current input with the channel set for voltage |
Noise and filtering
- Shielded twisted pair, shield grounded at one end, usually the panel, and never at both.
- Analog cables separated from power and drive cables; crossings at right angles.
- The module input filter set for the application: a slower filter rejects more noise at the cost of response time.
- A program filter only after the wiring is right, and only as much as the loop needs; document its time constant.
- A signal that is noisy only when a drive runs is a drive noise problem; the fix is at the drive and the cable, not in the filter.
Resolution and data types
A 12-bit module resolves a span into 4096 steps; on a 0 to 100 foot level that is a step of about a third of an inch, which is fine, and on a 0 to 500 psi transmitter used to control a 5 psi band it is not. A 16-bit module resolves 65,536 steps. The scaled value should be a floating point tag; an integer scaled value loses resolution to its scale factor and clips at its limits, and a rate calculation from an integer level tag is a staircase.
Frequently asked questions
- The raw count is right and the engineering value is wrong.
- The scaling parameters: the raw minimum and maximum for the channel range actually configured, and the engineering minimum and maximum from the instrument list. One of the four is stale, most often after a transmitter re-range or a module replacement with a different count span.
- Why does the channel read a small value with nothing connected?
- An open input on some modules floats to a small count rather than zero, and the under-range diagnostic is the reliable indication. Use the channel status, not the count, to detect an open loop.
- Can a module channel be damaged by a wiring mistake?
- Yes: 24 volts applied directly across a current input, a four-wire transmitter connected to a loop-powering input, or a lightning surge. A damaged channel reads a fixed count or a fault, and the module is replaced. A surge protector on loops that leave the building prevents the third case.
- How much filtering is too much?
- When the filtered value lags the process by more than the control loop or the alarm can tolerate. Transmitter damping, the module filter, and a program filter add up; a level loop with 30 seconds of combined lag hunts. Set one filter deliberately and leave the others at minimum.
Related topics
- Raw CountsWhat an analog input module actually hands the program: the count range, where 4 mA and 20 mA fall in it, how under-range and over-range show up, and why the module manual is the only source that counts.
- Analog Scaling: Raw Counts to Engineering UnitsThe arithmetic that turns an analog card reading into feet, psi, or gallons per minute — plus the range mismatches that silently corrupt it.
- Filtering Analog InputsHow to damp a noisy analog input in the controller without hiding a real process change: the first-order filter, the moving average, the median, where each belongs, and what never to filter.
- Signal ValidationCatching a failed analog input in logic before it runs a pump on a dead transmitter: range checks, module status bits, frozen-value detection, rate checks, and what the program does with a bad value.
- 4-20 mA Signal Is UnstableAn analog reading that will not settle. How to separate a genuine process swing from induced noise, a ground loop, or a loop running out of voltage.
- Loop Powers Up but Reads ZeroThe transmitter is lit and the controller shows zero, so loop current is not reaching the input: a loop wired for power but not signal, an active and passive mismatch, a missing jumper, an unconfigured channel, a blown fuse, or a transmitter sending nothing.
Direct contact
Have a controls question?
Reach Eric Sullivan directly about anything on this site, a controls or automation topic, or one of his personal projects.