Model i implementacja dwurdzeniowego sterownika programowalnego opartego na maszynie wirtualnej

pol Article in Polish DOI: 10.14313/PAR_253/93

send Marcin Hubacz , Jan Sadolewski , Bartosz Trybus Politechniki Rzeszowska, Wydział Elektrotechniki i Informatyki, Katedra Informatyki i Automatyki, ul. Wincentego Pola 2, 35-021 Rzeszów

Download Article

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

Bibliography

  1. 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.
  2. 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.
  3. Gordon M., The Denotational Description of Programming Languages, Springer-Verlag, New York, 1979.
  4. Hubacz M., Trybus B., Data Alignment on Embedded CPUs for Programmable Control Devices, „Electronics”, Vol. 11, No. 14, 2022, DOI: 10.3390/electronics11142174.
  5. Hubacz M., Trybus B., Dual-Core PLC for Cooperating Projects with Software Implementation, “Electronics”, Vol. 12, No. 23, 2023, DOI: 10.3390/electronics12234730.
  6. John K.H., Tiegelkamp M., IEC 61131-3: Programming Industrial Automation Systems, Springer, Berlin/Heidel berg, Germany, 2010.
  7. 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.
  8. 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.
  9. Schmidt D., Denotational Semantics: A Methodology for Language Development. Kansas State University, Department of Computing and Information Sciences, Manhat tan, 1997.
  10. Slonneger K., Kurtz B.L., Formal Syntax and Semantics of Programming Languages: A Laboratory-Based Approach, Addison-Wesley Publishing Company, 1995.
  11. Stoy J., Denotational Semantics: The Scott–Strachey approach to programming language theory, Massachusetts Institute of Technology, 1979.
  12. Trybus B., Development and Implementation of IEC 61131-3 Virtual Machine, „Theoretical and Applied Informatics”, Vol. 23, No. 1, 2011, 21–35.