| 1 | Lamp Follow | easy | | Turn on a lamp while a push button is pressed and off when released. |
| 2 | Lamp Inverted | easy | | Turn off a lamp while a push button is pressed and on when released. |
| 3 | Two-Button Lamp | easy | | Turn on a lamp only when both push buttons are pressed at once. |
| 4 | Either-Button Lamp | easy | | Turn on a lamp when either push button is pressed and off when both are released. |
| 5 | Xor Gate | easy | | Turn on a lamp when exactly one of two push buttons is pressed and off otherwise. |
| 6 | Voting Lamp | easy | | Light a lamp when at least two of three push buttons are pressed. |
| 7 | Select Between | easy | | A BOOL select input chooses between two inputs to route to the output. |
| 8 | Start/Stop Motor | easy | | Latch a motor running on Start press and drop it on Stop press. |
| 9 | Rising Edge | easy | | Produce a single-scan pulse on every 0-to-1 transition of a BOOL input. |
| 10 | Falling Edge | easy | | Produce a single-scan pulse on every 1-to-0 transition of a BOOL input. |
| 11 | One-Scan Delay | medium | | Drive one lamp that follows a button instantly and a second that follows it one scan later. |
| 12 | Press-Toggle Lamp | medium | | Flip the lamp state on each rising edge of the push button. |
| 13 | Count Up | easy | | Up-counter with a count input, reset, and a Done output that fires when count reaches 10. |
| 14 | Count Up Down | easy | | Bidirectional counter with separate Up and Down inputs that tracks a running balance. |
| 15 | Batch Counter | easy | | Pulse BatchReady every 5 trigger events and track the running batch count. |
| 16 | Count Up Down with Bounds | medium | | Bidirectional counter with upper and lower bounds, and flag outputs when the limits are hit. |
| 17 | On Delay | easy | | Drive the output high once the input has stayed high continuously for 1 second. |
| 18 | Off Delay | easy | | Keep the output high for 2 seconds after the input goes low. |
| 19 | Flasher | easy | | Flash the output at 1 Hz (1 second on, 1 second off) while enable is high. |
| 20 | Pulse | medium | | Produce a 1-second output pulse on each rising edge of the trigger input. |
| The first 20 exercises are free — Plus plan unlocks the full catalog |
| 21 | Long Press | medium | | Fire a single-scan pulse when the input is released after being held continuously for at least 2 seconds — short taps produce no output. |
| 22 | Debounce | medium | | Filter contact bounce by ignoring input transitions shorter than a preset time. |
| 23 | Watchdog Alarm | medium | | Raise an alarm if the heartbeat input fails to pulse within the timeout. |
| 24 | Run Hours | medium | | Accumulate the run time of a BOOL input in seconds with a manual reset. |
| 25 | Delayed Shutdown | medium | | Hold the run-OK output high for a cooldown period after Stop is pressed. |
| 26 | Traffic Light Simple | medium | | Drive a one-way traffic light through red, green, and amber phases on a timer. |
| 27 | Scale | easy | | Scale a sensor reading from 4-20 mA into a 0-100 °C output. |
| 28 | Clamp | easy | | Constrain a numeric input between 0 and 100. |
| 29 | Sign Check | easy | | Output Negative, Zero, and Positive flags by comparing a numeric input to zero. |
| 30 | Compare Pair | easy | | Output Less, Equal, and Greater flags by comparing two numeric inputs. |
| 31 | Mux 4 | easy | | A select input (0 to 3) chooses which of four inputs is routed to the output. |
| 32 | Demux 4 | easy | | An input is routed to one of four outputs chosen by a select input (0 to 3). |
| 33 | Mux 4 with Fallback | medium | | Route one of four inputs by select value, falling back to a safe default and raising a fault flag when the select is out of range. |
| 34 | Clamp with Overflow | medium | | Constrain a numeric input between Min and Max bounds and raise flags when limits are hit. |
| 35 | Scale (Configurable) | medium | | Linearly scale a raw input to engineering units between two tunable endpoints. |
| 36 | VFD Speed Ref | medium | | Clamp an operator percent to 0-100 and convert it to the raw 0-32767 speed reference a VFD expects. |
| 37 | Hysteresis | medium | | Set the output true at the high setpoint and false at the low setpoint to avoid chatter. |
| 38 | Level Alarm | medium | | Produce Hi and Lo alarm outputs around setpoints with a deadband to avoid chatter. |
| 39 | Tank Fill | medium | | Open a fill valve until the tank level reaches the setpoint and close within deadband. |
| 40 | Min Max Tracker | medium | | Track the minimum and maximum of an analog input until a Reset input is pulsed. |
| 41 | Rate of Change | medium | coming | Output the rate of change of an analog input in engineering units per second. |
| 42 | Streaming Average | medium | coming | Compute a rolling average over the last N samples streamed one per scan. |
| 43 | Energy Meter | medium | coming | Integrate a power input over time to produce accumulated energy with a manual reset. |
| 44 | Ramp | medium | coming | Ramp the output from its current value to the target at a given rate per second. |
| 45 | Lead Lag | medium | coming | First-order lead-lag filter for process modeling, smoothing, and feedforward control. |
| 46 | Pump Duty | medium | coming | Alternate two pumps in lead and lag roles based on accumulated run hours. |
| 47 | Dosing | medium | coming | Pulse a dispenser until a target weight is reached with overshoot compensation. |
| 48 | Flow Totalizer | medium | coming | Integrate a flow rate into batch and lifetime volume totals, where reset clears only the batch. |
| 49 | Boiler Interlocks | medium | coming | Combine pressure, level, and flame inputs into a burner permissive and report which condition is blocking. |
| 50 | Bit Pack | easy | coming | Pack sixteen BOOL inputs into a DINT output with each input mapped to a bit. |
| 51 | Bit Unpack | easy | coming | Unpack a DINT input into sixteen BOOL outputs, one per bit position. |
| 52 | Abs Value | easy | coming | Output the absolute value of a REAL input with a separate sign flag output. |
| 53 | Modulo | easy | coming | Compute the integer modulo of two inputs with proper handling of negative dividends. |
| 54 | Encoder 8 to 3 | medium | coming | Encode eight BOOL inputs as a three-bit index of the highest active input. |
| 55 | Stream First Above | medium | coming | Output the index of the first streamed sample to exceed a threshold. |
| 56 | Sequencer 3-Step | medium | coming | State machine stepping through Idle, Running, and Done states from Start and Reset inputs. |
| 57 | Wash Cycle | medium | coming | Four-step Fill, Mix, Drain, and Idle wash cycle with Pause, Resume, and Reset. |
| 58 | Traffic Light 2-Way | medium | coming | Drive a two-direction traffic intersection with an all-red gap between phases. |
| 59 | Pedestrian Crossing | medium | coming | Add a pedestrian-request button to a two-way traffic light without breaking the cycle. |
| 60 | Drawbridge | hard | coming | Control a drawbridge through bells, barriers, raise, and reverse with sensor-gated transitions. |
| 61 | Elevator 3-Floor | hard | coming | Control a three-floor elevator with call buttons, current floor output, and direction logic. |
| 62 | Bottle Station | hard | coming | Detect, stop, fill, cap, and eject bottles on a re-entrant station conveyor. |
| 63 | Drill Cycle | hard | coming | Two-hand-start drill cycle that descends, dwells, and retracts with a release-stops-cycle rule. |
| 64 | Recipe Batch | hard | coming | Execute a four-step recipe with per-step time and temperature parameters and a Done flag. |
| 65 | Emergency Shutdown | hard | coming | Layered shutdown with light-fault soft-stop, hard-fault hard-stop, and a chained all-stop output. |
| 66 | Sliding Max | medium | coming | Output the maximum of the last N streamed samples in a sliding window. |
| 67 | FIFO | medium | coming | First-in-first-out queue with Push, Pop, Out, and Full, Empty, and Count outputs. |
| 68 | LIFO | medium | coming | Last-in-first-out stack with Push, Pop, Peek, and Top, Count, and Empty outputs. |
| 69 | Ring Buffer | medium | coming | Fixed-size ring buffer with overwrite-oldest behavior and status outputs. |
| 70 | Recipe Select | medium | coming | Select one of ten recipes by index and output the selected recipe parameters. |
| 71 | Alarm History | medium | coming | Latch alarms, accept operator ack, and keep a sixteen-deep history of events. |
| 72 | Motor Bank Stats | medium | coming | Aggregate run count, fault count, and max-hours index across eight motor inputs. |
| 73 | Lookup Fixed | medium | coming | Linear interpolation through a fixed (X, Y) curve table set at design time. |
| 74 | Event Stats | medium | coming | Push events with a code and output last code, total event count, and oldest code. |
| 75 | Motor Starter | medium | coming | Motor starter with Start, Stop, Reset, and Auto inputs producing Run and Faulted outputs. |
| 76 | Conveyor Section | medium | coming | Energy-saving conveyor with upstream-edge start, downstream-edge stop, and a manual override. |
| 77 | Pump Station 3 | hard | coming | Three-pump duty, standby, and standby station with run-hour rotation and fault transfer. |
| 78 | Mixer Tank | hard | coming | Combine agitator, heater, level control, and recipe time into a mixing tank controller. |
| 79 | Diverter Gate | hard | coming | Three-way conveyor diverter routed by an upstream classifier signal and a presence sensor. |
| 80 | Indexing Table | hard | coming | Rotary indexing table with Home, Step, and Fault states plus a position output. |
| 81 | Lubrication Cycle | hard | coming | Periodic lubrication pulse generator with skip-on-fault and run-condition gating. |
| 82 | Burner Control | hard | coming | Burner control state machine through Purge, Ignite, Run, and Lockout states with safety inputs. |
| 83 | Pallet Stop | hard | coming | Pallet-stop conveyor block with raise and lower cylinders, presence sensors, and escape logic. |
| 84 | Zone Controller | hard | coming | Material-flow zone controller with upstream and downstream handshake signals. |
| 85 | Parking Garage | hard | coming | Run entry and exit counters, a full sign, gate control, and capacity for a parking garage. |
| 86 | Bag Filler | hard | coming | Weigh, fill to target, reject overweight bags, and count batches on a packaging line. |
| 87 | Washing Machine | hard | coming | Programmable wash cycle: fill, agitate, drain, and spin with door interlock and fault holding. |
| 88 | Injection Molder | hard | coming | Clamp, inject, cool, and eject sequence with pressure and temperature permissives per step. |
| 89 | Railway Crossing | hard | coming | Detect approach, lower barriers, hold, and raise with a safety check at end of cycle. |
| 90 | Wastewater Station | hard | coming | Wastewater pump alternation with high-level alarm, dry-run protection, and comm-fault handling. |
| 91 | Stacker Crane | hard | coming | Run an XY stacker crane to a target slot, pick from infeed, and deliver to the bin row. |
| 92 | Batch Reactor | hard | coming | Multi-step batch reactor with operator confirms, hold-on-fault, and end-of-batch reporting. |
| 93 | Wind Turbine Yaw | hard | coming | Yaw controller aligning to wind direction with hysteresis, cable-wind protection, and override. |
| 94 | Bottling Line | hard | coming | Coordinate infeed, fill, cap, label, and palletize stations on a bottling line. |
| 95 | Alarm Shelving | medium | coming | Alarm with shelve, ack, and unshelve states plus a reactivation timer and operator inputs. |
| 96 | Mode Manager | medium | coming | Manual, Auto, SemiAuto, and Fault state manager with a mode-id output and transitions. |
| 97 | Bumpless Swap | hard | coming | Swap from manual to automatic control without a setpoint kick at the transition. |
| 98 | Temp Controller | medium | coming | Drive separate heat and cool outputs around a setpoint with an idle band between them. |
| 99 | Deadband Plus | medium | coming | Tunable filter combining deadband, hysteresis, and rate limiting in one block. |
| 100 | Leaky Bucket | hard | coming | Rate limiter that counts pulses, drains over time, and outputs Allowed and Level. |
| 101 | First Out Fault | hard | coming | Latch the first of N fault inputs to fire and output the index with the latched flag. |
| 102 | Moving Median 3 | medium | coming | Output the streaming median of the last three samples to reject outlier spikes. |
| 103 | Failover Primary | hard | coming | Primary and secondary source selector with hysteresis and per-source health flags. |
| 104 | Dual Heartbeat | hard | coming | Watchdog with two heartbeat inputs that alarms on either missing and outputs last-seen times. |
| 105 | Square Root | easy | coming | Output the square root of a numeric input, including when the input is negative. |
| 106 | DP Flow | medium | coming | Convert a differential-pressure reading into a flow rate using a square-root characteristic. |
| 107 | Reverse Reference | medium | coming | Pass a signed speed reference straight through, or flipped in sign when a reverse input is on. |
| 108 | Word Invert | easy | coming | Output the bitwise complement of an integer input — every bit flipped. |
| 109 | Bit Difference | medium | coming | Output a word whose bits are set only where two input words disagree. |
| 110 | Bit Toggle | medium | coming | Flip a chosen set of bits in a retained word each time a command pulses, leaving the rest untouched. |
| 111 | Masked Update | medium | coming | Copy only the masked bits of a source word into a destination, preserving the destination bits under a zero mask. |
| 112 | Bit Field Move | hard | coming | Relocate a fixed run of bits from one position in a word to another, leaving surrounding bits unchanged. |