A pushbutton supplies an electrical state; it does not supply elapsed time or load capacity. Input current and output heating belong to the controller hardware, while eTON measures how long its enabling condition remains true across program scans. The number that matters is the uninterrupted true time compared with the configured preset.
Common fixes that miss the timer problem
| Attempt | Why it fails | Correct decision |
|---|---|---|
| Add an ordinary output coil | A coil follows rung continuity immediately; it does not accumulate time. | Place the eTON function block between the initiating condition and the delayed action. |
| Change the pushbutton wiring | Wiring cannot create an on-delay when the input already changes correctly online. | Verify the input state first, then troubleshoot the program. |
| Hold the button longer without checking the preset | This only works if direct, continuous button timing is intended and the hold time exceeds the preset. | Decide whether the timer must run only while held or continue after a momentary press. |
| Search only the default Ladder instruction list |
eTON belongs to eLLabStdLib; it may not appear until that library or its object is available to the project. |
Link the library or import the function-block object. |
On-delay timing mechanism
eTON is the commonly used delayed-on, or on-delay, timer. While its enabling path remains true, the block tracks elapsed time. The delayed state becomes true after elapsed time reaches the preset. Opening the path before that point prevents completion and normally returns a non-retentive on-delay to its inactive state; confirm the displayed block states online and the block manual when reset behavior affects the machine sequence.
A direct pushbutton connection therefore implements “delay while pressed.” It does not automatically implement “press once and let the timer finish.” For a momentary-start sequence, latch a separate run request from the pushbutton, use that request to enable the timer, and define an explicit reset condition. The latch creates the continuing command; the timer only measures it.
Execution is scan-based. The controller reads the input, executes the Ladder network, updates the timer state, and then applies the resulting logic through its normal runtime cycle. A command that is shorter than the controller can reliably observe may never establish a usable true state. Read actual scan information and online input transitions from the target runtime rather than assigning an assumed minimum press time.
Required objects and engineering quantities
The project must contain eTON from eLLabStdLib. LogicLab permits either linking the library or importing the individual object. Library linking is appropriate when the project uses multiple maintained objects from the library; object import keeps the required block local to the project. Follow the project’s existing dependency method to avoid maintaining the same function block through two paths.
| Quantity or limit | Why it matters | Where to read it |
|---|---|---|
| Timer preset | Defines the uninterrupted enabling time required for completion. | The eTON call in the Ladder network and its online value. |
| Elapsed time | Shows whether the block is accumulating, stalled, or repeatedly resetting. | Online monitoring of the function-block instance. |
| Pushbutton state | Separates field-input faults from timer-logic faults. | Online input status and the energized Ladder path. |
| Program scan behavior | Determines whether short input changes are observed and when completion logic executes. | Target runtime diagnostics. |
| Input electrical rating | Controls acceptable sensor or contact-interface current and voltage. | Controller or input-module datasheet and wiring diagram. |
| Output current and load inrush | Controls output-stage heating and whether interface equipment is required. | Output-module and load datasheets. |
Ladder configuration procedure
- Open the project’s library or object management area and make
eLLabStdLibavailable. If the project does not link libraries, import theeTONobject instead. - Insert an
eTONfunction-block call in the Ladder network. Create the instance storage requested by LogicLab; a function block needs persistent state between scans to track elapsed time. - Connect the pushbutton condition to the block’s enabling input. Use the exact terminal names and data types displayed by the block declaration rather than borrowing names from another timer implementation.
- Assign the required delay to the preset input using the time syntax accepted by the declaration. Confirm the unit and value in LogicLab before downloading.
- Connect the timer’s completion result to the next logical condition or command. If it ultimately controls a physical load, drive the configured output through the required output hardware and interface device.
- Compile the project and correct missing-library, unresolved-object, instance, or type errors. Download to the intended target and place the relevant network under online observation.
The Ladder example associated with the manual must be recreated in the project. Text-language examples can be copied and pasted where applicable, but that does not translate them automatically into a Ladder network. The demonstration program identified for this timer is Ptp115; use it to compare block placement and signal flow.
Diagnostic decision path
| Observed symptom | Check | Action |
|---|---|---|
eTON is unavailable |
Inspect project dependencies and imported objects. | Link eLLabStdLib or import eTON, then rebuild. |
| Elapsed time never changes | Watch the pushbutton input, rung continuity, block enable state, and whether the containing program executes. | Repair the first false condition or task/program assignment found. |
| Elapsed time rises and returns to zero | Monitor the enabling path for brief false transitions. | Correct intermittent input logic, contact bounce handling, or an unintended reset path. |
| Timer stops when the button is released | Determine whether the specification requires hold-to-time or press-to-start behavior. | Add a latched run request only for press-to-start operation, with a defined reset. |
| Completion changes but the load does not | Trace logic from the completion result through interlocks, output mapping, field voltage, and the load circuit. | Repair the downstream condition or electrical circuit; changing the preset will not restore output power. |
Functional and electrical verification
- Force no signals. Confirm the enabling path, elapsed indication, completion state, and commanded output are inactive.
- Press for less than the preset. Confirm elapsed time changes but completion does not assert.
- Maintain the enabling condition through the preset. Confirm completion changes once the preset is reached and that downstream interlocks respond in the expected scan sequence.
- Release the direct button condition, or apply the designed reset to a latched start. Confirm the timer and commanded logic return to their intended inactive states.
- Repeat while monitoring the physical input and output. Compare commanded output with measured field voltage and load operation.
The timer output is a logical result, not permission to exceed an output rating. Compare steady load current and starting inrush with the module and load datasheets. This is heat, not logic: repeated operation can thermally overload an undersized output stage even when the Ladder sequence is correct.
FAQ
How do I find the timer in LogicLab?
Make eLLabStdLib available to the project, then insert its eTON function block. Alternatively, import the individual eTON object.
How do I start a LogicLab timer with one button press?
Latch a run request from the momentary pushbutton and use that request to enable eTON. Add an explicit reset condition; connecting the button directly makes timing depend on how long it remains pressed.
How do I tell why eTON never finishes?
Monitor the input, Ladder continuity, enable state, preset, and elapsed value online. If elapsed time repeatedly returns to zero, find the false transition or reset condition interrupting the timing path.
How do I know when to stop troubleshooting and escalate?
Stop when eTON remains unresolved after eLLabStdLib is present, the project compiles incorrectly despite matching block data types, or online behavior differs from the block declaration and Ptp115. Record the target identification, project configuration, compile messages, and online timer states, then escalate to the official LogicLab or Elsist support channel.