Obsługa typów danych normy PN-EN 61131-3 w architekturze ARM z ograniczeniami dostępu do pamięci

pol Artykuł w języku polskim DOI: 10.14313/PAR_243/23

wyślij Marcin Hubacz , Jan Sadolewski , Bartosz Trybus Politechnika Rzeszowska, Wydział Elektrotechniki i Informatyki, ul. Wincentego Pola 2, 35-021 Rzeszów

Pobierz Artykuł

Streszczenie

W artykule przedstawiono wyniki badań dotyczących obsługi typów danych z normy PN-EN 61131-3 w układach o architekturze ARM. Badania wykonano dla kilku różnych platform sprzętowych z jednostkami centralnymi z serii Cortex-M i Cortex-A. Testy przeprowadzono w oparciu o środowisko CPDev do tworzenia i uruchamiania oprogramowania sterującego. Ze względu na ograniczenia architektury ARM opracowano trzy metody dostępu do pamięci, a wyniki pozwoliły określić najefektywniejszą. W artykule przedstawiono także proponowane rozszerzenie maszyny wirtualnej CPDev z nowymi instrukcjami, dzięki którym operacje na danych w rozwiązaniach o architekturze ARM działają bardziej wydajnie.

Słowa kluczowe

ARM, CPDev, plc, PN-EN 61131-3

Support for PN-EN 61131-3 Standard Data Types in ARM Architecture with Memory Access Restrictions

Abstract

The article presents the results of research on the handling of data types from the PN-EN 61131-3 standard in systems with ARM architecture. The tests were carried out on several different hardware platforms with the Cortex-M and Cortex-A series as CPUs. The research was carried out on the basis of the CPDev environment for creating and running control software. Due to the limitations of the ARM architecture, three methods of access to memory have been developed, and the results allow to determine the most effective. The article also presents the proposed virtual machine extension with new instructions to make data operations in ARM solutions more efficient.

Keywords

ARM, CPDev, plc, PN-EN 61131-3

Bibliografia

  1. International Electrotechnical Commission, “PN-EN 611313:2013 – Programmable controllers – Part 3: Programming languages,” European Committee for Electrotechnical Standardization, Tech. Rep, 2013.
  2. Rzońca D., Sadolewski J., Stec A., Świder Z., Trybus B., Trybus L., Developing a multiplatform control environment, Journal of Automation, Mobile Robotics and Intelligent Systems, Vol. 13, No. 4, 2019, 73–84, DOI: 10.14313/JAMRIS/ 4-2019/40.
  3. Trybus B., Development and Implementation of IEC 61131-3 Virtual Machine, “Theoretical and Applied Informatics”, Vol. 23, No. 1, 2011, 21–35.
  4. Hubacz M., Sadolewski J., Trybus B., Wydajność architektury STM32 w zakresie wykonywania kodu pośredniego dla systemów sterowania, „Pomiary Automatyka Robotyka”, R. 25, Nr 1, 2021, 27–34, DOI: 10.14313/PAR_239/27.
  5. Kim H.S., Lee J.Y., Kwon W.H., A compiler design for IEC 1131-3 standard languages of programmable logic controllers, [in:] SICE ’99 Ann. Conf., 1999, 1155–1160, DOI: 10.1109/SICE.1999.788715.
  6. LLVM Compiler Infrastructure. [www.llvm.org]
  7. Rockwell Automation, ISaGRAF Workbench. [www.isagraf.com]
  8. COPA-DATA France, STRATON. [www.straton-plc.com]
  9. Zhou C., Chen H., Development of a PLC Virtual Machine Orienting IEC 61131-3 Standard, [in:] International Conference on Measuring Technology and Mechatronics Automation, Vol. 3, 2009, 374–379, DOI: 10.1109/ICMTMA.2009.422.
  10. Zhang M., Lu Y., Xia T., The Design and Implementation of Virtual Machine System in Embedded SoftPLC System, [in:] International Conference on Computer Sciences and Applications, 2013, 775–778, DOI: 10.1109/CSA.2013.185.
  11. Introducing Cortex-A32: ARM’s smallest, lowest power ARMv8-A processor, https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/introducing-cortex-a32-arm-s-smallest-lowest-power-armv8-a-processor-fornext-generation-32-bit-embedded-applications
  12. Arm Limited, Q2 2018 Roadshow Slides, https://www.arm.com/-/media/global/company/investors/Financial%20Result%20Docs/Arm_SB_ Q2_2018_Roadshow_Slides_FINAL.pdf?revision=b8ffe77d-e34f-4dc1-b0ec-69726f536cc6
  13. ARM Microcontrollers Market Size And Forecast, https://www.verifiedmarketresearch.com/product/arm-microcontrollers-market/
  14. Wang K.C., Embedded and Real-Time Operating Systems, 2017, 401–475, DOI: 10.1007/978-3-319-51517-5_10.
  15. Dokumentacja architektury ARM, https://developer.arm.com/documentation/
  16. Kusswurm D., Modern Arm Assembly Language Programming, ISBN: 978-1-4842-6266-5, Apress, Berkeley, CA, 2020.
  17. CPDev VM public sources. https://github.com/CPDev-ControlProgramDeveloper