Troubleshooting Siemens SM 1234 AI/AQ: Fluke 787 Source Mode Fix

David Krause11 min read
I/O ModulesSiemensTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

1. Problem Description

An SM 1234 analog input/output module on a SIMATIC S7-1200 CPU returns a stuck value of 0 at input word IW100 (channel 2, configured 0–20 mA) even though a Fluke 787 ProcessMeter is injecting current into terminals 2+ and 2-. The calibrator display shows the dashes-only state --.---- when the MIN/MAX output buttons are pressed, confirming the loop is not closed. The TIA Portal NORM_X block receives a normalized value of 0.0, which SCALE_X then converts to the engineering range.

This fault mode is one of the most frequently reported issues on 4-wire current-loop analog channels because the symptom (zero input, full calibrator compliance) does not point to a single cause. The fault tree involves the calibrator's mA mode, the loop power supply path, the polarity of the connection, and the scaling configuration in TIA Portal.

2. Affected Hardware and Firmware

Item Value
PLC family SIMATIC S7-1200
Module SM 1234 AI 4 x 13 bit / AQ 2 x 14 bit (6ES7234-4HE32-0XB0 and successors)
CPU firmware tested V4.2 through V4.6 (TIA Portal V15.1 through V19)
Calibrator Fluke 787 ProcessMeter (any firmware revision; same rule applies to 789, 787B, 787VP)
Affected channel Channel 2 (terminals 2+ / 2-)
Configured measurement type 0–20 mA (current, 4-wire)
PLC tag %IW100 (input word, channel 2 raw integer)
Field note: The SM 1234 supplies a short, limited excitation only for resistance-type sensors on voltage ranges. For active current loops (0–20 mA, 4–20 mA), the transmitter or calibrator must source loop power. The SM 1234 itself does not contain a 24 V loop supply on its AI channels; only the voltage ranges and the integrated RTD measurement derive excitation from the module's internal rails.

3. Root Cause Analysis

The Fluke 787 has two distinct mA output modes that look identical on the front panel:

  • Simulate mode – The 787 acts as a passive current sink. It draws the programmed current through an externally powered loop. The 24 VDC loop supply must come from elsewhere (the PLC, a separate power supply, or the transmitter).
  • Source mode – The 787 actively drives the programmed current into the loop using its internal 24 V compliance voltage. No external loop supply is required.

When the SM 1234 channel is configured for 0–20 mA current, the module's AI is a passive current-sinking input. It expects the loop to be powered by the transmitter or by an external 24 V supply. If the user places the 787 in Simulate mode without providing that external supply, the 787 cannot push current because there is no voltage to push it against. The display reads --.---- because the calibrator's compliance circuit cannot regulate.

The second contributor is the polarity and order of the wires. The SM 1234 front connector has two rows per channel (upper and lower). Field data shows that nearly every "zero reading" report on the SM 1231 / SM 1234 / SM 1238 family is caused by wires landed on the wrong row. Always cross-check the silk-screen on the module against the wiring diagram in the SIMATIC S7-1200 Programmable Controller System Manual before applying power.

The third contributor is the absence of a precision shunt resistor. The SM 1234 0–20 mA input is implemented as a 250 Ω internal burden resistor terminated to the channel ground. The resulting voltage is digitized. A field technician using a Fluke 787 in current-source mode will see correct loop current at the calibrator terminals, but if the same technician re-energizes the loop without the SM 1234 connected (or while probing with a hand-held DMM in current mode), the absence of a return path will be misinterpreted as a wiring fault. The classical field fix is to install an external 500 Ω precision resistor across the input terminals when bench-testing without the module connected, and to verify the resulting voltage drop with a DMM in volts mode.

4. Solution A — Configure the Fluke 787 to Source Mode

  1. Turn the rotary switch on the Fluke 787 to the mA output position.
  2. Press the % (percent) / mode button until the on-screen label reads Source (not Simulate). The icon typically shows a battery symbol when in Source mode.
  3. Connect the red (positive) lead of the 787 to terminal 2+ on the SM 1234 front connector.
  4. Connect the black (COM) lead of the 787 to terminal 2- on the SM 1234 front connector.
  5. Press the OUTPUT button so the calibrator actually energizes the loop. The display should now show 0.000 mA (or the programmed value) and the symbol stops flashing.
  6. Press the MIN/MAX range buttons to step the output through 4 mA, 12 mA, and 20 mA. The SM 1234 %IW100 value should track linearly: 4 mA ≈ 6553 raw counts, 12 mA ≈ 19660, 20 mA ≈ 27648.
