PL EN


Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników
Tytuł artykułu

Development and implementation of IEC 61131-3 virtual machine

Autorzy
Treść / Zawartość
Identyfikatory
Warianty tytułu
PL
Projektowanie i implementacja maszyny wirtualnej normy IEC 61131-3
Języki publikacji
EN
Abstrakty
EN
Virtual machine described in the paper is a runtime program for controllers in small distributed systems. The machine executes intermediate universal code similar to an assembler, compiled in CPDev engineering environment from source programs written in control languages of IEC 61131-3 standard. The machine is implemented as a C program, so it can run on different target platforms. Data formats and commands of the machine code are presented, together with the machine's Petri-net model, C implementation involving universal and platform-dependent modules, target hardware interface, input/output programming mechanisms, and practical applications.
PL
W artykule przedstawiono projekt i implementację maszyny wirtualnej będącą elementem środowiska wykonawczego dla sterowników. Przeznaczona jest przede wszystkim do małych, rozproszonych systemów sterowania. Maszyna współpracuje z pakietem CPDev, opracowanym na Politechnice Rzeszowskiej, który służy do programowania w językach normy IEC 61131-3 (PN-EN 61131-3) (Rys. 1). Programy w ST, IL lub FBD są kompilowane do kodu pośredniego VMASM, który w postaci binarnej może być wykonywany przez maszynę na platformie docelowej (Rys. 2 i Tab. 2). Zestaw instrukcji maszyny wirtualnej oraz obsługiwane przez nią typy danych zostały dostosowane do normy IEC (Tab. 1). Działanie maszyny zostało zamodelowane za pomocą hierarchicznej czasowej kolorowanej sieci Petriego. Elementami tego modelu jest strona przedstawiająca cykl zadania (nadrzędna, Rys. 3) oraz podrzędna, reprezentująca moduł wykonawczy (Rys. 4). Symulacja modelu pozwoliła zweryfikować przyjęte założenia projektowe. Maszyna wirtualna została zaimplementowana jako program w języku C. Jej strukturę wewnętrzną przedstawiono na Rys. 5. Część modułów jest uniwersalna, pozostałe zależą od platformy docelowej sterownika. Dzięki takiemu układowi, maszyna może być przystosowana do różnego sprzętu. Dostosowanie maszyny polega na przygotowaniu funkcji wchodzących w skład interfejsu sprzętowego, określających m.in. sposób ładowania programu, obsługę cyklu zadania i zegara czasu rzeczywistego. Współpraca ze sprzętem obejmuje także odczyt wejść i zapis wyjść procesowych. Konfigurator zasobów sprzętowych pozwala przypisać zmienne programu do określonych wejść/wyjść. Mechanizm bloków sprzętowych pozwala natomiast bezpośrednio korzystać z mechanizmów niskopoziomowych w kodzie programu. W ten sposób zrealizowano m.in. obsługę protokołu NMEA (Rys. 4). Dwa pierwsze zastosowania maszyny wirtualnej ze środowiskiem CPDev to sterownik SMC polskiej firmy Lumel, będący centralnym węzłem małego rozproszonego systemu sterowania (mini-DCS, Rys. 6a, b) oraz system Mini-Guard z Praxis Automation (Holandia) stosowany do monitorowania systemów na statku i jego pozycjonowania (Rys. 6c). Dzięki maszynie wirtualnej programy tworzone w środowisku CPDev w językach normy IEC 61131-3 (ST, IL, FBD) mogą być uruchamiane na różnych sterownikach, wyposażonych w procesory AVR, ARM, x86 i inne. Przedmiotem dalszych prac będzie możliwość jednoczesnego wykonywania przez maszynę kilku zadań sterujących (wielozadaniowość).
Rocznik
Strony
21--35
Opis fizyczny
Bibliogr. 14 poz., rys.
Twórcy
autor
  • Department of Electrical Engineering and Informatics Rzeszów University of Technology ul. W.Pola 2, Rzeszów, Poland, btrybus@prz.edu.pl
Bibliografia
  • 1. CPN Tools: Computer Tool for Coloured Petri Nets, http://www.daimi.au.dk/cpntools/.
  • 2. Z. Hajduk, B. Trybus, J. Sadolewski: Hardware implementation of virtual machine for programmable controllers (in Polish), In: Metody wytwarzania i zastosowania systemów czasu rzeczywistego, WKŁ, pp.327-336, Warszawa, 2010.
  • 3. IEC 61131-3 Standard: Programmable Controllers. Part 3. Programming Languages, IEC, 2003.
  • 4. ISaGRAF User’s Guide, ICS Triplex Inc., 2005.
  • 5. K. Jensen: Coloured Petri Nets. Basic Concepts, Analysis Methods and Practical Use, Springer –Verlag, 1997.
  • 6. W. Mikluszka, B. Trybus: Modelling and implementation of CAN bus in CPDev environment (in Polish), In: Metody wytwarzania i zastosowania systemów czasu rzeczywistego, WKŁ, pp.293-302, Warszawa, 2010.
  • 7. Mini-Guard Ship Control & Positioning System, Praxis Automation Technology B.V., http://www.praxis-automation.com, 2010.
  • 8. D. Rzońca, J. Sadolewski, A. Stec, Z. ´Swider, B. Trybus, L. Trybus: Mini-DCS System Programming in IEC 61131-3 Structured Text, Journal of Automation, Mobile Robotics & Intelligent Systems, Vol.2, No.3, 2008.
  • 9. D. Rzońca, J. Sadolewski, A. Stec, Z. Świder, B. Trybus, L. Trybus: Open environment for programming small controllers according to IEC 61131-3 standard. Scalable Computing: Practice and Experience, Vol.10, No.3, pp.325-336, 2009.
  • 10. D. Rzońca, B. Trybus: Application of coloured Petri net for design of SMC controller communication subsystem, Studia Informatica, Vol.27, No.1, pp.1-12, 2008.
  • 11. J. Sadolewski, B. Trybus: Multiplatform virtual machine for control systems (in Polish),In: Modele i zastosowania systemów czasu rzeczywistego, WKŁ, pp.293-302,Warszawa, 2008.
  • 12. SMC programmable controller, Lumel S.A., http://www.lumel.com.pl/en, 2010.
  • 13. E. Tisserant, L. Bessard, M. Sousa: An Open Source IEC 61131-3 Integrated Development Environment, 5th Int. Conf. Industrial Informatics, Piscataway, NJ, USA, 2007.
  • 14. B. Trybus: Introduction to Conversion of Control Software Structured Models into Coloured Petri Nets, Theoretical and Applied Informatics, Vol. 19, No.1, pp.57-70, 2007.
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-article-BUJ8-0012-0032
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.