Learn PLCs free

PLC Programming Software: Tools, Compatibility & Fit

A source-backed method for choosing PLC programming software by controller, project file, simulation, diagnostics, and licensing fit.

Neutral PLC software proof-of-fit workbench where four engineering stations test the same conveyor and tank cell using ladder logic, structured text, hardware topology and diagnostics.
A useful comparison runs the same small control problem through editing, simulation, diagnostics, and project handoff instead of ranking tools by feature-list length.

Quick answer

Choose the engineering software required by the exact controller family and firmware you must support. If you are learning without assigned hardware, start with a tool that lets you write, run, observe, and debug a small IEC 61131-3 program without buying a controller. Never assume that two tools using ladder diagram or structured text can exchange native project files.

There is no meaningful universal winner. Siemens STEP 7, Rockwell Studio 5000 Logix Designer, Mitsubishi GX Works3, and Schneider Electric engineering environments are primarily selected by their compatible controller families. CODESYS and OpenPLC can be useful for learning or for supported runtimes, but neither makes an arbitrary proprietary PLC programmable.

Use the page that matches your software intent

These pages solve different jobs. Keeping their scope distinct prevents a broad selection guide from competing with a directory or ranked list:

Page Use it for What it does not try to do
This PLC software pillar Decide which evidence to collect for controller, project, simulator, diagnostic and licence fit Rank every product with one universal score
Software directory Open a specific product profile, requirement summary or deep review Teach the complete selection method
Free PLC software hub Find no-cost editors, simulators and learning paths by platform Compare full paid engineering ecosystems
Best PLC programming software Compare a reviewed shortlist for a defined learner or engineering use case Prove compatibility with your exact CPU
PLC simulator guide Compare code execution, process simulation, emulation and training use Replace a production controller acceptance test
PLC programming software selection flow separating exact production-controller compatibility, no-hardware learning, simulation, free tools and vendor project support.
Editorial illustration: start with the controller or learning job, then narrow the software list; do not pick an IDE from a generic popularity ranking.

What the software choice actually controls

The engineering application is not just a code editor. It usually controls some or all of these project activities:

  1. selecting the CPU, I/O, communication modules, and firmware;
  2. declaring tags, addresses, user-defined types, and retained data;
  3. writing ladder, structured text, function block diagram, or sequential logic;
  4. compiling against a particular controller target;
  5. downloading, going online, forcing values, and reading diagnostics;
  6. configuring safety, motion, networks, drives, or HMI options;
  7. archiving a project in a format another engineer can reopen.

That is why language support alone is a poor selection criterion. A generic editor may teach the TON timer concept, yet it cannot necessarily open a vendor project, reproduce its instruction set, or download to its CPU.

Comparison by job to be done

Software Use it when Confirm before committing
Siemens STEP 7 in TIA Portal The target is a supported SIMATIC controller STEP 7 edition, CPU and firmware support, safety or motion options, PLCSIM needs
Rockwell Studio 5000 Logix Designer The target is a supported Logix 5000 controller Controller family, required editor edition, release compatibility, emulate and safety needs
Mitsubishi GX Works3 The target is a MELSEC iQ-R or iQ-F controller Exact CPU support, installed profiles, simulator availability, legacy GX Works2 boundary
Schneider EcoStruxure Control Expert The target is a supported Modicon process controller or PAC M340/M580 family support, safety edition, topology and simulator needs
Schneider EcoStruxure Machine Expert The target is a supported Modicon machine controller M221 versus M241/M251/M262 tool boundary, edition, motion and safety options
CODESYS Development System The runtime or device manufacturer explicitly supports CODESYS Device package, runtime licence, target version, fieldbus and visualisation add-ons
OpenPLC The target is supported by the selected OpenPLC runtime or the goal is IEC practice Runtime/hardware support, I/O mapping, protocol limits, deployment model
LogixPro The goal is RSLogix-style ladder practice in its included simulations It is a training simulator, not a Studio 5000 project interchange tool
Factory I/O The goal is a 3D process scene connected to a compatible PLC or simulator The driver, companion controller software, edition, and tag mapping
PLCsimulationsoftware.com The goal is browser-based ladder practice without installing vendor software Supported dialect and instruction coverage for the lesson you plan to run

The “use it when” column is intentionally narrow. For production work, the CPU catalogue and supported software matrix override any general recommendation.

OpenPLC learning workflow separating IEC editor work, local simulation, supported runtime deployment, I/O mapping and target hardware verification.
Editorial illustration: an editor, simulator and deployable runtime are different layers; confirm the layer required for the job.

Current manufacturer evidence

