Display a thermocouple temperature on an HMI panel

6 min read · Published November 9, 2026

The panel never reads the thermocouple. It displays the PLC register the analog input module fills: place a display-only numeric object on that register, for example V2010, set its data format and decimal position to match the register, and put F in the Suffix field so a value of 85 shows as 85F.

The panel never sees the thermocouple. The analog input module reads it, converts it and writes the value into a PLC register, and the panel displays that register over the link the two already share. The screen work is one display-only numeric object on that register, with its data format and decimal position matched to what the register holds and F in the Suffix field, so the number the operator sees carries its unit. Most of the job is the check that comes first, because a format mismatch is what turns a correct register into nonsense on the screen.

Why this is one object, not new wiring

The operator can already enter a setpoint from the panel, and that working entry proves the panel-to-PLC link, the addressing and the driver. The temperature rides the same link. Three detours waste a shift:

  • Wiring the thermocouple to the panel. Panels of this class read registers, not sensors; the thermocouple belongs on the analog input module.
  • Adding an analog output card. Output cards drive field devices, and an output register cannot feed a screen.
  • Copying the setpoint entry object and pointing it at the temperature. An entry object is writable, and a live process value the operator can type over is a trap. If the setpoint itself needs work, numeric entry limits on an HMI setpoint are covered separately.

Check before moving on: you can name the register that holds the temperature. In this example it is V2010; read your real address from the ladder rung or module setup that stores the value. If you cannot name it yet, the analog side is the first job, and reading an analog input into a V-memory register with the ANLGIN I-Box covers that setup end to end.

Confirm the register moves before you build the object

Put the temperature register in a data view in the PLC programming software. Warm the sensor tip in your hand and watch the number rise, then let it go and watch it fall. Note the value while a reference thermometer at the sensor reads a known temperature.

The data view and the module configuration give you the two things the panel object must match:

  • Data format: BCD or binary, signed or unsigned. Signed matters for Fahrenheit readings that drop below zero.
  • Resolution: whole degrees, tenths, or raw counts that still need scaling.

Both come from the module configuration and its manual. If the number never moves, the fault is upstream: sensor, wiring, module setup or the rung that reads it. Fix that first, because no screen object can display a value the PLC does not have.

Place the numeric display object

  1. Place a numeric display object on the screen, the display style, not the entry style the setpoint uses.
  2. Set its address to the temperature register you named in the data view.
  3. Set the data format to what the module stores: BCD or binary, signed if readings drop below zero.
  4. Set the digit count and decimal position to the register's resolution: two digits and no decimal place for whole degrees in this example, one decimal place for a register that holds tenths.
  5. Type F into the Suffix field. The suffix is text printed after the number; it does not convert units, so the register must already hold degrees F. Adjust the spacing if the letter crowds the digits.
  6. Add a static text label such as Process Temp so the operator tells it from the setpoint at a glance.
  7. Download the project to the panel.

Check it with the data view open: warm the sensor, and the panel and the data view show the same number at the same instant, with the F after it.

Example: the panel shows 133 when the register holds 85

Inputs: during the warm-tip check, the data view at V2010 holds 0085 in BCD, and a reference thermometer at the sensor reads 85 °F. The new panel object was left at its default unsigned binary format.

Rule: BCD packs each decimal digit into four bits, so 85 is stored as the nibbles 8 and 5, which sits in the register as hex 0085. A panel object set to binary reads those same sixteen bits as one hexadecimal number instead of two decimal digits.

Arithmetic: hex 0085 read as a binary number is 8 × 16 + 5 = 133.

Result: the panel shows 133 while the data view shows 85.

Decision: when the panel value equals the register's hex digits read as a decimal number, the object's format is the problem, and setting it to BCD makes the two agree. The mirror image decides the opposite case: binary 85 sits in the register as hex 0055, and a BCD-format object shows that as 55. So 55 on the panel means the register is binary and the object must be set to binary.

What each wrong number points to

Panel shows What it points to Fix
133 when the data view shows 85 BCD register read as binary Set the object's data format to BCD
55 when the data view shows 85 Binary register read as BCD Set the object's data format to binary
850 when the sensor sits at 85.0 °F Decimal position off by one on a tenths register Set the object's decimal position to 1
About 65,000 on a cold reading Negative value read as unsigned Set the object to the signed format
Number frozen while the data view moves Wrong address, or the object points at the setpoint register Recheck the address against the ladder
Raw counts instead of degrees The module returns counts and nothing has scaled them Scale in the ladder, next section

The first two rows are the same mismatch behind an HMI panel that shows nonsense numbers from a PLC BCD analog register. Large positive numbers for negative temperatures are the signed-format problem, and setting the signed decimal data format fixes them at the object. A reading ten times too large or too small is the decimal-position problem covered under decimal places on an HMI numeric display.

If the register holds raw counts, scale in the ladder

Display the raw number with a note taped beside it if production cannot wait, but make the permanent fix one scaling rung in the PLC. In words: engineering units equal the low end plus (raw minus raw low) times (high minus low) divided by (raw high minus raw low). Take both ranges from the module manual for the thermocouple type you configured. Write the result to its own register, so the raw value stays available for troubleshooting, and point the panel object at the scaled register. Scaling in the PLC keeps every device that reads the register looking at degrees. If the scaled value carries one decimal place, the object's decimal position must match, as with decimal flow values on an HMI numeric display.

Sign the screen off before operators rely on it

  • Compare the panel with the reference thermometer at three points, cold, mid and warm. All three must agree.
  • Raise the process and watch the panel value climb toward the setpoint; that climb is what the screen exists to show.
  • Change the setpoint from the panel once more and confirm the setpoint register follows in the data view.
  • Cycle panel power and confirm the screen and value return without operator action. If the project fails to come back, a panel that loses its project after a power cycle is a separate fault with its own fix.
  • With the process safe and locked out, pull the thermocouple lead and note what the register does. An open input drives the register to a module-defined fault value or sets a fault bit, and the module manual names which. Build an alarm or fault indicator from that bit or value, because a plausible number on a broken sensor misleads the operator.

Two rules keep the screen healthy a month later: never share one register between the setpoint entry and the process value, and keep the process value on a display-only object.

Recommendation: build the temperature as a display-only numeric object on the register the analog module fills, take its data format and decimal position from a data-view check against a reference thermometer, and scale raw counts in the ladder into their own register. If the register already holds degrees, the object is a ten-minute build; if it holds counts, budget the extra rung and the three-point check before the screen goes live.

Questions

Can I show the value in Celsius instead?

Yes. If the module scales to Celsius, put C in the Suffix field and the screen reads the register as degrees C. If the register holds Fahrenheit, convert in the ladder into its own register with C = (F − 32) × 5 ÷ 9; 85 °F becomes about 29.4 °C. Point the display object at the converted register so every device reading it sees the same units.

How large should the temperature digits be on the screen?

The planning figure is 30 ft of viewing distance per inch of capital height, and 20 ft per inch for fast reading (FHWA basis). A panel read from a workstation 3 ft away needs about 0.15 in of capital height; 0.5 in covers a glance from 15 ft. If operators check the number from across the cell, give the reading its own taller text row instead of shrinking the whole layout.

The register holds a floating-point value and the display is garbage. What now?

Set the object's data format to floating point to match the register, and when a 32-bit value spans two registers, try the other word order in the object's format settings; a value split in the wrong order shows as an enormous integer or a senseless decimal. Confirm the result against the PLC data view, which reads the register with the controller's own formatting.

Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.

Keep reading

Build your signAsk for a quote