An operator entry of X minutes becomes a PLC timer preset of X × 600 units on a 0.1-second timer. Keep the minute entries in registers of their own, convert them with one multiply rung in the PLC, cap entries at 1 to 30 minutes so presets stay inside 16 bits, and choose when an edited time takes effect.
A chemical feed pump that must run for a set time, stop for a set time, and take both values from the operator panel needs one conversion and one register rule. The timers behind this kind of on and off sequence count in 0.1-second steps, so the operator's minutes must be multiplied in the PLC before they reach a preset. Typed in raw, a 2 becomes 0.2 seconds and a 3 becomes 0.3 seconds, the output chatters, and the overfeeding the sequence was meant to fix stays exactly as it was. The working setup keeps the minute entries in registers of their own, converts them with one multiply rung, caps the entries so the presets stay inside 16 bits, and states plainly when an edited time takes effect.
How many timer units does one operator minute make?
One minute becomes 600 timer units on a timer that counts in 0.1-second steps, because 1 minute is 60 seconds and 60 divided by 0.1 is 600, so an operator entry of 1 minute is written to the preset register as 600.
The same arithmetic scales to any entry: 5 minutes is 3000 units and 10 minutes is 6000 units. The 0.1-second step is the resolution published for the timer instructions on the controller family this sequence was built on, and it is the one input that moves the multiplier: a family that counts milliseconds takes 60,000 units per minute, because 60 seconds at 1000 counts per second is 60,000. Read the resolution printed with the timer instruction you are using, then fix the multiplier as a named constant in the program so nobody retunes it mid-shift.
Whole minutes also keep the math honest on an integer-only panel: an entry of 1.5 has no place in a 16-bit field. If tuning needs finer steps, switch the field to tenths of a minute and multiply by 60, so a field value of 15 becomes 900 units, which is 90 seconds.
What do you need before you change the program?
You need four things: a minute-entry register for the on time, a second one for the off time, the two preset registers the timers already read, and two numeric objects on the panel that write only to the entry registers.
The mapping used through this page: entries in V2002 for on minutes and V2003 for off minutes, presets in V2000 for on and V2001 for off, resolution 0.1 seconds per unit. Those exact addresses belong to the controller family the sequence was built on; the rule, entries and presets in separate registers, carries to any controller under its own addressing. Gather a stopwatch for the timed check as well.
Verify the panel link before the pump circuit is involved: type a test value into one entry field and watch it land in V2002 with nothing else moving. If the link has never been commissioned, work through an operator panel PLC link setup that tests writes before motion.
A status screen in the cabinet door, showing which phase the pump is in, is a common later add-on; our accessories include a 24 V DC DIN-rail supply that mounts in the cabinet and feeds a screen from the low-voltage side.
How do you keep minute entries separate from timer presets?
Give the operator's minutes their own registers, V2002 and V2003 in this example, and let a multiply rung in the PLC fill the preset registers V2000 and V2001, so an entry meant as minutes never reaches a timer that reads tenths of a second.
On the panel, label the two fields "On time (minutes)" and "Off time (minutes)", point them at V2002 and V2003, and set each object to unsigned 16-bit decimal so the format matches the register. Matching data format to preset register is a small subject of its own; setting the correct HMI data format for a PLC timer preset covers it.
Check the mapping with two typed values: enter 2 in the on field and confirm V2002 reads 2 while V2000 moves only when the PLC rung executes, then repeat for the off field. If a simpler job ever needs the panel to write a preset directly, that path is covered in pointing an HMI numeric object at the PLC timer preset address.
The base pattern, a timer reading a register the panel can edit in place of a hard-coded constant, is the one described in letting an HMI change a PLC timer preset instead of a constant; the conversion rung in front of it is what makes minutes safe on this job.
What entry limit should the panel allow?
Set the upper minute limit so minutes multiplied by 600 stays inside the preset register: a 16-bit signed register tops out at 32,767, which at 0.1 seconds per unit is 3,276.7 seconds, so 54 minutes is the highest entry the register accepts, and this setup caps entries at 30.
At the 30-minute cap the largest preset is 30 × 600 = 18,000 units, comfortably inside the register. Set a low limit too: reject an entry of 0, because an off time of 0 removes the pause entirely and an on time of 0 doses nothing while the panel shows two healthy fields.
Put the range check in the PLC as well as on the panel. Panel-side scaling has been documented delivering an oversized value straight through with no clamp, so the rung that holds the last valid entries whenever a value leaves the 1 to 30 window is the check that always runs. Give the two panel objects the same limits so the operator sees the reject at typing time.
How do you build the on and off sequence?
The sequence is two on-delay timers that alternate: the on timer runs the pump for its preset, the off timer holds it off for its preset, and each timer's done bit hands over to the other phase, with an interlock that keeps both pump commands from being true together.
- Point each timer's preset operand at its register: the on timer reads V2000 and the off timer reads V2001.
- Add the conversion rung, executed on every scan: V2002 × 600 into V2000, and V2003 × 600 into V2001.
- Add the range rung beneath it: an entry outside 1 to 30 minutes holds the last valid values.
- Build the alternation: a start command sets the on phase; the on timer's done bit clears the on phase and sets the off phase; the off timer's done bit clears the off phase and sets the on phase again.
- Drive the pump output from the on phase contact alone, and let the off phase break that path in logic as well, so no scan can produce two pump commands.
- Create the two panel objects on V2002 and V2003 with the 1 to 30 limits, the minutes labels and the unsigned decimal format from the sections above.
Check the build with one entry: type 4 into the on field and watch V2000 move to 2400 on the same scan, then do the same on the off field. For the same alternating pattern written as a pulse program on another controller family, this timed pulse on and off motor control example is a useful second reference.
Worked example: what does the PLC see for 2 minutes on and 3 minutes off?
The operator enters 2 and 3 in the minute fields, the PLC computes 2 × 600 = 1200 units and 3 × 600 = 1800 units, and the pump runs 120 seconds, stops 180 seconds, and repeats on a 300-second cycle with a 40 percent duty.
The arithmetic, line by line:
- On time: 2 × 600 = 1200 units, and 1200 × 0.1 s = 120 s, the requested 2 minutes.
- Off time: 3 × 600 = 1800 units, and 1800 × 0.1 s = 180 s, the requested 3 minutes.
- Cycle: 120 s + 180 s = 300 s, so a 10-hour operating window of 36,000 s holds 36,000 / 300 = 120 complete cycles.
- Duty: 120 / 300 = 0.40, so the pump is on for 40 percent of the running time.
Type 2 and 3 straight into the presets instead and the timer sees 2 and 3 units: the on phase ends after 0.2 s, the off phase after 0.3 s, the output switches roughly twice a second, more than a chemical pump or its contactor can follow, while the panel shows two tidy numbers.
When does an edited preset take effect?
An edit applies to the phase that is already running, because the timer compares accumulated time against the preset on every scan: lower the off entry from 30 minutes to 10 and a phase with 12 minutes already accumulated ends on the next scan.
That is the on-delay timer model defined in IEC 61131-3, the model most ladder controllers implement: the done bit turns on when accumulated time reaches the preset, the comparison runs every scan, a lowered preset finishes the running phase early, and a raised preset extends it. Decide the policy in the program:
- Immediate application: the conversion rung writes the presets every scan, so an edit lands mid-phase. Tuning is fast, and a truncated or extended feed period changes that cycle's dose.
- Boundary application: the rungs copy entries into the presets only in the scan where a done bit flips the phase, with a pending bit holding each edit until then. Tuning takes one phase longer to observe, and every phase runs at a length the operator chose in full.
Run immediate application while commissioning, because it shortens every tuning loop, and switch to boundary application when the pump doses in production.
How do you test the cycle before the pump doses?
Prove the sequence with the pump output isolated: enter 1 minute on and 1 minute off, confirm 600 units arrive in each preset register, time one full cycle at 120 seconds with a stopwatch, then restore the output and compare the dose against the process target.
Isolate the pump or force its output off for the first runs: a chemical feed pump cycling on a wrong schedule over-doses the process, and the logic under test is the thing that sets that schedule.
- Enter 1 and 1 and confirm V2000 and V2001 both read 600.
- Time one full cycle with a stopwatch: 60 s on, 60 s off, 120 s total, allowing a second or two for reaction time; the timer's own error is one 0.1-second step plus the scan time.
- Change the off entry from 1 to 3 mid-phase, watch when the new preset lands, and confirm the landing matches the policy you chose.
- Enter 0 and then 45 and confirm both are rejected with the last valid values held.
- Restore the output path, run three complete cycles under the process's normal conditions, and collect the pumped volume against the target.
The job is finished when the phases match the setpoints, edits land on the chosen policy, the rejects hold, and the volume over three cycles matches the target. If the phases match and the volume does not, the remaining error is in the pump and the line, and the conversion has done its job.
Recommendation: Keep the operator's entries in minutes in V2002 and V2003, multiply by 600 in the PLC, cap the panel fields at 1 to 30 minutes so the presets stay well inside a 16-bit register, run immediate application while commissioning because it shortens every tuning loop, and switch to boundary application once the pump doses in production.
Questions
Can the panel convert the minutes itself so the PLC stays simple?
Many panels scale each numeric object before the value reaches the controller, so a register can receive ready-made timer counts and the multiply rung disappears. Check whether that scaling clamps before you rely on it: panel-side scaling has been documented delivering 75,000 milliseconds to the controller with no clamp on out-of-range entries. Keep the PLC range rung either way.
Do the minute entries survive a power cut?
Only in retentive registers. Store the on and off entries in the controller's retentive range and rebuild both presets from them on the first scan after power-up. Presets that are not retentive come back at zero, and the alternation then runs on zero-length phases from the first scan, so rebuild both presets before the sequence starts.
What if the operator thinks in seconds instead of minutes?
Change the multiplier and the label and keep everything else. One second is 10 units on a 0.1-second timer, so seconds × 10 gives the preset: a 45-second off phase becomes 450 units. If both scales are needed, add a second pair of entry registers with its own multiply rung and label each field with its unit.
The cycle timing is right but the dose is still wrong. What now?
Measure the feed before touching the program. Collect the pumped volume over at least five complete cycles and compare it with the process target. If the phases match the setpoints and the volume does not, the error sits in pump stroke, suction conditions, a siphoning line or fluid viscosity, and the timer conversion has already done its job.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.