The product scope below comes from manufacturer pages reviewed on 25 July 2026:

  • Siemens STEP 7 is the PLC engineering application inside TIA Portal. Siemens describes configuration, programming, testing, and diagnostics for supported SIMATIC systems. Siemens announced TIA Portal V21 in November 2025; an installed plant may still require an older compatible release.
  • Rockwell Studio 5000 Logix Designer is the programming application for Logix 5000 controllers. Rockwell publishes an edition ordering guide because controller support and included functions differ by edition.
  • Mitsubishi GX Works3 is Mitsubishi Electric's current engineering environment for MELSEC iQ-R and iQ-F control systems. Mitsubishi separately maintains legacy and other engineering products, so identify the CPU before downloading.
  • Schneider EcoStruxure Control Expert supports specified Modicon PAC families including M340 and M580. EcoStruxure Machine Expert covers specified machine-control families; Machine Expert Basic is the M221-specific branch.
  • CODESYS Development System can be downloaded without charge and includes IEC 61131-3 editors. The development environment, target runtime, device packages, and optional products have separate licensing and compatibility considerations.
  • OpenPLC publishes an editor and runtimes for supported platforms. Treat the project documentation and the selected runtime's hardware list as the compatibility authority rather than assuming that “open source” means every I/O platform works identically.

These links document scope, not suitability for your machine. Record the page, release, and date you relied on in the project design file.

PLC CPU and engineering software compatibility workbench comparing controller model, firmware, installed device profile, simulator and project version evidence.
Editorial illustration: compatibility is proved by an exact CPU, firmware, project release and installed profile—not by a brand logo alone.

A 45-minute proof-of-fit test

Run the same small motor-and-tank exercise before purchasing a licence or standardising a class around a tool.

Test 1: create and reopen

Create a new project for the intended CPU or runtime. Add one normally open contact, one output coil, one TON timer, an integer setpoint, and an analog value. Save, close, reopen, and archive the project. Pass only if another clean workstation can restore it using documented steps.

Test 2: compile and diagnose

Compile with warnings visible. Introduce one duplicate address and one incompatible data conversion, then confirm that the diagnostics identify both. Remove the faults and retain the clean compile report or screenshot.

Matched PLC motor-control requirement implemented in Ladder Diagram, Structured Text and Function Block Diagram for a like-for-like software test.
Editorial illustration: a matched requirement exposes editor, compiler and diagnostic differences more reliably than unrelated demo projects.

Test 3: simulate a sequence

Run this state path:

  1. start command energises the motor;
  2. stop command de-energises it;
  3. overload prevents restart;
  4. timer enables a downstream output after the preset;
  5. analog high-high condition drives an alarm;
  6. reset clears only the latched fault for which the reset permissive is true.

Record observed values and timestamps. “A simulator is included” is not enough; confirm that it executes the instructions and timing behaviour you will teach or test.

PLC batch mixer simulation scenario with inlet valves, level feedback, agitator, timed sequence, drain output and observable fault states.
Editorial illustration: the useful simulator is the one that makes the expected states and abnormal transitions testable for your instruction set.

Test 4: go online safely

On training hardware or an isolated bench only, confirm the connection path, upload/download direction, online comparison, force indication, and force removal procedure. Never use a production controller as an evaluation target. Safety functions require the vendor's safety lifecycle, supported hardware, and competent review; a standard logic simulation is not a safety validation.

Test 5: export evidence

Export or capture:

  • software and release number;
  • CPU catalogue number and firmware;
  • enabled editions or add-ons;
  • compile result;
  • test matrix with expected and observed outcomes;
  • project archive and restoration steps;
  • known limitations.

This evidence makes a later purchasing or training decision auditable.

File compatibility: the most common trap

IEC 61131-3 standardises language concepts and elements; it does not make every native project interchangeable. Vendors add instruction names, data structures, hardware configuration, safety signatures, communication objects, and libraries. Even PLCopen XML exchange can require manual adaptation.

Ask these questions before migration:

  • Can the destination import the source format, or only plain text and tag lists?
  • Which instructions have no direct equivalent?
  • How are timers, retentive memory, one-shots, and task scheduling different?
  • Will HMI, motion, safety, and network configuration transfer separately?
  • Can the original application remain available for online comparison?

Budget migration from a verified block inventory and test plan, not from the number of ladder rungs.

PLC software portability boundary separating transferable requirements and test cases from vendor-specific project files, libraries, hardware and diagnostics.
Editorial illustration: preserve the requirement, I/O model and test evidence; expect to adapt the vendor project and runtime details.

Licence and total-access checklist

For each candidate, capture:

