PLC Simulator
Legacy PLC language workbenchLanguage workbench

PLC Instruction List Simulator: Run IEC IL Online

Write and execute accumulator-style Instruction List with declarations, located variables, Boolean logic, stores, latches, grouping and selected function blocks—useful for learning and maintaining older PLC code.

Independent learning tool. No hardware connection, vendor project import or controller download. Technical scope verified August 7, 2026.

Program memory
IEC Instruction List
VAR  Start AT %I0.0 : BOOL;  Stop  AT %I0.1 : BOOL;  Motor AT %Q0.0 : BOOL;END_VAR LD    StartANDN  StopST    Motor
INPUTOUTPUT

Instruction List practice surface

Every capability below is tied to the current parser instead of a generic vendor claim.

  • IEC-style VAR declarations
  • LD / AND / OR / ST accumulator flow
  • Parenthesised grouping and latches
  • Selected timers, counters and arithmetic

Why an Instruction List simulator still has value

Instruction List is a compact, accumulator-oriented PLC language found in older systems, course notes and maintenance work. Reading it well means tracking the result of each load, Boolean operation and store.

New projects are generally better served by current supported languages and the target vendor’s tooling. This workbench exists to make legacy logic observable and to help learners compare common IL ideas with vendor mnemonics.

Address translation sheet

Read the memory map before the rung

These are the address forms this learning runtime recognises. The final column states the simulator behavior, including intentional simplifications.

Device / areaRoleExampleBrowser behavior
%ILocated input%I0.0Binds a declared Boolean to the browser input bus.
%QLocated output%Q0.0Binds a declared Boolean to the browser output bus.
%MInternal bit memory%M0.0Provides located internal Boolean state.
%MWInternal word memory%MW0Provides word storage for supported data operations.
SymbolicNamed variable / FBMotorRun, Delay1VAR declarations provide types and optional initial values.

Executable now

Supported instruction groups

