A CLR Virtual Machine Based Execution Framework for IEC 61131-3 Applications

Salvatore Cavalieri, Marco Stefano Scroppo


The increased need of flexibility of automation systems and the increased capabilities of sensors and actuators paired with more capable bus systems, pave the way for the reallocation of IEC 61131-3 applications away from the field level into so-called compute pools. Such compute pools are decentralised with enough compute power for a large number of applications, while providing the required flexibility to quickly adapt to changes of the applications requirements. The paper proposes a framework able to deploy IEC 61131-3 applications to multiple computing platforms based on CLR VM; it uses C# language as intermediate code. The software solution proposed by the authors does not require any modifications of the IEC 61131-3 applications. Current literature does not provide solutions like that here presented; due to the spread current use of C# language in the development of industrial applications, adoption of the proposed solution seems very attractive. The paper will deeply describe the software implementation and will also present an analysis about the capability of the proposed framework to respect real-time constraints of the industrial processes, mainly focusing on the periodic ones.

Full Text:



R.W.Lewis, (1998). Programming Industrial Control Systems Using IEC 1131-3, IEE, ISBN-13: 978-0852969502 (1998).

J. D. Decotignie (2009). The many faces of industrial ethernet [past and present], IEEE Industrial Electronics Magazine, vol. 3, no. 1 (2009), pp. 8–19.

M. Becker, K. Sandstrom, M. Behnam, T. Nolte, (2015). A many-core based execution framework for IEC 61131-3, Proceedings of 41st Annual Conference of the IEEE IECON 2015 (2015), pp. 004525 - 004530, doi: 10.1109/IECON.2015.7392805.

S. Mubeen, M. Becker, X. Zhao, L. Gan, M. Behnam, T. Nolte, (2016). Towards automated deployment of IEC 61131-3 applications on multi-core systems, IEEE World Conference on Factory Communication Systems (WFCS), 2016, pp.1-4, doi:10.1109/WFCS.2016.7496531.

M. Simros, S. Theurich and M. Wollschlaeger, (2012). Programming Embedded Devices in IEC 61131-Languages with Industrial PLC Tools using PLCOPEN XML, 10th Portuguese Conference on Automatic Control (2012), pp.51-56.

O. Givehchi, H. Trsek, and J. Jasperneite, (2013). Cloud computing for industrial automation systems - a comprehensive overview, IEEE 18th Conference on Emerging Technologies Factory Automation (ETFA) (2013), pp. 1–4.

O. Givehchi, J. Imtiaz, H. Trsek, and J. Jasperneite, (2014). Control-as-a-service from the cloud: A case study for using virtualized PLCs, 10th IEEE Workshop on Factory Communication Systems (WFCS) (2014), pp. 1–4.

I. Kühl and A. Fay, (2011). A Middleware for Software Evolution of Automation Software, IEEE 16th Conference on Emerging Technologies & Factory Automation (ETFA) (2011), pp 1-9.

Mono official website, http://www.mono-project.com/

Xenomai official website, https://xenomai.org

S. Cavalieri, L. Galvagno, M.S.Scroppo, (2016). A Framework based on CLR Virtual Machine to deploy IEC 61131-3 programs, Proceedings of 14th International Conference on Industrial Informatics, INDIN 2016, University of Poitiers, Poitiers, France (2016), doi: 10.1109/INDIN.2016.7819146, pp. 126 – 131.

S. Cavalieri, L. Galvagno, G. Puglisi, M.S. Scroppo, (2016). Moving IEC 61131-3 applications to a computing framework based on CLR Virtual Machine, Proceedings of ETFA 2016 21th International Conference on Emerging Technologies and Factory Automation, Berlin, Germany (2016), doi: 10.1109/ETFA.2016.7733632, pp. 1-8.

Xenomai official API reference website, https://xenomai.org/api-reference/

Freescale Semiconductor, MPC8309 (2014): PowerQUICC II Pro Integrated Communications Processor Family Hardware Specifications, Data Sheet. Document Number MPC8309EC, Rev 4, 12/2014. Available on http://www.nxp.com/

Gold parsing system official website, http://www.goldparser.org/

G. Goertzel, (1958). An algorithm for the evaluation of finite trigonometric series, Am. Math Monthly 1958, 65(1):34. 10.2307/2310304.

DOI: https://doi.org/10.31449/inf.v43i2.2019

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.