Ćwiczenie sic-c03. programowanie węzłów sieci lonworks...

21
Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT SIECI INTELIGENTNYCH CZUJNIKÓW KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII AKADEMIA GÓRNICZO-HUTNICZA WWW.KANIUP.AGH.EDU.PL WWW.AGH.EDU.PL KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 1/21 Temat: Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT Narzędzia: Pakiet Echelon Mini FX Evaluation Kit, Zestaw uruchomieniowy Mini FX/FT – stanowisko laboratoryjne, edytor tekstu np. TextPad Zakres materiału Do ćwiczenia potrzebna jest znajomość: 1. architektury i budowy mikrokontrolera NeuronChip, 2. podstaw języka C. Cel ćwiczenia Celem ćwiczenia jest opanowanie podstaw programowania w języku Neuron C z wykorzystaniem płytki ewaluacyjnej z mikrokontrolerem NeuronChip z rodziny FT5000. W czasie ćwiczenia należy zapoznać się z programami demonstracyjnymi dostarczonymi przez producenta, skompilować oraz załadować je do pamięci mikrokontrolera, a następnie przetestować ich działanie. Kolejną częścią ćwiczenia jest rozbudowanie oprogramowania o własne funkcjonalności zaprojektowane z wykorzystaniem języka Neuron C. Wstęp W ćwiczeniu wykorzystywana jest płytka z mikrokontrolerem NeuronChip z rodziny FT5000. Widok płytki przedstawiono na rysunku nr 1.1. Rysunek nr 1.1. Zdjęcie płytki ewaluacyjnej z mikrokontrolerem NeuronChip z rodziny FT5000.

Upload: others

