Truong X. Nghiem


IEC 61131-3 is the third part of the open international standard IEC 61131. It defines programming languages, both textual and graphical, for Programmable Logic Controllers (PLC). The Sequential Function Chart (SFC) is a graphical language for organizing programs for sequential and parallel control processing.

In my undergraduate thesis, I developed a Windows software that implements the SFC language as defined in IEC 61131-3. The software runs on Distributed Control Systems (DCS), where controllers and engineering stations are connected via a communication network (e.g. Ethernet). It consists of three main components:

  • Visual Engineering Tool (VET): a Windows application that allows system engineers to design process control systems using IEC 61131-3 languages. In my thesis project, only SFC language was implemented. It supports visual programming using drag-and-drops, parameter configurations, centralized and distributed input/output configurations, visual step-by-step execution, monitoring and debugging. It also contains a compiler to generate control programs from the design.

  • Runtime Engine (RTE): an embedded software running on industrial PC controllers (e.g. PC/104), which can load and execute control programs generated by VET. The control programs are in an intermediate platform-independent binary format. Thus, RTE is essentially a virtual machine that runs binaries compiled by VET.

  • Simulation modules: software modules that simulate process plants for the purpose of testing and education. They can run on the same computer with VET or on a remote computer communicating with VET. In my thesis project, I developed two simple simulation modules, one for a chemical reactor and one for a washing machine.


  • A report in Vietnamese of my thesis project.

  • A poster in Vietnamese of my thesis project.


System configuration in VET (in the main table are the input/output and memory variables)

VET system configuration

Visual editing of SFC charts (drag-and-drop, double-click for configuration dialog)

SFC visual editing

Monitoring and debugging SFC charts in VET (the green block is the current step)

Monitoring and debugging SFC

Running with chemical reactor simulator



This software is not in public domain. If you want to ask questions about it, or if you want to use it for education, feel free to contact me.