Safety: When using Source mode, the 787 internally generates up to 24 V across its leads. Never connect the Source output directly across a low-impedance shunt without first verifying the loop wiring. Disconnect field wiring from the SM 1234 before energizing the calibrator in Source mode if you are uncertain of the polarity.

5. Solution B — Install a 500 Ω Precision Shunt Resistor

When the loop must be validated with a DMM in volts mode (recommended for long-term drift checks), place a 500 Ω, 0.1 % precision resistor across terminals 2+ and 2- of the SM 1234:

Injected current Expected voltage across 500 Ω Expected raw count at %IW100
0 mA 0.000 V 0
4 mA 2.000 V 6553
12 mA 6.000 V 19660
20 mA 10.000 V 27648

Use a 500 Ω resistor rated for at least 1 W to avoid self-heating drift (the SM 1234 internal burden is 250 Ω; the 500 Ω external value is used only when bench-testing the loop outside the module). For a permanent installation, rely on the SM 1234's internal 250 Ω burden and inject directly into the AI channel.

6. TIA Portal Configuration and Scaling

The SM 1234 channel must be configured for the correct measurement type before any scaling block can produce meaningful output:

  1. In the project tree, expand the CPU and open Device Configuration > Signal Modules > SM 1234 > Channel 2.
  2. Set Measurement type = Current (0–20 mA) or Current (4–20 mA) depending on the loop.
  3. Set Diagnostics = None during commissioning (re-enable later).
  4. Compile and download the hardware configuration. The CPU will report the configuration as accepted only if the module's DIP switches (if any) match.

The standard Siemens scaling pair converts the raw 0–27648 integer into a floating-point engineering range:

// NORM_X: normalize raw integer to 0.0–1.0
NORM_X_REAL := NORM_X(
    VALUE    := %IW100,          // raw integer from channel 2
    MIN      := 0,
    MAX      := 27648
);

// SCALE_X: scale normalized value to engineering range
// Example: 0–20 mA mapped to 0.0–100.0 % tank level
SCALE_X_REAL := SCALE_X(
    MIN      := 0.0,             // engineering minimum
    VALUE    := NORM_X_REAL,
    MAX      := 100.0            // engineering maximum
);
4–20 mA caveat: If the loop is 4–20 mA, set NORM_X MIN = 5530 and MAX = 27648. Do not scale 4–20 mA with MIN = 0; a 0 raw count indicates an open loop and must be diagnosed, not scaled into 0 %.

7. Wiring Reference

The SM 1234 front connector uses a removable screw-terminal block with two rows per channel. The wiring for a current input on channel 2 is:

Terminal Signal Function
2+ (upper row) AI2+ Positive current input, channel 2
2- (upper row) AI2- Return current path, channel 2
VQ+ / VQ- 24 V sensor supply Used only for voltage and RTD ranges
GND Module ground Tied to backplane ground

For current loops, the 24 V sensor supply terminals are not used. Loop power must come from the transmitter (preferred) or from the Fluke 787 in Source mode (for bench-test).

8. Verification Procedure

  1. With the SM 1234 online in TIA Portal, open Online & Diagnostics > Watch Table for the channel.
  2. Force the Fluke 787 to output 4.000 mA. Confirm %IW100 reads 6553 ± 5 counts (about 0.02 % accuracy for a 13-bit converter).
  3. Step to 12.000 mA. Confirm %IW100 reads 19660 ± 5 counts.
  4. Step to 20.000 mA. Confirm %IW100 reads 27648 ± 5 counts.
  5. Open the NORM_X instance DB and confirm the normalized output equals the raw count divided by 27648 (within floating-point precision).
  6. Open the SCALE_X instance DB and confirm the engineering output tracks 25 %, 50 %, and 100 % for the three test points.
  7. Disable the calibrator output. The raw count should fall to 0 (0–20 mA) or 5530 (4–20 mA). If it falls to 32767 (0x7FFF) or to a negative value, the input is over-range; check the polarity and the burden resistor.

9. SM 1234 Technical Specifications

Parameter Value
Order number (MLFB) 6ES7234-4HE32-0XB0
Number of analog inputs 4
Number of analog outputs 2
Input resolution 13 bits + sign (unipolar: 12 bits effective in 0–20 mA)
Output resolution 14 bits
Voltage ranges ±10 V, 0–10 V, ±5 V, 0–5 V, ±2.5 V
Current ranges 0–20 mA, 4–20 mA
Input impedance (current) 250 Ω internal burden
Maximum continuous input current 40 mA
Maximum continuous input voltage ±35 V sustained, ±75 V for 1 s transient
Conversion time per channel ~625 µs at 50 Hz rejection
Backplane current consumption 80 mA from 5 VDC backplane
Power dissipation 2.0 W typical
Isolation (channel to channel) None (common ground return)
Isolation (channel to backplane) 500 VAC for 1 minute
Operating temperature -20 °C to +60 °C horizontal mount
Wire size 0.33 mm² to 1.3 mm² (22 AWG to 16 AWG)