Item What to record
Engineering edition Exact product and edition name
Activation Named, node-locked, concurrent, dongle, or other published model
Term Perpetual, subscription, trial, educational, or free development environment
Updates Whether upgrades and support are included, optional, or expired
Simulation Included component, separate product, demo restriction, or external runtime
Add-ons Safety, motion, HMI, source control, libraries, and protocol packages
Deployment Runtime or per-device licence where applicable
Compatibility Supported OS, CPU catalogue, firmware, and project release
Quote evidence Currency, tax treatment, region, reseller, and expiry date

Do not compare a bare editor quote with a bundle containing simulation, safety, HMI, support, and runtimes. They are different scopes.

PLC engineering software total-access boundary showing editor, simulation, safety, motion, HMI, runtime, support, training and upgrade costs.
Editorial illustration: compare a matched licence scope and lifecycle, not an editor-only sticker price against a complete engineering bundle.

Best starting path for a learner

If no employer or school has assigned a platform:

  1. learn contacts, coils, timers, counters, interlocks, and scan behaviour in a browser simulator or a supported free development environment;
  2. build one complete start/stop/fault-reset exercise and document its test cases;
  3. repeat the exercise in structured text so the concepts are not tied to one editor;
  4. move to the vendor environment used by the hardware you can access;
  5. practise project backup, online comparison, diagnostics, and safe force removal.

Disclosed browser-practice option

PLC Simulation Software is operated by the same publisher as PLC Programming IO. Its versioned facts currently document 12 core lessons, 6 free lessons per dialect, 8 supported learning dialects and 140 source-catalogued practice records. A free account does not require a credit card and does not expire.

The product is a browser-based learning and prototyping simulator. It is not a production PLC, does not emulate every vendor instruction or firmware behavior, and does not guarantee native vendor project-file export. Use it to repeat the motor-and-tank proof-of-fit exercise, then rebuild and test that behavior in the engineering software, CPU and firmware you will actually support. Inspect the versioned product-facts record before relying on a catalog or access claim.

PLC Simulation Software browser workspace showing editable ladder logic, live input controls, output state and a repeatable training exercise.
Real product capture: browser practice provides fast repetition and visible state; production compatibility still requires the target vendor tool and hardware.

Decision rules

  • Existing machine: use the software release supported by its controller firmware and archived project.
  • New machine: select the controller and required lifecycle functions first; price the complete engineering and runtime scope second.
  • Training lab: prioritise repeatable reset, visible state, enough instruction coverage, and easy restoration.
  • Multi-vendor team: teach shared control concepts, but retain vendor-specific standards, libraries, and test projects.
  • Mac, Linux, or Chromebook: verify native operating-system support. If the vendor supports Windows only, document the virtual-machine or remote-workstation boundary before purchasing.

The best PLC programming software is therefore the one that passes the exact controller, project, simulation, diagnostic, handoff, and licence tests for the job. A shorter verified compatibility record is more useful than a longer generic feature list.

Frequently Asked Questions

Which PLC software should I buy for learning?

If no controller has been assigned, start with a browser simulator, the free CODESYS Development System, or a supported OpenPLC setup and complete a tested motor-control exercise. Move to a paid vendor environment when a controller, course, or employer requires that platform and release.

What is the difference between free and paid PLC simulators?

Price does not define fidelity. Compare supported instructions, timing, I/O model, hardware configuration, communication drivers, diagnostics, and whether the simulated project is the same project that downloads to the controller. Verify each candidate against a written test matrix.

Can I run TIA Portal or Studio 5000 on a Mac?

Check the current vendor system requirements for the release you need. If macOS is not listed, use a supported Windows workstation, a properly resourced virtual machine where the vendor permits it, or remote access. Validate USB, Ethernet discovery, activation, and backup before relying on that setup.

How much does professional PLC software cost?

There is no durable universal price. Edition, activation type, subscription term, support, safety, motion, HMI, simulation, runtime licences, region, tax, and reseller terms can change the scope. Request a dated quote for the exact controller and required options.

Is there a true all-vendor PLC IDE?

No. CODESYS can program devices for which the correct target package and runtime support exist, but it does not replace the proprietary engineering environment for every PLC. Native projects, hardware configuration, instructions, safety, and diagnostics remain platform-specific.

What is the simplest PLC simulator for getting started?

A browser simulator has the lowest installation friction for basic ladder practice. Simplicity is only useful if it supports the contacts, coils, timers, counters, and fault behaviour in your lesson. For a specific PLC, use the vendor-supported simulator and compatibility matrix.

Free PLC simulator

Stop reading, start doing

Write ladder logic in your browser, hit Run, and watch machine scenarios react. A 12-lesson curriculum across 8 PLC dialects — free account, no credit card.

Practice PLCs free →