Skip to content

GEQ — Greater Than or Equal

Category
Compare
Type
Input (condition)
Availability
All platforms

GEQ instruction block: Source A TMR[0].ACC reading 2334, Source B 5000, dark because the timer is still below 5000


GEQ (Greater Than or Equal) is true when Source A is greater than or equal to Source B. It is GRT with the boundary included, and like every compare instruction it writes nothing. Use GEQ when reaching the value should count: “at least N parts”, “at or above setpoint”, “the timer has run this long”. A timer or counter’s own DN bit is a GEQ on its accumulator against its preset; GEQ lets you test the accumulator against any other number. When the boundary must not count, use GRT. GEQ does not accept STRING operands.


Operand Type Format Valid Range Required Description
Source A Any numeric tag, member, element or bit, or a literal Tag, Tag.Member, Tag[n], Tag.bit, or a literal Any resolvable numeric reference Yes The value under test.
Source B Same as Source A Same Any resolvable numeric reference; defaults to 0 Yes The threshold, inclusive.

Literals may be whole numbers (25, -3, 0x1F) or decimals (72.5). Mixed INT and REAL operands compare as numbers. A BOOL reads as 0 or 1.


No state. Evaluates from the current values on the first scan.

The instruction does not pass continuity. The block still colours by its own result on the canvas.

Both operands are read. If A is greater than or equal to B the instruction conducts; if A is less than B the rung is false from this point.

Nothing.


Scenario: A ten-second TON runs while the motor is on. Halfway through the delay, at five seconds, a “warming up” lamp changes to “almost ready”. The timer’s accumulator is the operand, so no second timer is needed.

Tags:

  • MotorRun — Motor run, BOOL
  • TMR[0] — TIMER array element, Preset 10000, driven by XIC MotorRun → TON TMR[0] on another rung
  • Halfway — Almost-ready lamp, BOOL

Rung 1:

—[GEQ TMR[0].ACC 5000]———(OTE Halfway)———

Scan 1 — the timer reads 2334. 2334 is less than 5000: the block is dark, Halfway = 0. The value line under TMR[0].ACC is the member’s own value, not the timer’s; a member operand reads exactly like a tag.

Figure 1 — GEQ false: TMR[0].ACC reads 2334 against Source B 5000, the block dark, Halfway off

Scan 2 — the timer has timed out. The block lit the moment the accumulator reached 5000 and Halfway = 1. The frame was taken later, with the accumulator parked at 10000 (a done TON holds ACC at PRE); it stays lit until the motor stops and the timer resets to 0.

Figure 2 — GEQ true: TMR[0].ACC parked at 10000 against Source B 5000, the block lit, Halfway on


  • GRT — Greater Than (boundary excluded)
  • LEQ — Less Than or Equal (the mirror test)
  • LIM — Limit Test
  • TON — Timer On Delay (the accumulator used in the example)
  • Compare Instructions — Category index

GEQ A B is LEQ B A. Pick whichever reads naturally on the rung.

Reading an accumulator. TMR[0].ACC and Batch.ACC are ordinary operands. Read them freely; a compare never changes them.

Several thresholds on one timer. Put a GEQ per threshold on its own rung, each against the same accumulator, for a staged sequence from a single delay.

Applies to LadderIDE >=1.2.2 · Last reviewed 2026-09-11 · Screenshots verified 2026-09-11