Accumulator logic
LD, LDN, AND, ANDN, OR, ORN and NOT
Grouping and stores
AND(, OR(, ), ST, STN, S and R
Function blocks
CAL for selected timers, counters and edge triggers
Data operations
MOV, ADD, SUB, MUL and DIV as standalone operations

Do not assume

Not in the current subset

  • XOR and XORN
  • Every vendor’s IL extensions or legacy project format
  • Hardware-specific memory, scan timing and task behavior
  • Importing or downloading controller projects

Worked example

A typed IEC IL motor permissive

VAR binds readable symbols to I/O. The instruction sequence loads Start, ANDs the inverse of Stop, then stores the result in Motor.

Run your own program
IEC Instruction ListParser-valid example
VAR
  Start AT %I0.0 : BOOL;
  Stop  AT %I0.1 : BOOL;
  Motor AT %Q0.0 : BOOL;
END_VAR

LD    Start
ANDN  Stop
ST    Motor

Learning sequence

How to read Instruction List without guessing

  1. 01

    Mark declarations

    Record each variable type and located address before following instructions.

  2. 02

    Track the accumulator

    Write down the result after every LD, AND, OR or NOT.

  3. 03

    Locate side effects

    Identify ST/STN outputs, S/R latches and CAL function-block calls.

  4. 04

    Translate for maintenance

    Restate the logic as a Boolean expression or ladder rung, then validate against the target controller.

Engineering boundary

A learning interpreter for legacy logic

The simulator implements a documented IL subset in its own runtime. It is not a compiler for a specific controller and should not be used to claim binary or timing equivalence.

  • Unsupported instructions fail rather than being guessed.
  • Vendor extensions belong on their dedicated dialect pages.
  • Production migration requires the target vendor’s compiler, tests and hardware validation.

Technical evidence

Sources and verification

Page claims and the simulator support matrix were reviewed against the production parser and these primary technical sources on August 7, 2026.

Questions

PLC Instruction List Simulator FAQ

Instruction List is a compact accumulator-style PLC language. Programs load a value, combine it with Boolean operations and store the result, with additional instructions for state and function blocks.

Make legacy Instruction List observable

Run the typed example, trace the accumulator, and compare the result with the vendor dialect you maintain.

Runnable simulator field guide

PLC Instruction List simulator: implementation, evidence and troubleshooting

Direct answer

PLC Instruction List simulator becomes useful when it connects source dialect, instruction set, operand and data types, result-of-logic state, accumulators, labels, jumps, calls, i/o, target and migration goal with ordered il statements through logic or accumulator state, stores, branches and calls to resulting output and modeled machine behavior, then proves one boolean network, timer or counter and numeric expression stepped from known input states under normal, boundary, fault and recovery conditions. The objective is a repeatable engineering or learning result, not merely activity inside a page or tool.

This guide is written for learners and maintainers reading legacy IL mnemonics, Boolean result flow, accumulators, jumps and instruction-order behavior. The intended result is specific: the learner can step through a bounded IL program, predict state and translate the behavior into a currently supported language with tests.

an automation engineer correlating ladder logic, scan timing, PLC I/O and a controlled test result at a debug bench while studying legacy IEC Instruction List execution and migration practice
The physical context keeps legacy IEC Instruction List execution and migration practice tied to declared inputs, owned decisions, observable results and evidence that another person can verify.

System map / 02

Six concepts that control the result

Treat these as connected checkpoints. Each checkpoint has an expected state, an observable state and a boundary to the next part of the system. That structure prevents a software indication from being mistaken for physical proof.

NODE 01observable

Define the operating contract

source dialect, instruction set, operand and data types, result-of-logic state, accumulators, labels, jumps, calls, I/O, target and migration goal. For legacy IEC Instruction List execution and migration practice, record the initial condition, actor, requested change, observable result and stopping condition before selecting a tool or implementation.

NODE 02observable

Map the evidence path

ordered IL statements through logic or accumulator state, stores, branches and calls to resulting output and modeled machine behavior. Separate request, internal state, output or service, physical or user-visible result and independent feedback so each boundary can be inspected.

NODE 03observable

Prove normal operation

one Boolean network, timer or counter and numeric expression stepped from known input states. Run more than one cycle from a known state and retain the values, timings or artifacts that demonstrate repeatability.

NODE 04observable

Exercise a boundary case

implicit state, parentheses, jumps, repeated stores, type conversion, unsupported mnemonic, retentive value and restart. Choose minimum, maximum, simultaneous, delayed or restart conditions that reveal assumptions hidden by the happy path.

NODE 05observable

Diagnose a controlled fault

a dialect, mnemonic, operand, type, execution-order, control-flow, state, output or runtime mismatch. Preserve the first symptom, divide the system at a measurable boundary and change one condition only after predicting the result.

NODE 06observable

Transfer and hand over

behavioral tests preserved while the code is translated and verified in a supported target language. Restore normal state, remove temporary changes, repeat affected checks and document which claims remain limited to the learning environment.

Procedure / 03

A six-step practice and commissioning workflow

Run the steps in order the first time. Later, the same structure becomes a diagnostic loop: define the expected condition, observe the boundary, interpret the difference and choose one proving action.

  1. 01

    Write the acceptance case

    Convert source dialect, instruction set, operand and data types, result-of-logic state, accumulators, labels, jumps, calls, i/o, target and migration goal into initial conditions, one stimulus and observable pass criteria.

    Evidence: Another person can repeat the case without guessing the intended result.

    Avoid: Using page completion or an animation as the acceptance criterion.

  2. 02

    Build the map

    Document ordered il statements through logic or accumulator state, stores, branches and calls to resulting output and modeled machine behavior and name who owns each state or decision.

    Evidence: Every request and result has a source, destination and useful inspection point.

    Avoid: Using the same value as command, status and independent feedback.

  3. 03

    Run the baseline

    Apply one boolean network, timer or counter and numeric expression stepped from known input states from a clean start and record the expected evidence.

    Evidence: Repeated runs produce the same bounded result.

    Avoid: Changing several parameters before a baseline exists.

  4. 04

    Challenge assumptions

    Test implicit state, parentheses, jumps, repeated stores, type conversion, unsupported mnemonic, retentive value and restart without changing the acceptance contract.

    Evidence: Limits, timing and restart behavior reach defined states.

    Avoid: Testing only one ideal sequence.

  5. 05

    Isolate one failure

    Introduce or analyse a dialect, mnemonic, operand, type, execution-order, control-flow, state, output or runtime mismatch and locate the first disagreement.

    Evidence: The proving action distinguishes the leading hypotheses.

    Avoid: Resetting, forcing or replacing before evidence is retained.

  6. 06

    Close the evidence loop

    Complete behavioral tests preserved while the code is translated and verified in a supported target language and repeat the affected regression cases.

    Evidence: A run is complete only when the requested behavior, stop behavior, fault response and recovery are observable from a fresh initial condition.

    Avoid: Treating an acknowledged message or one successful rerun as handover.

Diagnostic matrix / 04

Symptoms, proving points and next actions

The table is a reasoning aid, not a parts-replacement chart. Preserve the initial symptom, inspect the named boundary and use the interpretation to choose the next controlled test. Site safety procedures and equipment manuals remain authoritative.

Diagnostic symptoms, inspection points, interpretations and next actions for PLC Instruction List simulator: implementation, evidence and troubleshooting
Observed symptomInspectInterpretationNext proving action
The expected result is unclearRequirement, initial state, actor, stimulus, units and pass conditionThe operator, programmer and reviewer may be solving different versions of the task.Rewrite one observable acceptance case before continuing.
Internal state changes but the outcome does notRequest, final owner, output or service boundary and independent feedbackA software or interface indication proves intent at one layer, not the complete outcome.Trace the first boundary after the changing state.
Normal case passes but an edge case failsLimits, timing, simultaneous events, reset and restart assumptionsThe implementation contains a hidden assumption exposed by the changed condition.Add the failed boundary as a permanent regression case.
The failure disappears after resetOriginal symptom, histories, diagnostics, timestamps and active causeReset changed evidence or state without proving the initiating cause.Reproduce under a controlled condition and preserve pre/post-event data.
Simulator and target disagreeModel boundary, software version, task timing, I/O behavior, data types and configurationA learning model and the intended target do not share one of the recorded assumptions.Reduce the case and verify against current target documentation.
The result cannot be explainedPrediction, observation, proving action, alternative hypotheses and limitationsActivity occurred but the evidence is not yet transferable or reviewable.Have the learner defend the signal path and repeat a changed case.

Product evidence / 05

What the browser practice can actually demonstrate

The browser runtime joins editable control state to visible I/O and machine or process behavior, allowing the same initial conditions and stimuli to be replayed.

Where simulation stops

IEC Instruction List is deprecated and the learning runtime does not emulate every historical vendor IL, STL or statement-list implementation.

Commissioning notebook / 06

Six cases that turn the concepts into evidence

Use these as written briefs rather than click-through instructions. For every case, state the expected condition before acting, retain the first useful observation and explain why the final result proves the requirement. A different program or component choice can still be correct when it produces the same bounded behavior and evidence.

Case 01

predict → observe → prove

Prove define the operating contract

Engineering context. source dialect, instruction set, operand and data types, result-of-logic state, accumulators, labels, jumps, calls, I/O, target and migration goal. For legacy IEC Instruction List execution and migration practice, record the initial condition, actor, requested change, observable result and stopping condition before selecting a tool or implementation. Begin with a written normal condition and identify which request, state, physical result or communication value will provide independent confirmation. Do not begin by changing the configuration; the initial state is part of the evidence and should remain reproducible.

Controlled setup. Use the “Write the acceptance case” stage of the workflow: convert source dialect, instruction set, operand and data types, result-of-logic state, accumulators, labels, jumps, calls, i/o, target and migration goal into initial conditions, one stimulus and observable pass criteria. The acceptance record should show this result: another person can repeat the case without guessing the intended result. Record initial conditions, the exact stimulus and the observation point so another learner can repeat the case without relying on your memory.

Fault challenge. Introduce or analyse “The expected result is unclear” as one bounded deviation. Inspect requirement, initial state, actor, stimulus, units and pass condition The working interpretation is that the operator, programmer and reviewer may be solving different versions of the task. The next proving action is to rewrite one observable acceptance case before continuing. Change only one condition before observing the result, and preserve timestamps or measurements where timing matters.

Review and recovery. The most common trap here is using page completion or an animation as the acceptance criterion. After restoring the cause, repeat the normal case and at least one stop, timeout, disconnect or restart boundary relevant to this topic. Remove temporary forces and bypasses, return the model to a known state and retain the evidence that both operation and recovery are deliberate.

Explain it aloud: Can I run PLC Instruction List online? A defensible short answer is: You can practise a bounded educational subset where provided, but exact legacy vendor behavior requires the original or supported official engineering environment.

Case 02

predict → observe → prove

Prove map the evidence path

Engineering context. ordered IL statements through logic or accumulator state, stores, branches and calls to resulting output and modeled machine behavior. Separate request, internal state, output or service, physical or user-visible result and independent feedback so each boundary can be inspected. Begin with a written normal condition and identify which request, state, physical result or communication value will provide independent confirmation. Do not begin by changing the configuration; the initial state is part of the evidence and should remain reproducible.

Controlled setup. Use the “Build the map” stage of the workflow: document ordered il statements through logic or accumulator state, stores, branches and calls to resulting output and modeled machine behavior and name who owns each state or decision. The acceptance record should show this result: every request and result has a source, destination and useful inspection point. Record initial conditions, the exact stimulus and the observation point so another learner can repeat the case without relying on your memory.

Fault challenge. Introduce or analyse “Internal state changes but the outcome does not” as one bounded deviation. Inspect request, final owner, output or service boundary and independent feedback The working interpretation is that a software or interface indication proves intent at one layer, not the complete outcome. The next proving action is to trace the first boundary after the changing state. Change only one condition before observing the result, and preserve timestamps or measurements where timing matters.

Review and recovery. The most common trap here is using the same value as command, status and independent feedback. After restoring the cause, repeat the normal case and at least one stop, timeout, disconnect or restart boundary relevant to this topic. Remove temporary forces and bypasses, return the model to a known state and retain the evidence that both operation and recovery are deliberate.

Explain it aloud: Is Instruction List still used? A defensible short answer is: Legacy systems still contain it, but IEC deprecated IL. Maintenance should prioritize understanding, tests and risk-controlled migration.

Case 03

predict → observe → prove

Prove prove normal operation

Engineering context. one Boolean network, timer or counter and numeric expression stepped from known input states. Run more than one cycle from a known state and retain the values, timings or artifacts that demonstrate repeatability. Begin with a written normal condition and identify which request, state, physical result or communication value will provide independent confirmation. Do not begin by changing the configuration; the initial state is part of the evidence and should remain reproducible.

Controlled setup. Use the “Run the baseline” stage of the workflow: apply one boolean network, timer or counter and numeric expression stepped from known input states from a clean start and record the expected evidence. The acceptance record should show this result: repeated runs produce the same bounded result. Record initial conditions, the exact stimulus and the observation point so another learner can repeat the case without relying on your memory.

Fault challenge. Introduce or analyse “Normal case passes but an edge case fails” as one bounded deviation. Inspect limits, timing, simultaneous events, reset and restart assumptions The working interpretation is that the implementation contains a hidden assumption exposed by the changed condition. The next proving action is to add the failed boundary as a permanent regression case. Change only one condition before observing the result, and preserve timestamps or measurements where timing matters.

Review and recovery. The most common trap here is changing several parameters before a baseline exists. After restoring the cause, repeat the normal case and at least one stop, timeout, disconnect or restart boundary relevant to this topic. Remove temporary forces and bypasses, return the model to a known state and retain the evidence that both operation and recovery are deliberate.

Explain it aloud: What should I learn first about legacy IEC Instruction List execution and migration practice? A defensible short answer is: Start with the operating contract and evidence path: source dialect, instruction set, operand and data types, result-of-logic state, accumulators, labels, jumps, calls, i/o, target and migration goal, followed by ordered il statements through logic or accumulator state, stores, branches and calls to resulting output and modeled machine behavior. Add advanced features only after the baseline is predictable.

Case 04

predict → observe → prove

Prove exercise a boundary case

Engineering context. implicit state, parentheses, jumps, repeated stores, type conversion, unsupported mnemonic, retentive value and restart. Choose minimum, maximum, simultaneous, delayed or restart conditions that reveal assumptions hidden by the happy path. Begin with a written normal condition and identify which request, state, physical result or communication value will provide independent confirmation. Do not begin by changing the configuration; the initial state is part of the evidence and should remain reproducible.

Controlled setup. Use the “Challenge assumptions” stage of the workflow: test implicit state, parentheses, jumps, repeated stores, type conversion, unsupported mnemonic, retentive value and restart without changing the acceptance contract. The acceptance record should show this result: limits, timing and restart behavior reach defined states. Record initial conditions, the exact stimulus and the observation point so another learner can repeat the case without relying on your memory.

Fault challenge. Introduce or analyse “The failure disappears after reset” as one bounded deviation. Inspect original symptom, histories, diagnostics, timestamps and active cause The working interpretation is that reset changed evidence or state without proving the initiating cause. The next proving action is to reproduce under a controlled condition and preserve pre/post-event data. Change only one condition before observing the result, and preserve timestamps or measurements where timing matters.

Review and recovery. The most common trap here is testing only one ideal sequence. After restoring the cause, repeat the normal case and at least one stop, timeout, disconnect or restart boundary relevant to this topic. Remove temporary forces and bypasses, return the model to a known state and retain the evidence that both operation and recovery are deliberate.

Explain it aloud: How do I practise legacy IEC Instruction List execution and migration practice effectively? A defensible short answer is: Use short cases with known initial conditions, a written prediction, one action and an observable result. Then alter a boundary or fault and explain why the evidence changed.

Case 05

predict → observe → prove

Prove diagnose a controlled fault

Engineering context. a dialect, mnemonic, operand, type, execution-order, control-flow, state, output or runtime mismatch. Preserve the first symptom, divide the system at a measurable boundary and change one condition only after predicting the result. Begin with a written normal condition and identify which request, state, physical result or communication value will provide independent confirmation. Do not begin by changing the configuration; the initial state is part of the evidence and should remain reproducible.

Controlled setup. Use the “Isolate one failure” stage of the workflow: introduce or analyse a dialect, mnemonic, operand, type, execution-order, control-flow, state, output or runtime mismatch and locate the first disagreement. The acceptance record should show this result: the proving action distinguishes the leading hypotheses. Record initial conditions, the exact stimulus and the observation point so another learner can repeat the case without relying on your memory.

Fault challenge. Introduce or analyse “Simulator and target disagree” as one bounded deviation. Inspect model boundary, software version, task timing, I/O behavior, data types and configuration The working interpretation is that a learning model and the intended target do not share one of the recorded assumptions. The next proving action is to reduce the case and verify against current target documentation. Change only one condition before observing the result, and preserve timestamps or measurements where timing matters.

Review and recovery. The most common trap here is resetting, forcing or replacing before evidence is retained. After restoring the cause, repeat the normal case and at least one stop, timeout, disconnect or restart boundary relevant to this topic. Remove temporary forces and bypasses, return the model to a known state and retain the evidence that both operation and recovery are deliberate.

Explain it aloud: What counts as proof of competence? A defensible short answer is: A repeatable artifact or system result plus an explanation of the signal path is stronger than time spent, screenshots or a copied answer. Physical competence requires separate supervised evidence.

Case 06

predict → observe → prove

Prove transfer and hand over

Engineering context. behavioral tests preserved while the code is translated and verified in a supported target language. Restore normal state, remove temporary changes, repeat affected checks and document which claims remain limited to the learning environment. Begin with a written normal condition and identify which request, state, physical result or communication value will provide independent confirmation. Do not begin by changing the configuration; the initial state is part of the evidence and should remain reproducible.

Controlled setup. Use the “Close the evidence loop” stage of the workflow: complete behavioral tests preserved while the code is translated and verified in a supported target language and repeat the affected regression cases. The acceptance record should show this result: a run is complete only when the requested behavior, stop behavior, fault response and recovery are observable from a fresh initial condition. Record initial conditions, the exact stimulus and the observation point so another learner can repeat the case without relying on your memory.

Fault challenge. Introduce or analyse “The result cannot be explained” as one bounded deviation. Inspect prediction, observation, proving action, alternative hypotheses and limitations The working interpretation is that activity occurred but the evidence is not yet transferable or reviewable. The next proving action is to have the learner defend the signal path and repeat a changed case. Change only one condition before observing the result, and preserve timestamps or measurements where timing matters.

Review and recovery. The most common trap here is treating an acknowledged message or one successful rerun as handover. After restoring the cause, repeat the normal case and at least one stop, timeout, disconnect or restart boundary relevant to this topic. Remove temporary forces and bypasses, return the model to a known state and retain the evidence that both operation and recovery are deliberate.

Explain it aloud: Why test faults and restart behavior? A defensible short answer is: Because a dialect, mnemonic, operand, type, execution-order, control-flow, state, output or runtime mismatch or implicit state, parentheses, jumps, repeated stores, type conversion, unsupported mnemonic, retentive value and restart can expose assumptions that never appear during ideal startup and steady operation.

Answer surface / 07

Questions people ask about PLC Instruction List simulator

These concise answers define the operating, training and product boundaries most often missed in broad summaries. The full workflow and diagnostic table above provide the evidence behind them.

Can I run PLC Instruction List online?

You can practise a bounded educational subset where provided, but exact legacy vendor behavior requires the original or supported official engineering environment.

Is Instruction List still used?

Legacy systems still contain it, but IEC deprecated IL. Maintenance should prioritize understanding, tests and risk-controlled migration.

What should I learn first about legacy IEC Instruction List execution and migration practice?

Start with the operating contract and evidence path: source dialect, instruction set, operand and data types, result-of-logic state, accumulators, labels, jumps, calls, i/o, target and migration goal, followed by ordered il statements through logic or accumulator state, stores, branches and calls to resulting output and modeled machine behavior. Add advanced features only after the baseline is predictable.

How do I practise legacy IEC Instruction List execution and migration practice effectively?

Use short cases with known initial conditions, a written prediction, one action and an observable result. Then alter a boundary or fault and explain why the evidence changed.

What counts as proof of competence?

A repeatable artifact or system result plus an explanation of the signal path is stronger than time spent, screenshots or a copied answer. Physical competence requires separate supervised evidence.

Why test faults and restart behavior?

Because a dialect, mnemonic, operand, type, execution-order, control-flow, state, output or runtime mismatch or implicit state, parentheses, jumps, repeated stores, type conversion, unsupported mnemonic, retentive value and restart can expose assumptions that never appear during ideal startup and steady operation.

Can browser practice replace official software or hardware?

No. It can build concepts and diagnostic reasoning. Exact firmware, I/O electrical behavior, networking, safety and commissioning require current official tools, documentation and target equipment.

How should progress be documented?

Keep the requirement, initial state, program or configuration, observed values, fault hypothesis, proving action, recovery result and a concise limitations statement.