- 1Lamp FollowDifficultyeasyTurns on a lamp while a push button is pressed and off when released.
- 2Lamp InvertedDifficultyeasyControls a lamp to be the logical inverse of a push button.
- 3Two-Button LampDifficultyeasyTurns on a lamp only when both push buttons are pressed simultaneously.
- 4Either-Button LampDifficultyeasyTurns on a lamp when either of two push buttons is pressed.
- 5Xor GateDifficultyeasyTurns on a lamp when exactly one of two push buttons is pressed.
- 6Voting LampDifficultyeasy2-of-3 majority voting for a lamp output.
- 7Select BetweenDifficultyeasySelects and routes one of two REAL inputs to the output based on a boolean selector switch.
- 8Start/Stop MotorDifficultyeasyStart/Stop motor controller with seal-in latch and stop priority.
- 9Rising EdgeDifficultyeasyProduces a single-scan pulse on the rising edge of the input.
- 10Falling EdgeDifficultyeasyProduces a single-scan pulse on every 1-to-0 transition of a BOOL input.
- 11Count UpDifficultyeasyUp-counter that fires a done signal when count reaches 10.
- 12Count Up DownDifficultyeasyBidirectional counter tracking a running balance.
- 13Batch CounterDifficultyeasyPulses BatchReady every 5 trigger events and tracks the running batch count.
- 14On DelayDifficultyeasyDrives the output high once the input has stayed high continuously for 1 second.
- 15Off DelayDifficultyeasyKeeps the output high for 2 seconds after the input goes low (Off-Delay).
- 16Cumulative TimerDifficultyeasyTurns Out_Done on after In_Enable has been on for 5 seconds in total. Pauses retain the elapsed time.
- 17Sign CheckDifficultyeasyEvaluates a numeric input and sets a flag indicating if it is negative, zero, or positive.
- 18Compare PairDifficultyeasyCompares two numeric inputs and outputs Less, Equal, and Greater flags.
- 19ScaleDifficultyeasyScales a raw 4-20 mA sensor signal to a 0-100 °C engineering unit value.
- 20Absolute ValueDifficultyeasyOutputs the absolute value of a numeric input.
- The first 20 exercises are free — Plus plan unlocks the full catalog
- 21Reverse Speed ReferenceDifficultyeasyPasses a signed speed reference through, or flips its sign when the reverse command is on.
- 22ModuloDifficultyeasyOutputs the remainder of dividing the dividend by the divisor.
- 23Square RootDifficultyeasyOutputs the square root of a REAL input's magnitude.
- 24ClampDifficultyeasyConstrains a numeric value between 0 and 100.
- 25Mux 4DifficultyeasyRoutes one of four input sources to the output based on a select value.
- 26Demux 4DifficultyeasyRoutes a single input to one of four outputs based on a selector value, acting as the inverse of a multiplexer.
- 27Word InvertDifficultyeasyOutputs the bitwise complement of an integer input — every bit flipped.
- 28Bit DifferenceDifficultyeasyOutputs a word whose bits are set only where the command and feedback words disagree.
- 29Bit PackDifficultyeasyPacks eight BOOL inputs into the low eight bits of one DINT word.
- 30Bit UnpackDifficultyeasyUnpacks the low eight bits of a DINT word into eight BOOL outputs.
- 31Apply Bit MaskDifficultyeasyPasses only the input bits selected by a mask; every unselected output bit is zero.
- 32Set Selected BitsDifficultyeasyForces selected bits of a word on while preserving every other input bit.
- 33One-Scan DelayDifficultymediumDrives one output that follows the button instantly and another that follows it one scan later.
- 34Press-Toggle LampDifficultymediumToggles a lamp output on each rising edge of a push button.
- 35Count Up Down with BoundsDifficultymediumBidirectional counter with upper and lower bounds, and flag outputs when the limits are hit.
- 36PulseDifficultymediumProduces a 1-second output pulse on each rising edge of the trigger input.
- 37Long PressDifficultymediumFires a single-scan pulse when the input is released after being held continuously for at least 2 seconds.
- 38DebounceDifficultymediumFilters contact bounce by ignoring input transitions shorter than a preset time.
- 39FlasherDifficultymediumFlashes an output at 1 Hz (1s ON, 1s OFF) while enabled.
- 40Watchdog AlarmDifficultymediumRaises an alarm if a heartbeat rising edge is not detected within the timeout period.
- 41Run HoursDifficultymediumTotals a machine's run time as hours, minutes, and seconds, retaining the total through stops, with a manual reset.
- 42Delayed ShutdownDifficultymediumHolds the run output high for a cooldown period after a stop command is received.
- 43Configurable ScalingDifficultymediumLinearly scales a raw input to engineering units between two configurable endpoints.
- 44Clamp with OverflowDifficultymediumConstrains a numeric input between Min and Max bounds and raises flags when limits are hit.
- 45VFD Speed RefDifficultymediumClamps an operator percent setpoint to 0-100 and scales it for a VFD configured to accept a 0-32767 raw speed reference.
- 46DP FlowDifficultymediumConverts a differential-pressure reading into a flow rate using a square-root characteristic.
- 47HysteresisDifficultymediumApplies hysteresis to an analog input, setting the output true at the high limit and false at the low limit.
- 48Tank FillDifficultymediumBang-bang controller for a tank fill valve with configurable deadband.
- 49Level AlarmDifficultymediumGenerates high and low alarms based on a level input, configurable setpoints, and a deadband to prevent chatter.
- 50Min Max TrackerDifficultymediumTracks the minimum and maximum of an analog input and re-seeds both outputs while In_Reset is asserted.
- 51Median 3DifficultymediumOutputs the middle of three transmitter readings, excluding the highest and lowest values.
- 52Lag FilterDifficultymediumSmooths a noisy analog input by closing a fraction of the gap to it once per second.
- 53Rate of ChangeDifficultymediumReports how much an analog input changed over the last second, updating once per second.
- 54Mux 4 with FallbackDifficultymedium4-channel multiplexer with an out-of-range selector fallback and fault indication.
- 55Stateful Masked MoveDifficultymediumCopies selected source bits into a retained word while preserving its previous unselected bits.
- 56Combine Two RegistersDifficultymediumCombines two 16-bit device registers into one 32-bit word.
- 57Priority EncoderDifficultymediumEncodes eight BOOL inputs into the index of the highest-priority active input.
- 58Single-Trigger SequencerDifficultymediumAdvances through three steps using one shared Next button.
- 59Conditional SequencerDifficultymediumAdvances each step only when that step's own completion input is on.
- 60Traffic Light SimpleDifficultymediumSimple traffic light sequencer cycling through Red, Green, and Amber phases.
61Manual/Auto MotorDifficultymediumcomingControls one motor in manual or automatic mode with stop priority and a resettable fault latch.
62Replace Selected BitsDifficultymediumcomingReplaces selected bits in an existing word while preserving every unselected bit.
63Bit ToggleDifficultymediumcomingFlips the masked bits of a retained word on each rising edge of the toggle command.
64Mode ManagerDifficultymediumcomingSelects Manual, SemiAuto, or Auto mode and overrides every mode with a resettable fault state.
65Incrementing WatchdogDifficultymediumcomingRaises an alarm when an incrementing heartbeat value stops changing for the configured timeout.
66Traffic Light 2-WayDifficultymediumcomingCycles a two-direction intersection with an all-red safety phase before traffic changes direction.
67Streaming AverageDifficultymediumcomingComputes a rolling average over the last N samples streamed one per scan.
68Sliding MaxDifficultymediumcomingOutputs the maximum of the last N streamed samples in a sliding window.
69FIFODifficultymediumcomingFirst-in-first-out queue with Push, Pop, Out, and Full, Empty, and Count outputs.
70LIFODifficultymediumcomingLast-in-first-out stack with Push, Pop, Peek, and Top, Count, and Empty outputs.
71Ring BufferDifficultymediumcomingFixed-size ring buffer with overwrite-oldest behavior and status outputs.
72Recipe SelectDifficultymediumcomingSelects one of ten recipes by index and outputs the selected recipe parameters.
73Lookup FixedDifficultymediumcomingLinear interpolation through a fixed (X, Y) curve table set at design time.
74Motor Bank StatsDifficultymediumcomingAggregates run count, fault count, and max-hours index across eight motor inputs.
75Event StatsDifficultymediumcomingRecords pushed event codes and outputs the last code, total event count, and oldest code.
76Alarm HistoryDifficultymediumcomingLatches alarms, accepts operator ack, and keeps a sixteen-deep history of events.
77Boiler InterlocksDifficultymediumcomingCombines pressure, level, and flame inputs into a burner permissive and reports which condition is blocking.
78Temp ControllerDifficultymediumcomingDrives separate heat and cool outputs around a setpoint with an idle band between them.
79RampDifficultymediumcomingSteps the output toward a target at a fixed rate per second, without ever overshooting it.
80DosingDifficultymediumcomingPulses a dispenser until a target weight is reached with overshoot compensation.
81Stream First AboveDifficultymediumcomingOutputs the index of the first streamed sample to exceed a threshold.
82Flow TotalizerDifficultymediumcomingAccumulates a flow rate into batch and lifetime volume totals, where reset clears only the batch.
83Pump DutyDifficultymediumcomingAlternates two pumps in lead and lag roles based on accumulated run hours.
84Conveyor SectionDifficultymediumcomingEnergy-saving conveyor with upstream-edge start, downstream-edge stop, and a manual override.
85Alarm ShelvingDifficultymediumcomingAlarm with shelve, ack, and unshelve states plus a reactivation timer and operator inputs.
86Drift-Resistant FlasherDifficultyhardcomingKeeps one-second ON and OFF phases aligned without accumulating scan-cycle delays.
87Pedestrian CrossingDifficultyhardcomingAdds a queued pedestrian request and walk phase to a two-direction traffic light.
88Wash CycleDifficultyhardcomingRuns Fill, Mix, and Drain actuators in order with pause, resume, and reset controls.
89First Out FaultDifficultyhardcomingLatches the first of N fault inputs to fire and outputs the index with the latched flag.
90Parking GarageDifficultyhardcomingRuns entry and exit counters, a full sign, gate control, and capacity tracking for a parking garage.
91Drill CycleDifficultyhardcomingTwo-hand-start drill cycle that descends, dwells, and retracts with a release-stops-cycle rule.
92DrawbridgeDifficultyhardcomingControls a drawbridge through bells, barriers, raise, and reverse with sensor-gated transitions.
93Emergency ShutdownDifficultyhardcomingLayered shutdown with light-fault soft-stop, hard-fault hard-stop, and a chained all-stop output.
94Dual HeartbeatDifficultyhardcomingWatchdog with two heartbeat inputs that alarms on either missing and outputs last-seen times.
95Leaky BucketDifficultyhardcomingRate limiter that counts pulses, drains over time, and outputs Allowed and Level.
96Failover PrimaryDifficultyhardcomingPrimary and secondary source selector with hysteresis and per-source health flags.
97Bumpless SwapDifficultyhardcomingSwaps from manual to automatic control without a setpoint kick at the transition.
98Lubrication CycleDifficultyhardcomingPeriodic lubrication pulse generator with skip-on-fault and run-condition gating.
99Elevator 3-FloorDifficultyhardcomingControls a three-floor elevator with call buttons, current floor output, and direction logic.
100Recipe BatchDifficultyhardcomingExecutes a four-step recipe with per-step time and temperature parameters and a Done flag.
101Diverter GateDifficultyhardcomingThree-way conveyor diverter routed by an upstream classifier signal and a presence sensor.
102Pallet StopDifficultyhardcomingPallet-stop conveyor block with raise and lower cylinders, presence sensors, and escape logic.
103Zone ControllerDifficultyhardcomingMaterial-flow zone controller with upstream and downstream handshake signals.
104Bottle StationDifficultyhardcomingDetects, stops, fills, caps, and ejects bottles on a re-entrant station conveyor.
105Indexing TableDifficultyhardcomingRotary indexing table with Home, Step, and Fault states plus a position output.
106Burner ControlDifficultyhardcomingBurner control state machine through Purge, Ignite, Run, and Lockout states with safety inputs.
107Washing MachineDifficultyhardcomingProgrammable wash cycle: fill, agitate, drain, and spin with door interlock and fault holding.
108Mixer TankDifficultyhardcomingCombines agitator, heater, level control, and recipe time into a mixing tank controller.
109Bag FillerDifficultyhardcomingWeighs, fills to target, rejects overweight bags, and counts batches on a packaging line.
110Railway CrossingDifficultyhardcomingDetects approach, lowers barriers, holds, and raises with a safety check at end of cycle.
111Injection MolderDifficultyhardcomingClamp, inject, cool, and eject sequence with pressure and temperature permissives per step.
112Pump Station 3DifficultyhardcomingThree-pump duty, standby, and standby station with run-hour rotation and fault transfer.
113Wastewater StationDifficultyhardcomingWastewater pump alternation with high-level alarm, dry-run protection, and comm-fault handling.
114Stacker CraneDifficultyhardcomingRuns an XY stacker crane to a target slot, picks from infeed, and delivers to the bin row.
115Wind Turbine YawDifficultyhardcomingYaw controller aligning to wind direction with hysteresis, cable-wind protection, and override.
116Batch ReactorDifficultyhardcomingMulti-step batch reactor with operator confirms, hold-on-fault, and end-of-batch reporting.
117Bottling LineDifficultyhardcomingCoordinates infeed, fill, cap, label, and palletize stations on a bottling line.