Bind the panel's numeric entry to an internal controller register such as N7:0, never a physical input or output. Set the entry's low and high limits in stored counts, set one decimal place so 235 reads 23.5 degrees, then go online and watch the raw register move as you type.
An operator who adjusts a temperature setpoint from the panel needs three things. The first is a controller register that owns the number. The second is a numeric entry that checks what gets typed. The third is a decimal setting that turns the stored 235 into 23.5 degrees on screen. Split the job in two. The controller program decides what the setpoint does; the panel decides how it is entered and shown. Build the controller half first, because a numeric entry has nothing meaningful to bind to until the address and the loop exist. The same pattern covers any analog value an operator edits on a shop-floor screen, from a humidistat band to a conveyor speed target. This page walks the temperature case end to end, with checks that the write, the limits and the scaling all work before you hand the screen to the crew.
What do you need before you start?
You need a tested temperature-control program, two integer registers such as N7:0 for the setpoint and N7:1 for the process value, access to the panel project, and the controller software that lets you watch an address change online. In list form:
- A tested control loop. Write the rungs that switch the heater or cooler and prove them with the setpoint fixed inside the program, before any screen can move it.
- Two registers on one scale. N7:0 for the setpoint the operator writes, N7:1 for the process value the loop compares against, both in tenths of a degree.
- Access to the panel project, so you can add the numeric entry and set its limits and decimal point.
- The controller software's online mode, which shows a live register value at your workstation, because the last step of the job is watching N7:0 move while someone types at the panel.
The controller program keeps its own tag names throughout. The panel reaches the same storage through its driver's address format, so nothing in the program is renamed.
Where should the setpoint live in the controller?
Put the setpoint in an internal register such as the integer address N7:0 and never in a physical input or output: a 16-bit signed integer holds -32,768 to 32,767, which covers every tenths-of-a-degree value a building or machine loop needs. Controller families that address data as files number their default files 0 to 8, and files from 9 to 255 can be added and typed as bit, integer, timer, counter, control, floating point or string storage. The bit file sits at 3 and the integer file at 7, which is why those addresses read B3 and N7. A setpoint element in the default integer file is written N7:0, and a command bit in the default bit file is written B3:0/0.
At the tenths scale the register spans -3,276.8 to 3,276.7 °C, so the choice of tenths is about readability, not capacity. The same rule governs on/off buttons: an operator panel writes internal bits and registers, and the ladder program alone moves the physical outputs; that separation is exactly why an HMI toggle cannot force a physical input. A setpoint is no different. The panel writes the number, and the program decides what the heater does about it.
How does the controller logic use the setpoint?
Compare the process value against the setpoint with a hysteresis of 5 counts, which is 0.5 °C at a tenths scale, and let the comparison energize an internal bit that drives the heater output. Two rungs are enough for a heating loop. The heater turns on when the process value falls to the setpoint minus 5 counts, N7:1 less than or equal to N7:0 minus 5, and turns off when it climbs to the setpoint plus 5 counts, N7:1 greater than or equal to N7:0 plus 5. Both comparisons energize and reset an internal bit, say B3:0/5, and that bit alone drives the physical output address, for example O:0/0. The 5-count gap stops the output chattering when the temperature sits on the setpoint.
The gap is the number to tune. A tight process can run 2 counts, or 0.2 °C; a shop heater that cycles too often is happier at 20 counts, 2.0 °C. Whatever you choose, keep the setpoint in one register so every rung reads the same number, and keep the process value register on the same tenths scale. Test this much with the setpoint held by a move instruction inside the program or edited through the software. When the loop holds temperature on its own, the panel has something real to adjust.
How do you bind the numeric entry on the panel?
Add a numeric entry control to the screen, bind its write address to N7:0, and place a numeric display on the same register beside it so the stored setpoint is visible without opening the keypad. Create the control on the setpoint screen, enter N7:0 as its write address in the format the panel's driver for your controller expects, file-and-element form here, and open the control's properties: the minimum and maximum limit fields sit there on most numeric entry controls, and the values go in under the next heading. Size the entry field for the longest value the operator will type, four digits plus a decimal point at this scale.
The numeric display on N7:0 shows the number actually stored, dressed with the decimal setting, not just the digits just typed. That display doubles as your first visual check during commissioning, before you go online.
What keeps the operator inside a safe range?
Set the numeric entry's low and high limits to 180 and 240 so the operator can only store 18.0 to 24.0 °C into a register scaled in tenths, because the entry control checks the typed value against its bounds before it writes anything. The limits go in as stored counts, since the check happens before the decimal point is applied: a typed 17.9 arrives as 179, falls below the 180 floor and is refused, and a typed 24.1 arrives as 241, above the 240 ceiling, and is refused the same way. Only 18.0 to 24.0 °C ever reaches N7:0.
Choose the range from what the process tolerates, then keep the low limit below the high limit, the ordering check described in keeping the low HMI setpoint below the high one. Add the second guard in the controller itself, a clamp rung that holds the working value inside the band even if a screen is misconfigured or replaced; the rung-level version sits in clamping HMI numeric entry limits in PLC ladder logic. Treat the panel limits as the operator's convenience and the ladder clamp as the protection: if product spoils above 24.0 °C, the controller must hold that line on its own.
Why does the panel show 23.5 when the register holds 235?
Because the entry's decimal point is set to one place: the panel divides its own display and multiplies the keypad input by 10, so typing 23.5 stores 235 in N7:0 and the loop keeps working in tenths throughout. An integer register has no radix; the word at N7:0 is the number 235, full stop. The decimal point setting on the numeric entry, and on the numeric display bound to the same register, tells the panel how to interpret that word. The stored value and the ladder logic stay in tenths regardless; the setting changes the panel's entry and display only.
Set zero places when the register holds whole degrees or raw counts, one place for tenths, two for hundredths, and use the same convention on the setpoint entry, the setpoint display and the process value display. Mixed conventions are how a screen ends up showing 235 for a room that is 23.5 degrees. Some panels take the decimal position from a controller tag instead, so one register drives the scaling on many screens at once; that variant has its own walkthrough in moving the HMI decimal point from a PLC tag.
What does the finished setup look like as a worked example?
A spray booth holds 18.0 to 24.0 °C: the setpoint lives in N7:0 as tenths of a degree, the entry limits are 180 and 240, the decimal point is set to 1, and the operator types 21.5 to store 215. Everything above lands in six settings:
| Setting | Value | Meaning |
|---|---|---|
| Setpoint register | N7:0 | stored in tenths of °C |
| Process value register | N7:1 | same tenths scale |
| Entry low limit | 180 | 18.0 °C |
| Entry high limit | 240 | 24.0 °C |
| Decimal point | 1 place | stored 215 shows as 21.5 |
| Hysteresis | 5 counts | 0.5 °C switching band |
The operator types 21.5 at the panel. The keypad input is multiplied by 10, so 215 lands in N7:0 and the display shows 21.5. The booth air sits at 20.8 °C, so N7:1 holds 208, and the on-comparison 208 less than or equal to 215 minus 5 = 210 is true: the heater bit B3:0/5 energizes and drives the output at O:0/0. The air climbs, and at 22.0 °C the register reads 220, so the off-comparison 220 greater than or equal to 215 plus 5 = 220 turns the heater off. The booth now cycles in a 1.0 °C band, 21.0 to 22.0 °C, around the 21.5 setpoint.
A second operator tries 25.0. The entry control compares 250 against the 240 ceiling and refuses it, and N7:0 still holds 215. A third tries 17.9: 179 against the 180 floor, refused the same way. Every number that reached the register in this session came from inside 18.0 to 24.0 °C.
How do you check the setup before the operators use it?
Watch the raw register online while you enter values at the panel: type 21.5 and N7:0 should read 215 within a second or two of the write, because the online view shows the stored integer without any decimal dressing. Work through five checks with the panel installed and the controller software online:
- Confirm communication between the panel and the controller before looking at any address; a screen that answers a ping but cannot read a register has a driver problem, and the checks in HMI pings the PLC but reads fail: check the protocol driver come first.
- Open N7:0 in the online view as an integer and note the value it holds now.
- Type 21.5 at the panel. The raw register should read 215 within a second or two; if the panel's own display shows 21.5 while the register still holds its old number, the write is not arriving and the address binding is the place to look.
- Type 17.9 and then 24.1. Both must be refused at the panel, and N7:0 must still read 215 after both attempts.
- Enter an inside value and watch the logic: with N7:1 at 208 and N7:0 at 215, the heater bit follows the on-comparison 208 against 210; raise the process value register to 220 and the bit drops at 220 against 220.
Hand the screen over when all five pass. If the register never moves at any setting, work back through step 1 rather than editing tags.
Recommendation: put the operator setpoint in an internal integer register such as N7:0, never in a physical address, and size the numeric entry's limits to the range the process actually tolerates, entered in stored counts with the decimal point matching that scale. In the spray-booth case that is 180 to 240 counts with one decimal place and a 5-count switching band. Verify the raw register online with the five checks before the crew uses the screen, and keep the ladder clamp in place wherever an over-temperature damages product.
Questions
Will the setpoint keep its value through a power cut?
That depends on how the controller family documents retention for its data files, so read the retention line in the controller manual. The setup that works either way is a first-scan default: on the single scan after power-up, copy a default setpoint into N7:0, so the loop restarts from a value you chose instead of whatever the register happened to hold.
Can two operator stations write the same setpoint register?
Both can write N7:0, and the register ends up holding the last value written, with no record of which screen sent it. For a shared loop, give one station the numeric entry and give the other a numeric display on the same address. If two entries are genuinely needed, a controller-side guard that rejects any write differing from the stored value by more than 10 counts, or 1.0 °C, stops a mistyped entry from jumping the process.
How do you show the same setpoint in both degrees C and degrees F?
Keep one stored convention and compute the other in the controller. In tenths of a degree, multiply by 9, divide by 5 and add 320: 215, which is 21.5 °C, becomes 707, which is 70.7 °F. Bind the second numeric display to that new register, and leave the entry writing only the register the loop actually uses.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.