Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników

Znaleziono wyników: 4

Liczba wyników na stronie
first rewind previous Strona / 1 next fast forward last
Wyniki wyszukiwania
Wyszukiwano:
w słowach kluczowych:  assembler
help Sortuj według:

help Ogranicz wyniki do:
first rewind previous Strona / 1 next fast forward last
PL
Artykuł ten stanowi kontynuację tematyki rozpoczętej w artykule „Prawidłowe tworzenie rozkazów asemblerowych dla Maszyny W cz.1”. W bieżącym artykule przedstawiony jest kolejny zestaw błędów popełnianych przez studentów. Tym razem są to błędy związane z bardziej dogłębną wiedzą lub takie które mimo wszystko na zajęciach się pojawiają. W tym artykule są one zebrane w jeden zbiór, wraz z krótkim omówieniem problemu i przedstawieniem rozwiązań prawidłowych. Podsumowaniem jest spis opisanych tu błędów popełnianych przez studentów. Artykuł ten może stanowić więc nie tylko uzupełnienia wiedzy dotychczas posiadanej, ale także swego rodzaju listą kontrolną podczas praktycznej implementacji rozkazów asemblerowych dla Maszyny W.
PL
W artykule przedstawiono przykłady implementacji kilku rozkazów asemblerowych dla Maszyny W wraz z omówieniem błędów realizowanych przez studentów. Pokazano typowe problemy występujące przy implementacji rozkazów oraz zaprezentowano i omówiono prawidłowe rozwiązania. W zakresie prezentacji błędów popełnianych przez studentów skupiono się na tych najczęściej występujących. Przedstawiono także w punktach, zakres materiału teoretycznego potrzebnego do opanowania, jeszcze przed przystąpieniem do realizacji zadań praktycznych. Zestaw ten może być przydatny jako lista kontrolna wstępnie wymaganej wiedzy.
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ść).
PL
W czwartej części cyklu artykułów kontynuujemy budowę częstotliwościomierza. Główna cześć algorytmu programu częstotliwościomierza zbudowana będzie w asemblerze.
EN
In the fourth part of the series of articles, we continue to build the frequency meter. The main part of the algorithm will be constructed in assembler.
first rewind previous Strona / 1 next fast forward last
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ć.