Topic
Platforms
The controllers and environments engineers program: Siemens TIA Portal, Rockwell Studio 5000, CODESYS, TwinCAT, open source PLCs and virtual PLCs, and how they differ in practice.
7 articles
FB vs FC in TIA Portal: which block to use, and why
An FC (function) has no memory of its own: its Temp data lasts only for the call, so every parameter must be supplied each time. An FB (function block) keeps its inputs, outputs, in-outs and Static data in an instance data block, so values survive from one cycle to the next. Use an FB for anything that remembers, such as timers, edges and sequences, and an FC for calculations.
11 min readCODESYS on a Raspberry Pi: install, licence and a first program
Install the CODESYS Development System and the CODESYS Control for Raspberry Pi SL package on your PC, enable SSH on the Pi, then use Tools > Deploy Control SL to connect and install the runtime. Without a licence it runs for two hours and then needs a manual restart. The product is for private, test and teaching use; commercial use is not permitted.
9 min readSiemens and Allen-Bradley do not just differ in syntax
The syntax difference is trivial; the model difference is not. ControlLogix gives you tags and expresses structure in a type system. Siemens gives you memory areas with symbolic names layered over them, and organises code into specific organisation blocks. Timers differ most: Rockwell timers are structures with .ACC and .DN, Siemens IEC timers are function blocks with instance data.
8 min readCODESYS: the PLC platform you are probably already using
CODESYS is an IEC 61131-3 development environment and runtime licensed by manufacturers rather than sold to end users, which is why it appears under other brand names. Roughly 500 hardware makers ship it, including ABB, WAGO, Festo, Lenze and Eaton, so a program written for one CODESYS device often ports to another with modest effort.
7 min readTwinCAT: a PLC that is really a PC
TwinCAT is Beckhoff's automation platform, running the PLC as a real-time task on a standard industrial PC alongside Windows rather than on dedicated controller hardware. Programs are written in Visual Studio using IEC 61131-3 languages plus object-oriented extensions, and the source files are plain XML, which makes version control genuinely workable.
7 min readOpen source PLC software: what actually exists
Yes, and it is more capable than most engineers expect. OpenPLC provides an IEC 61131-3 editor and runtime that targets Arduino, ESP32, Raspberry Pi and Linux. Beremiz is a full open IDE built on the same toolchain, and matiec is the compiler underneath both, translating IEC languages into C.
7 min readVirtual PLCs: control logic without the controller
A virtual PLC runs the control logic as software on an industrial PC or server, usually in a container on a real-time Linux kernel, with the I/O still on the plant floor. Siemens ships the S7-1500V, and Audi has production lines running on it. The gain is decoupling hardware from software; the cost is that the platform becomes an IT asset with an IT lifecycle.
7 min read