Model i implementacja dwurdzeniowego sterownika programowalnego opartego na maszynie wirtualnej
Streszczenie
Przedstawiono koncepcję, model semantyczny oraz prototypową implementację dwurdzeniowego sterownika programowalnego. Koncepcja budowy sterownika obejmuje równoległe przetwarzanie dwóch programów wykonawczych za pośrednictwem maszyny wirtualnej, wykorzystując wspólny obszar pamięci zmiennych globalnych. Zaprezentowany model przedstawia formalny opis wykonywania przenaszalnych programów binarnych powstałych na podstawie języków normy IEC 61131-3 w środowisku programistycznym CPDev. Przedstawiona architektura opisuje działanie maszyny wirtualnej za pomocą abstrakcyjnych obiektów algebraicznych. Rozwiązanie zaimplementowane zostało w języku C/C++ na dwurdzeniowej platformie mikrokontrolerowej.
Słowa kluczowe
IEC 61131-3, maszyna wirtualna, model formalny, plc
Model and Implementation of a Dual-Core Programmable Controller Based on a Virtual Machine
Abstract
The concept, semantic model, and prototype implementation of a dual-core programmable controller have been presented. The controller’s design concept involves parallel processing of two execution programs through a virtual machine, utilizing a shared memory area for global variables. The presented model provides a formal description of the execution of portable binary programs created based on the languages of the IEC 61131-3 standard in the CPDev programming environment. The architecture described outlines the operation of the virtual machine using abstract algebraic objects. The solution has been implemented in C/C++ on a dual-core microcontroller platform.
Keywords
formal model, IEC 61131-3, plc, virtual machine
Bibliografia
- Becker M., Sandström K., Behnam M., Nolte T., A Many-Core Based Execution Framework for IEC 61131-3. [In:] Proceedings of the IECON 2015 – 41st Annual Conference of the IEEE Industrial Electronics Society, Yokohama, Japan, 2015, DOI: 10.1109/IECON.2015.7392805.
- Cisek J., Mikluszka W., Swider Z., Trybus L., A Low-Cost DCS with Multifunction Instruments and CAN Bus, „IFAC Proceedings Volumes”, Vol. 34, No. 29, 2001, 64–69, DOI: 10.1016/S1474-6670(17)32794-5.
- Gordon M., The Denotational Description of Programming Languages, Springer-Verlag, New York, 1979.
- Hubacz M., Trybus B., Data Alignment on Embedded CPUs for Programmable Control Devices, „Electronics”, Vol. 11, No. 14, 2022, DOI: 10.3390/electronics11142174.
- Hubacz M., Trybus B., Dual-Core PLC for Cooperating Projects with Software Implementation, “Electronics”, Vol. 12, No. 23, 2023, DOI: 10.3390/electronics12234730.
- John K.H., Tiegelkamp M., IEC 61131-3: Programming Industrial Automation Systems, Springer, Berlin/Heidel berg, Germany, 2010.
- Papaspyrou N.S., Denotational semantics of ANSI C, “Computer Standards & Interfaces”, Vol. 23, No. 3, 2001, 169–185, DOI: 10.1016/S0920-5489(01)00059-9.
- Sadolewski J., Trybus B., Compiler and virtual machine of a multiplatform control environment, “Bulletin of the Polish Academy of Sciences Technical Sciences”, Vol. 70, No. 2, 2022, DOI: 10.24425/bpasts.2022.140554.
- Schmidt D., Denotational Semantics: A Methodology for Language Development. Kansas State University, Department of Computing and Information Sciences, Manhat tan, 1997.
- Slonneger K., Kurtz B.L., Formal Syntax and Semantics of Programming Languages: A Laboratory-Based Approach, Addison-Wesley Publishing Company, 1995.
- Stoy J., Denotational Semantics: The Scott–Strachey approach to programming language theory, Massachusetts Institute of Technology, 1979.
- Trybus B., Development and Implementation of IEC 61131-3 Virtual Machine, „Theoretical and Applied Informatics”, Vol. 23, No. 1, 2011, 21–35.