PLC Programming Software and Tools: Engineering Workflow, Simulation, Versions and Version Control

On this page

PLC programming software is where most of an automation engineer’s time goes: configuring hardware, writing and testing logic, going online with running machines, and managing changes over the life of the system. Knowing the language is only half the job; knowing how to use the tools safely and keep programs under control is the other half.

PLC Programming Software: Siemens TIA Portal, Rockwell Studio 5000, Mitsubishi GX Works3, Schneider Control / Machine Expert, Omron Sysmac Studio, CODESYS
Each PLC family has its own engineering software; CODESYS spans many vendors.

Main tools by platform

Platform Engineering software Simulation / emulation
Siemens SIMATIC S7-1200/1500 TIA Portal (STEP 7) PLCSIM, PLCSIM Advanced
Rockwell Logix Studio 5000 Logix Designer FactoryTalk Logix Echo
Rockwell Micro800 Connected Components Workbench Built-in simulator for some models
Mitsubishi MELSEC iQ-R/iQ-F GX Works3 Built-in simulation
Schneider Modicon M340/M580 EcoStruxure Control Expert Built-in simulator
Schneider machine controllers EcoStruxure Machine Expert Simulation mode
Omron NJ/NX Sysmac Studio Integrated simulation including motion
Beckhoff TwinCAT (in Visual Studio) Runs on a PC as the controller
CODESYS-based controllers CODESYS Development System CODESYS simulation

Product names and features change; see PLC Vendors Compared for the platforms themselves.

What a PLC project contains

Part Content
Hardware configuration CPU, modules, remote I/O stations, network addresses, module parameters
Program Tasks, programs, function blocks, functions
Data Tags, data types, data blocks, retentive settings
Networks and devices Drives, robots, HMIs and other devices with their device description files (GSDML, EDS)
Safety program In safety CPUs, a separately protected safety program with its own signature
HMI (in integrated tools) Screens, alarms, recipes
Documentation Comments, cross-references, project properties

Offline and online work

Mode What you do Risks and precautions
Offline Edit the project on the engineering PC Keep the project synchronised with the running PLC
Online monitoring Watch live values, rung states, tag tables Safe; the normal way to troubleshoot
Download Transfer the program to the PLC May stop the CPU; check what changes; follow change control
Online edit Change logic while the PLC runs Can move equipment immediately; test first, inform operators
Forcing Override inputs or outputs Can defeat interlocks; remove all forces and log their use
Upload Read the program from the PLC Comments and symbols may be missing if not stored in the PLC

Before any download or online edit, compare the offline project with the PLC, so you do not overwrite someone else’s change. See PLC Troubleshooting Guide.

Safe Online Change Workflow: Compare, Test offline, Inform, Download / edit, Archive
Compare before changing, and archive every released version.

Simulation and virtual commissioning

Simulation lets you test logic without hardware:

  • Logic simulation (PLCSIM, Logix Echo, CODESYS simulation) runs the program on the PC.
  • Virtual commissioning connects the simulated PLC to a model of the machine or process, so sequences, interlocks and HMI can be tested before site. See Digital Twins and Simulation.
  • Test the fault paths, not only the normal sequence: failed sensors, drive faults, emergency stops.

Software and firmware versions

Version compatibility causes many site problems:

  • The engineering software version must support the CPU firmware version. Opening a project in a newer software version may upgrade it, and colleagues with older versions can then no longer open it.
  • Keep a record of the software version, updates and firmware for each machine.
  • Many engineers keep virtual machines with the software versions needed for older plants.
  • Plan firmware updates deliberately: they can fix security issues but may require project upgrades and retesting.

Licences

Engineering software is usually licensed per user or per installation, with separate licences for options (safety, motion, simulation, HMI runtimes). Check licence availability before site visits, and keep licence records with the project documentation.

Comparing and version control

PLC projects are binary or proprietary files, which makes version control harder than for ordinary code, but it is still essential:

Practice How
Naming and archiving Archive each released version with date, author and change reference
Compare tools Use the vendor’s compare function (offline vs online, version vs version) before downloads
Change log Record what changed, why and who approved it
Version control systems Vendor tools, change management servers or Git-based workflows using exports, depending on the platform
Backups from the plant Regularly back up the running programs and compare them with the archive to detect undocumented changes

See PLC Programming Best Practices and the OT Backup and Restore Runbook.

Automation interfaces and exchange formats

  • Scripting interfaces (for example Siemens TIA Portal Openness) let you generate code, tags and hardware configuration from spreadsheets or databases, useful for large, repetitive projects.
  • PLCopen XML is an exchange format for IEC 61131-3 programs; support and completeness vary between tools.
  • AutomationML exchanges plant topology and hardware data between engineering tools.

Choosing and setting up an engineering PC

  • Use a dedicated, hardened laptop or virtual machine for OT work, with the required software versions.
  • Keep it patched and scanned, and restrict USB use; engineering laptops are a common path for malware into control systems. See PLC Security.
  • Store projects in a controlled location, not only on the laptop.

Frequently asked questions

What software is used to program PLCs?

Each manufacturer has its own environment: Siemens TIA Portal, Rockwell Studio 5000, Mitsubishi GX Works3, Schneider EcoStruxure Control Expert and Machine Expert, Omron Sysmac Studio and Beckhoff TwinCAT. Many other brands use CODESYS.

Can I practise PLC programming without hardware?

Yes. Most engineering tools include simulators (for example PLCSIM, Logix Echo or CODESYS simulation), so programs can be tested on a PC.

How do you version-control PLC programs?

Archive each released version with a change record, compare versions and the running PLC with the vendor’s compare tools, and use a version management system suited to the platform. Back up running programs regularly to detect undocumented changes.

Key takeaways

  • Each PLC platform has its own engineering software; CODESYS serves many brands.
  • Compare before downloading, test online edits, and remove forces.
  • Manage software, firmware and licence versions per machine.
  • Archive, compare and back up programs to keep control of changes.

Before you apply this in a plant: this article is for education. Always check the current edition of the relevant standards, the manufacturer's documentation for your exact product and version, and your site's procedures. Safety-related work needs qualified personnel. See our editorial policy.

Written by Bhargava Reddy Kapireddy

Bhargava has 16 years of hands-on experience with MES, SCADA, DCS, PLC and industrial data systems across power generation, oil and gas, pharmaceuticals and process manufacturing. He founded MFG Tech Hub to share practical, vendor-neutral automation knowledge.

More about the author → How we write and review articles