Refer to the SIMATIC S7-1200 Programmable Controller System Manual, chapter Technical Specifications > Analog Signal Modules (SMs) > SM 1234 Analog Input/Output Module Specifications, for the authoritative specification set and to confirm any firmware-dependent changes.

10. Common Pitfalls and Field Tips

  • Wrong mA mode on the calibrator. Simulate mode requires an external 24 V loop supply. If none is provided, the calibrator will not source current and will display --.----.
  • Polarity reversed. Reversing 2+ and 2- on a 0–20 mA channel produces a negative raw count on most firmware versions. On 4–20 mA, it produces a sustained over-range value.
  • Upper vs lower terminal row. The SM 1234 silk-screen places the AI terminals on the upper row and the internal sensor supply on the lower row. Field wiring that lands on the lower row appears connected but reads zero because the conductors are not bonded to the AI channel.
  • Configuring voltage while injecting current. Configuring the channel for ±10 V and then injecting 4–20 mA places the burden resistor in a high-impedance state, which can read zero or produce an unstable value. Always match the configuration to the physical signal.
  • Channel-to-channel interaction. Voltages outside the operational range on one channel can influence adjacent channels through the common ground return. If channel 2 reads a small offset while channel 1 is driven hard, terminate channel 1 or reduce its drive.
  • Watchdog / OB82. If the SM 1234 loses backplane communication, the analog input freezes at the last value rather than going to zero. A frozen non-zero reading is a diagnostic event, not a sensor fault.
  • Ground loops. When the field transmitter is grounded at the sensor end and the SM 1234 is grounded at the cabinet end, an offset of a few millivolts appears across the AI input. Use a single-point ground or a signal isolator.
  • Shielded cable not bonded at one end. Induced noise from VFD output cables can inject tens of millivolts into the AI. Bond the shield at the cabinet end only and route at least 200 mm away from any 480 VAC cable.

11. Diagnostic Matrix

%IW100 reading Calibrator display Likely cause Corrective action
0 --.---- 787 in Simulate mode, no loop supply Switch 787 to Source mode
0 4.000 mA Wires on lower terminal row Re-terminate on upper row
0 4.000 mA Channel configured for voltage Set measurement type to Current
27648 20.000 mA Polarity reversed Swap 2+ and 2- leads
32767 20.000 mA Over-range (input current > 20 mA) Reduce injected current; check burden
Frozen non-zero varies SM 1234 backplane fault Check SF LED; clear diagnostic buffer
Slow drift stable Self-heating of burden resistor Wait 5 min for thermal equilibrium

12. FAQ

Why does my Fluke 787 show --.---- when I press the MIN/MAX buttons?

The 787 cannot maintain compliance because it is in Simulate mode without an external 24 V loop supply. Switch the calibrator to Source mode (press the mode button until the battery-style icon appears), then press OUTPUT to energize the loop. The SM 1234 does not provide loop power on its 0–20 mA channels.

Do I need a 500 ohm resistor on the SM 1234 input?

No. The SM 1234 has an internal 250 Ω burden resistor for current inputs. A 500 Ω precision shunt is only needed when you are bench-testing the loop without the module connected and want to verify the loop current with a DMM in volts mode (500 Ω × 4 mA = 2.000 V, etc.).

Why is %IW100 stuck at 0 even though the calibrator shows 20 mA?

The most common cause is the wires landed on the lower terminal row rather than the upper row. Verify the silk-screen on the SM 1234 module and confirm that the positive lead is on terminal 2+ and the negative lead is on terminal 2-. The second most common cause is the channel configured for voltage rather than current in the device configuration.

How do I scale a 4–20 mA signal in TIA Portal using NORM_X and SCALE_X?

Set NORM_X MIN = 5530 and MAX = 27648 to map the live range to 0.0–1.0. Then set SCALE_X MIN and MAX to your engineering range. Do not use NORM_X MIN = 0 for a 4–20 mA signal, because a raw count of 0 indicates an open loop and must trigger a diagnostic, not be scaled to the engineering minimum.

Is the SM 1234 channel-to-channel isolated?

No. All four AI channels share a common ground return on the SM 1234. Channel-to-backplane isolation is 500 VAC for one minute, but channel-to-channel isolation is not provided. For applications requiring channel isolation, use the SM 1231 isolation modules or install external signal isolators.

Back to blog