Post on 29-Jan-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    SIECI INTELIGENTNYCH CZUJNIKÓW KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII AKADEMIA GÓRNICZO-HUTNICZA

    WWW.KANIUP.AGH.EDU.PL WWW.AGH.EDU.PL

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 1/21

    Temat: Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    Narzędzia: Pakiet Echelon Mini FX Evaluation Kit, Zestaw uruchomieniowy Mini FX/FT – stanowisko laboratoryjne, edytor tekstu np. TextPad

    Zakres materiału Do ćwiczenia potrzebna jest znajomość:

    1. architektury i budowy mikrokontrolera NeuronChip, 2. podstaw języka C.

    Cel ćwiczenia Celem ćwiczenia jest opanowanie podstaw programowania w języku Neuron C z wykorzystaniem płytki ewaluacyjnej z mikrokontrolerem NeuronChip z rodziny FT5000. W czasie ćwiczenia należy zapoznać się z programami demonstracyjnymi dostarczonymi przez producenta, skompilować oraz załadować je do pamięci mikrokontrolera, a następnie przetestować ich działanie. Kolejną częścią ćwiczenia jest rozbudowanie oprogramowania o własne funkcjonalności zaprojektowane z wykorzystaniem języka Neuron C.

    Wstęp W ćwiczeniu wykorzystywana jest płytka z mikrokontrolerem NeuronChip z rodziny FT5000. Widok płytki przedstawiono na rysunku nr 1.1.

    Rysunek nr 1.1. Zdjęcie płytki ewaluacyjnej z mikrokontrolerem NeuronChip z rodziny FT5000.

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 2/21

    Uniwersalny węzeł LonWorks zawiera w sobie układ FT 5000 Smart Transceiver będący połączeniem NeuronChip’a oraz Transciever’a. Mikrokontroler taktowany jest zewnętrznym zegarem kwarcowym z częstotliwością 10 MHz ( istnieje możliwość regulacji częstotliwości wewnętrznego zegara w zakresie 5-80 MHz). Ponadto układ wyposażony jest w 64 KB zewnętrznej, nieulotnej pamięci EEPROM oraz 64 KB pamięci Flash. Wymiana danych pomiędzy Flash i EEPROM następuje poprzez magistralę SPI lub I2C. Po resecie urządzenia kod programu oraz dane konfiguracyjne są kopiowane z EEPROM do wewnętrznej pamięci RAM a następnie aplikacja zostaje wykonywana. Peryferia układu zostały przedstawione na rysunku nr 1.2, w ich skład wchodzą alfanumeryczny wyświetlacz LCD, Joystick, dwa przyciski, dwie diody LED, czujnik temperatury oraz natężenia oświetlenia. Na rysunku nr 2 przedstawiono ich usytuowanie na płytce FT 5000.

    Rysunek nr 1.2. Zdjęcie płytki ewaluacyjnej przedstawiające układy peryferyjne.

    Jako medium transmisyjne wykorzystywana jest skręcona para przewodów (TP) podłączona do interfejsu sieci LonWorks Echelon U10 - rysunek nr 1.3.

    Rysunek nr 1.3. Zdjęcie modułu interfejsu sieciowego U10 USB firmy Echelon.

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 3/21

    Rozdział I: Zapoznanie z oprogramowaniem dedykowanym dla sieci LonWorks® na bazie przykładowej aplikacji NcSimpleExample.

    Program ćwiczenia 1. Uruchomić pakiet Echelon Mini FX ( Start/ wszystkie programy…)

    Przedstawiony na rysunku nr 1.4 Mini FX Evaluation Kit jest to pakiet służący do kompilacji i wgrywania własnych programów, przygotowanych dla węzłów sieci LonWorks, do pamięci mikrokontrolera. Pierwszą czynnością jest wybór ścieżki „Neuron C Source file”. Należy podać ścieżkę do pliku Main.nc przykładowej aplikacji NcSimpleExample. Kolejnym krokiem jest dodanie wszystkich bibliotek. Następnie należy wybrać rodzaj obsługiwanego sprzętu (FT 5000 Evaluation Board). Ścieżka: Pulpit: ABIS\C03-Mini FX-FT\Original

    Rysunek nr 1.4. Widok okna pakietu Mini FX Evaluation Kit

    Ostatnim elementem zakładki Application jest pole Standard Program Identifier. Po naciśnięciu przycisku Calculate należy wprowadzić następującą wartość: W celu kompilacji pliku Main.nc należy wybrać odpowiednią opcję klikając przycisk Build. Wszystkie pliki są kompilowane do tego samego katalogu \Main Output\ Main.APB. Uwaga. Proces kompilacji został przeprowadzony w programie Mini FX. Konfiguracja sieci odbywa się w pakiecie LonMaker.

    9F:FF:FF:05:01:04:04:10

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 4/21

    2. Uruchomić przedstawiony na rysunku nr 1.5 program LonMaker, który jest narzędziem służącym do integracji sieci LonWorks.

    Rysunek nr 1.5. Widok okna pakietu Echelon LonMaker Design Manager.

    Wskazówka: W celu poprawnej identyfikacji modułu interfejsu sieciowego, który zostanie wykorzystany do prac z siecią LonWorks, należy uruchomić narzędzie LonWorks Interfaces dostępne w Panelu Sterowania. W zakładce USB powinna zostać wyświetlona nazwa aktualnie używanego modułu U10. Przykład użycia wspomnianego pakietu został przedstawiony na rysunku nr 1.6

    Rysunek nr 1.6. Widok okna pakietu LonWorks Interfaces.

    W zakładce General kliknąć na przycisk Restore, aby odtworzyć ustawienia sieci dla przykładu NcSimpleExample. Następnie należy wybrać plik z folderu Pulpit: ABIS\C03-Mini FX-FT\NcSimpleExample\NcSimple.zip. Zatwierdzić monity „NetworkRestore”

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 5/21

    Następnie należy przejść przez kolejne zakładki programu zatwierdzając zmiany tak, jak to zostało przedstawione na rysunkach nr 1.7 – 1.10

    Rysunek nr 1.7. Widok

    Rysunek nr 1.8. Widok

    Rysunek nr 1.9. Widok

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 6/21

    Rysunek nr 1.10. Widok Poprawnie wykonany proces odtworzenia sieci LonWorks skutkuje uruchomieniem programu Microsoft Visio, wzbogaconego o opcje pakietu LonMaker, efekt ten został przedstawiony na rysunku nr 1.11. Okno główne programu przedstawia urządzenia (Device) podłączone do magistrali LON (Channel 1) oraz bloki funkcyjne tych urządzeń. Bloki funkcyjne wraz z typami zmiennych definiuje się za pomocą języka NeuronC. Strzałkami defioniowany jest przepływ danych w postaci zmiennych sieciowych.

    Rysunek nr 1.11. Widok okna pakietu LonMaker z odtworzonym projektem NcSimpleExample.

    Blok LNS Network Interface m.in. reprezentuje urządzenie U10 USB będące głównym węzłem dostępu do sieci LonWorks z komputera PC. Kolor zielony świadczy o poprawności działania urządzenia w sieci LonWorks. W celu uruchomienia płytek FT 5000 w sieci LonWorks należy nadać im uprawnienia i przyłączyć do projektu (ang. commissioning).

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 7/21

    3. Prawym przyciskiem myszy kliknąć na blok Simple Device 1, a następnie wybrać polecenie Commissioning – zostało to przedstawione na rysunku nr 1.12

    Rysunek nr 1.12. Widok ukazujący się po kliknięciu prawym przyciskiem myszy na bloku Simple Device 1.

    4. Należy zaznaczyć opcję Load aplication image w celu załadowania pliku

    wykonywalnego, zbudowanego wcześniej w pakiecie FX Mini (Main.APB) – zostało to przedstawione na rysunku nr 1.13. Następnie wcisnąć przycisk Dalej>

    Ścieżka: Pulpit: ABIS\C03-Mini FX-FT\NcSimpleExample\Source\MainOutput\

    Rysunek nr 1.13. Widok okna wyświetlanego podczas procesu komis jonowania.

    5. Wprowadzić ustawienia takie jak zostały przedstawione na rysunku nr 1.14.

    Następnie wcisnąć przycisk Dalej>

    Rysunek nr 1.14. Widok okna wyświetlanego podczas procesu komis jonowania.

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 8/21

    6. Następnie zaznaczyć opcję Service pin tak jak zostało to przedstawione

    na rysunku nr 1.15. Spowoduje to odczyt numeru Neuron ID przez program po naciśnięciu przycisku Service Pin na płytce ewaluacyjnej.

    Rysunek nr 1.15. Widok okna wyświetlanego podczas procesu komis jonowania.

    Wybór przycisku Zakończ skutkuje wyświetleniem okna, jak na rysunku nr 1.16, z prośbą o wciśnięcie przycisku Service Pin dla komisjonowanego urządzenia.

    Rysunek nr 1.16. Widok okna wyświetlanego podczas oczekiwania przez pakiet na wciśnięcie

    przycisku Service Pin komis jonowanego urządzenia. Uwaga: Zaznaczona opcja Filter on program ID powoduje, że pakiet LonMaker oczekuje numer Program ID z poprzedniego programu znajdującego się w pamięci urządzenia. W celu wprowadzenia aktualnego programu opcja Filter On program ID musi pozostać odznaczona. Zadania do samodzielnego wykonania

    1. Dokonać skomisjonowania urządzenie Simple Device 2, 2. Przeanalizować działanie wejść/wyjść (I/O) na podstawie wgranej aplikacji

    ncSimpleExample w pakiecie LonMaker. Zmienną sieciową nvoSwitch z Simple Device 2 połączyć (ang. Binding) ze zmienną nviLamp w Simple Device 1,

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 9/21

    3. Zdekomisjonować urządzenia Device 1 i Device 2( prawym przyciskiem myszy na odpowiednim bloku Device i wybrać polecenie Decomission),

    4. Skompilować w pakiecie Mini FX (Program ID: 9F:FF:FF:05:01:84:04:30) i załadować aplikację NcMultiSensorExample do urządzeń Device 1 i Device 2,

    5. Skomisjonować urządzenia z wgraną aplikacją NcMultiSensorExample, w nowym projekcie w pakiecie LonMaker.

    6. Przeanalizować działanie wejść/wyjść (I/O) w pakiecie LonMaker dla tego przykładu,

    7. Zdekomisjonować urządzenia w pakiecie LonMaker, 8. Zaznajomić się z rozdziałem II niniejszego ćwiczenia, 9. Uruchomić program TextPad zainstalowany w systemie Windows 7. Jest

    to edytor tekstu z podkreśleniem składni języka NeuronC, W programie TextPad otworzyć i zaznajomić się z następującymi plikami: UWAGA: Przed każdym nowym procesem konfiguracji sieci w programie LonMaker należy zdekomisjonować wszystkie urządzenia Device. Jest to związane z przyznanym przez firmę Echelon limitem skomisjonowanych urządzeń w postaci punktów Credits widocznych podczas uruchamiania programu LonMaker.

    Pulpit: ABIS\C03-Mini FX-FT\Original\GATE_AND\Source\Main.nc Pulpit: ABIS\ C03-Mini FX-FT\ Original\GATE_AND\Source\Switch.nc Pulpit: ABIS\ C03-Mini FX-FT\ Original\GATE_AND\Source\Lamp.nc

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 10/21

    Rozdział II: Aplikacje węzłów sieci w języku NeuronC W niniejszym rozdziale zostały opisane najważniejsze informację na temat języka NeuronC, niezbędne do wykonania niniejszego ćwiczenia.

    • Predefined Events Język Neuron C charakteryzuje się brakiem głównej funkcji main, znanej z języka C lub C++, w zamian występują zdarzenia typu Predefined Events. Stosowana jest klauzula when o następującej składni: Przykładowe zadanie wywołane po aktualizacji zmiennej sieciowej może mieć postać: NeuronChip wyposażony jest w Scheduler odpowiedzialny za priorytetowanie według schematu przedstawionego na rysunku nr 2.1

    Rysunek nr 2.1. Schemat blokowy algorytmu priorytetowania zaimplementowanego w NeuroChip.

    Przykład występowania zdarzeń i ich obsługę przez Scheduler przedstawiono na rysunku nr 2.2.

    Rysunek nr 2.2. Schemat występowania zdarzeń i ich obsługa przez Scheduler.

    [priorytet] when( ) { //task - kod obsługi zdarzenia }

    when(nv_update_occurs(nviLamp) { //kod obsługi zdarzenia }

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 11/21

    • Zmienne sieciowe Zmienne sieciowe (ang. Network Variables) w języku NeuronC są predefiniowanymi przez standard LonWorks wartościami, strukturami lub typami wyliczeniowymi enum. Zmienne zawierające w sobie te elementy są zgodne ze standardem języka ANSI C. Przedrostki zmiennych sieciowych przedstawiono w tabeli 1. Tabela 1. Przedrostki zmiennych sieciowych. Przedrostek Znaczenie Lokalizacja Zmiennej nvi Zmienna sieciowa wejściowa RAM nvo Zmienna sieciowa wyjściowa RAM nci Zmienna wejściowa kofiguracyjna EEPROM nco Zmienna stała ROM

    • Bloki i profile funkcjonalne Zmienne sieciowe oraz konfiguracyjne są organizowane w bloki funkcjonalne. W definicji bloku zawarte są informacje o typach zmiennych w nim przechowywanych oraz algorytm przetwarzający sygnały wejść/wyjść (I/O). Technologia LonWorks wymaga, aby bloki funkcjonalne, tworzyć zgodnie z profilami funkcjonalnymi czyli „przepisami” na bloki funkcjonalne. Profile funkcjonalne są zgodne ze standardem, ponieważ są opracowywane przez organizację LonMark opiekującą się tą technologią. W deklaracji profilu funkcjonalnego znajduje się informacja o: - nazwie wykorzystanego szablonu profilu funkcjonalnego (np.

    SFPTclosedLoopActuator), - użytych zmiennych sieciowych, oraz ich przypisanie do odpowiednich miejsc

    w szablonie, - nazwie profilu funkcjonalnego.

    W celu stworzenia bloku funkcjonalnego należy posłużyć się słowem kluczowym "fblock", natomiast do przypisania zadeklarowanej zmiennej sieciowej z szablonem służy komenda "implements": Można wymusić kompilację profilu funkcjonalnego z większą ilością zmiennych sieciowych niż zadeklarowana w szablonie za pomocą "implementation_specific(-numer identyfikacyjny zmiennej-)", jednak nie jest to zalecany sposób, ze względu na niezgodność ze standardem LonWorks. W takim przypadku należy stworzyć własny szablon profilu funkcjonalnego.

    fblock SFPTclosedLoopActuator { nviLamp[0] implements nviValu nvoLampFb[0] implements nvoValueFb; } Lamp[Lamp_FBLOCK_COUNT] #ifdef USE_EXTERNAL_NAME external_name("Lamp") #endif ;

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 12/21

    Przykładowa deklaracja profilu funkcjonalnego znajduje się w pliku Lamp.nc zawartym w projekcie NcSimpleExample. Zadania do samodzielnego wykonania

    1. Otworzyć w edytorze TextPad pliki And2.nc oraz Main.nc. Przeanalizować kod źródłowy zawarty w pliku And2.nc. Zwrócić uwagę na następujące definicje w Main.nc odpowiadające za działanie bloku funkcjonalnego And,

    2. Utworzyć nowy projekt sieci w programie LonMaker (postępować wg poleceń w Dodatku A). Następnie w pakiecie LonMaker należy „przeciągnąć” Functional Block i wybrać AND dla urządzenia Device 1 lub 2. Zaznaczyć opcję „Create all network variables and shapes” – zostało to zilustrowane na rysunku nr 2.3,

    Rysunek nr 2.3. Widok okna dodawania bloku funkcjonalnego w pakiecie LonMaker.

    3. Dodać kolejno bloki And[0], Switch[0], Switch[1]. Joystick[0] oraz Lamp[0]

    i Lamp[1], 4. W bloku Joystick[0] zmienną sieciową nvoJoystick zbindować ze zmienną sieciową

    nviAndEna bloku And. Przełączenie Joystick’a w górę spowoduje uaktywnienie bramki AND (nviAndEna.state=1),

    #define And_FBLOCK_COUNT 1

    ……………………………………………………………………………………………………………………………………………………

    #define TOTAL_FBLOCK_COUNT NodeObject_FBLOCK_COUNT +\

    Lamp_FBLOCK_COUNT +\

    Switch_FBLOCK_COUNT+\

    Joystick_FBLOCK_COUNT+\

    And_FBLOCK_COUNT+\

    Or_FBLOCK_COUNT

    ……………………………………………………………………………………………………………………………………………………

    #include "And2.nc"

    ……………………………………………………………………………………………………………………………………………………

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 13/21

    5. Zmienne sieciowe z dwóch różnych bloków Switch zbindować ze zmiennymi sieciowymi nviAndSwitch1 oraz nviAndSwitch2,

    6. Zmienną nvoAndOut połączyć ze zmiennymi wejściowymi bloku Lamp, Wybranie opcji OnNet w oknie Management Mode, co zostało przedstawione wcześniej na rysunku nr 1.9, spowoduje zaświecenie lampki od razu po połączeniu zmiennych i wciśnięciu obu przycisków switch,

    7. W edytorze tekstu TextPad otworzyć plik Or2.nc. Znajduje się w nim prototyp bloku funkcjonalnego Or. Należy napisać brakujący fragment kodu w zdarzeniu when odpowiadający za realizację algorytmu bramki logicznej OR na podstawie wcześniej omówionych punktów niniejszego ćwiczenia,

    8. Przeanalizować działanie własnego bloku funkcjonalnego. W tym celu należy wgrać nową aplikację do mikrokontrolera NeuronChip i skomisjonować urządzenia w pakiecie LonMaker.

    • Diody LED

    Na płytce ewaluacyjnej zestawu z mikrokontrolerem FT5000 zamontowano dwie diody led. Firma Echelon dostarcza również biblioteki umożliwiające zapalanie i wygaszanie diód. Służy do tego funkcja: Jako argumenty przyjmuje ona typ enum Leds zadeklarowany w pliku FT5000EvalBoard.h oraz wartość logiczną opisującą stan odpowiedniej diody led po wykonaniu polecenia.

    • Timery Odliczanie czasu w procesorach NeuronChip zrealizowane jest programowo. Użytkownik może zdefiniować do 15 niezależnych od siebie timerów odliczających czas. Możliwe do zadeklarowania są dwa typy timerów. W jednym czas podajemy z dokładnością do sekundy (słowo kluczowe stimer), natomiast w drugim podajemy czas z dokładnością do milisekundy (słowo kluczowe mtimer). Maksymalny czas odliczania dla timera milisekundowego to 64000 ms, natomiast dla timera sekundowego to 65535. W celu ponownego uruchomienia timera należy przypisać mu nową wartość. Dodanie słowa kluczowego repeating powoduje automatyczny restart timera po odliczeniu określonego czasu. Przykładowy kod timera powtarzającego odliczającego 250 ms, o nazwie tTimer przedstawia się następująco: W celu wykrycia końca odliczania timera konieczne jest użycie zdarzenia timer_expires. Przykładowe użycie tego zdarzenia odniesione do przedstawionego timera tTimer przybiera następującą postać: Przedstawione zdarzenie może zostać użyte np. w wywołaniu zdarzenia when.

    EvalBoardSetLed(Leds,boolean)

    mtimer repeating tTimer=250;

    timer_expires(tTimer)

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 14/21

    Zadania do samodzielnego wykonania 9. W pliku Main.nc projektu Gate_And należy dopisać fragment kodu odpowiadający za

    zaświecenie diody Led1, tak aby uzyskać efekt zapalania się diody jeden raz na sekundę.

    • Wyświetlacz LCD Do wyświetlacza LCD zamontowanego w zestawach uruchomieniowych FT5000 firma Echelon dostarcza gotowe do użycia biblioteki. Zawierają one funkcje pozwalające na sterowanie funkcjami wyświetlacza (np. jasność podświetlenia, komenda czyszczenia wyświetlacza ze znaków), czy wysyłanie tekstu do wyświetlacza. W dalszej części instrukcji zostaną przedstawione podstawowe funkcje wspomnianej biblioteki: Funkcja pozwala na wysłanie do wyświetlacza komendy nie zawierającej dodatkowych danych. Lista komend zadeklarowana jest jako typ wyliczeniowy enum i zawarta została w pliku FT5000EvalBoard.h. Przykładem takiej komendą jest LcdClearScreen, która czyści ekran i nie wymaga podania dodatkowych argumentów. Funkcja pozwala na wysłanie do wyświetlacza komendy z dodatkowym parametrem o wielkości 1 bajt. Komendy te są zadeklarowane łącznie z komendami nie wymagającymi dodatkowych parametrów. Przykładem takiej komendy jest LcdSetBrightness, która pobiera liczbę z zakresu 1 - 16 i ustawia odpowiednią jasność podświetlenia wyświetlacza. Funkcja wymaga od użytkownika podania następujących argumentów: numer wiersza, numer kolumny oraz wskaźnik na łańcuch znaków, a następnie wyświetla go na ekranie LCD w podanym miejscu. Funkcja nie przyjmuje stałego ciągu znaków, należy więc uprzednio stworzyć tablicę tymczasową do której zapisywać będziemy ciągi znaków do wyświetlenia, a następnie przekazać ją do funkcji poprzez wskaźnik. Do kopiowania ciągów znaków do tymczasowej tablicy może posłużyć funkcja strcpy. W projekcie Gate_AND obsługa wyświetlacza jest zaimplementowana w pliku Main.nc. Zdarzenie when cyklicznie (4 razy na sekundę) wyświetla odpowiednie dane na wyświetlaczu LCD. Są to kolejno: - łańcuch znaków, - licznik ruchów joysticka w górę(ruch joysticka w dół powoduje dekrementację), - licznik ruchów joysticka w lewo(ruch joysticka w prawo powoduje dekrementację), - kierunek obecnego wychylenia joysticka(up,down,left,right,none).

    W celu konwersji liczby do ciągu znaków użyto funkcji UIntToHexStr. Zadania do samodzielnego wykonania

    10. W pliku Main.nc projektu Gate_And należy dopisać fragment kodu odpowiadający za zmianę jasności podświetlenia z minimalnej na maksymalną,

    EvalBoardLCDSendCommand(LcdCommands)

    EvalBoardLCDSendCommandWithParam(LcdCommands,char)

    EvalBoardLCDDisplayString(unsigned,unsigned,char*)

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 15/21

    11. Wyświetlić dowolny ciąg znaków w 3 linijce, poczynając od 4 kolumny (maksymalna możliwa ilość znaków wyświetlona przez ekran w 1 linijce to 20),

    12. W ostatniej linijce umieścić licznik zliczający ilość sekund pracy mikroprocesora. UWAGA: Przed każdym nowym procesem konfiguracji sieci w programie LonMaker należy zdekomisjonować wszystkie urządzenia Device. Jest to związane z przyznanym przez firmę Echelon limitem skomisjonowanych urządzeń w postaci punktów Credits widocznych podczas uruchamiania programu LonMaker.

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 16/21

    Rozdział III: Analizator protokołu LonTalk – aplikacja LonScanner Protocol Analyzer Program LonScanner Protocol Analyzer firmy Echelon jest łatwym w użyciu narzędziem umożliwiającym integratorom systemu obserwacje przesyłanych pakietów danych, analizy i diagnostyki sieci LonWorks. Na rysunku nr 3.1 przedstawiono okno główne programu LonScanner. Kolory pozwalają na odróżnienie przesyłanych pakietów. Widoczne są takie informacje jak czas wystąpienia komunikatu, typ (np. z potwierdzeniem lub bez potwierdzenia), źródło i cel oraz przesyłana wartość.

    Rysunek nr 3.1. Widok okna programu LonScanner

    Podczas analizy danych pochodzących z sieci LonWorks za pomocą pakietu LonScanner wygodnym jest zaimportowanie nazw zmiennych sieciowych z Bazy Danych LNS. Aby tego dokonać, należy wybrać przycisk pokazany na rysunku nr 3.2.

    Rysunek nr 3.2. Widok okna programu LonScanner, z zaznaczoną ikoną odpowiedzialną za import nazw zmiennych

    sieciowych z danego projektu. Następnie w oknie, które zostanie wyświetlone należy z rozwijanej listy wybrać nazwę projektu sieci, który ma zostać poddany alizie w pakiecie LonScanner – przykład został przedstawiony na rysunku nr 3.3.

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 17/21

    Rysunek nr 3.3. Widok okna programu LonScanner, w którym wybiera się nazwę projektu poddawanego analizie.

    Kolejno należy zaakceptować poprzez kliknięcie przycisku „Dalej” pojawiające się komunikaty zatwierdzając standardowe ustawienia programu. Każda z zakładek przedstawionych na rysunku nr 3.4 dostarcza porcję informacji pochodzących z analizy sieci LonWorks.

    Rysunek nr 3.4. Widok paska zakładek dostępnych w programie LonScanner.

    UWAGA: Przed każdym nowym procesem konfiguracji sieci w programie LonMaker należy zdekomisjonować wszystkie urządzenia Device. Jest to związane z przyznanym przez firmę Echelon limitem skomisjonowanych urządzeń w postaci punktów Credits widocznych podczas uruchamiania programu LonMaker.

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 18/21

    DODATEK A: Tworzenie nowej sieci w programie LonMaker Dodatek przeprowadza użytkownika przez proces tworzenia nowej sieci w programie LonMaker oraz dodanie urządzenia do nowo utworzonego projektu z uwzględnieniem wymagań niniejszego ćwiczenia. Skompilować plik Main.nc projektu Gate_AND w programie Mini FX. Gate_And znajduje się w folderze Pulpit: ABIS\C03-Mini FX-FT\ Original\GATE_AND\Source\Main.nc Następnie uruchomić pakiet LonMaker. Nadać własną nazwę projektu i wybrać przycisk Create Network – tak jak zostało to przedstawione na rysunku nr A.1.

    Rysunek nr A.1. Widok okna powitalnego pakietu LonMaker.

    Na następnym wyświetlonym na ekranie oknie pozostawić domyślne opcje – tak jak zostało to przedstawione na rysunku nr A.2.

    Rysunek nr A.2. Widok okna Network Wizard, pojawiającego się podczas tworzenia nowego projektu sieci.

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 19/21

    W kolejnym wyświetlonym oknie, pokazanym na rysunku nr A.3, należy wybrać odpowiedni interfejs sieci jaki ma zostać wykorzystany do połączenia komputera PC z siecią LonWorks. Nazwę aktualnie używanego interfejsu można sprawdzić za pomocą apletu LonWorks Interfaces, znajdującego się w Panelu Sterowania.

    Rysunek nr A.3. Widok okna Network Wizard, w którym należy dokonać wyboru odpowiedniego interfejsu sieciowego.

    Kolejne wyświetlone na ekranie okno, które zostało przedstawione na rysunku nr A.4, pozwala na wybór z pośród dwóch trybów zarządzania siecią. Wybrać tryb OnNet.

    Rysunek nr A.4. Widok okna Network Wizard, w którym należy wybrać tryb zarządzania siecią.

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 20/21

    Następne wyświetlone okno, przedstawione na rysunku nr A.5, pozwala na wybranie dodatkowych programów (tzw. plugin’ów) konfigurujących ustawienia danych urządzeń, które mają zostać dołączone do tworzonego projektu.

    Rysunek nr A.5. Widok okna Network Wizard, w którym można dokonać wyboru plugin’ów.

    Proces dodawania nowego projektu sieci należy zakończyć klikając przycisk Zakończ w oknie z rysunku A.5. Zakończenie tego procesu skutkuje otwarciem programu MS Visio z widocznym schematem utworzonej sieci. W celu dodania nowego urządzenia należy z palety Shapes przeciągnąć ikonkę Device i położyć ją na „płachcie” projektu. Na ekranie zostanie wyświetlone okno pokazane na rysunku nr A.6. Jeżeli ustawienia są poprawne należy kliknąć przycisk Dalej.

    Rysunek nr A.6. Widok okna dodawania nowego urządzenia w programie LonMaker.

  • Ćwiczenie SIC-C03. Programowanie węzłów sieci LonWorks z wykorzystaniem modułów Mini FX/FT

    KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII 21/21

    Następnie zostanie wyświetlone okno pokazane na rysunku nr A.7. W polu Load XIF należy wskazać ścieżkę dostępu do pliku XIF. Jest to plik generowany przez program do kompilacji np. pakiet Mini FX, zawierający opis bloków funkcyjnych użytych w projekcie. Ścieżka: Pulpit: ABIS\C03-Mini FX-FT\ Original\GATE_AND\Source\MainOutput\

    Rysunek nr A.7. Widok okna, w którym należy wskazać plik XIF dla danego urządzenia.

    Zadania do samodzielnego wykonania Dodać nowe urządzenie Device 2. W tym celu należy ponownie przeciągnąć ikonkę „Device” z palety Shapes do okna głównego. Na ekranie zostanie wyświetlone okno jak na rysunku nr A.6. Tym razem należy odznaczyć „Create New Device Template”, a z rozwijanej listy urządzeń Name wybrać Main. Ostatnim krokiem jest skomisjonowanie i wgranie programu na urządzenia w nowej sieci.