Development of a PLC Virtual Machine Orienting IEC 61131-3 Standard

Programmable Logic Controller (PLC) plays a more and more important role in the field of industry. To deal with the heterogeneity of manufacture-dependent programming languages, IEC 61131-3 international standard has promoted the PLC openness to developing. In this paper, we present a proposal to implement the IEC 61131-3 standard in a PLC virtual machine (VM), which is a new kind of high-level language VM and takes Instruction List (IL) as the intermediate code. We discuss the syntax and semantics of IL, and show the design architecture for the emulation engine using both interpretation and translation methods. The PLC VM enables developers to rapidly porting an IEC-61131-3 application onto different platforms. We have implemented the PLC VM on a C51 based embedded PLC platform.