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

Authors

  • Salvatore Cavalieri University of Catania, Department of Electrical Electronic and Computer Engineering
  • Marco Stefano Scroppo University of Catania, Department of Electrical Electronic and Computer Engineering

DOI:

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

Abstract

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.

Author Biographies

Salvatore Cavalieri, University of Catania, Department of Electrical Electronic and Computer Engineering

Salvatore Cavalieri was born in Catania (Italy) in 1965. He received his “laurea” degree in Electronic Engineering from the University of Catania in 1989. In 1993 and 1995, he received a PhD in Electronic and Computer Science Engineering, and a post-PhD in Electric Engineering from the same University. Currently he is Full Professor of Computer Engineering at the University of Catania, Department of Electrical Electronic and Computer Engineering. His research areas are in distributed systems, Grid/Cloud computing, real-time scheduling, process control oriented, industrial informatics and wireless communication protocols. In the area of process control and communication protocols, he served as member of the IEC SC65C WG6 Fieldbus standardisation committee; he is honorary member of Fieldbus Foundation Italy and Profibus Network Italy Consortium (a regional association of Profibus International, www.profibus.com). Since 2007 he is Scientific Partner of KNX organisation (www.knx.org); since 2009 he is member of OPC foundation (www.opcfoundation.org).

Marco Stefano Scroppo, University of Catania, Department of Electrical Electronic and Computer Engineering

Marco Stefano Scroppo was born in Catania (Italy) in 1989. He received the bachelor’s degree in 2013 and the master’s degree in 2015, both in Computer Engineering and both from the University of Catania. His main skills include development of web application, development of mobile native and cross-platform applications, development of web services, cloud technologies, C#, Java, OPC UA, C ++, C, OpenCL, SQL, Javascript. Currently he is a Ph.D. student at University of Catania. His main research areas are industrial informatics, Industrial Internet of Things (IIoT) and Industry 4.0.

References

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.

Downloads

Published

2019-06-15

How to Cite

Cavalieri, S., & Scroppo, M. S. (2019). A CLR Virtual Machine Based Execution Framework for IEC 61131-3 Applications. Informatica, 43(2). https://doi.org/10.31449/inf.v43i2.2019

Issue

Section

Regular papers