Spis treści
1. Wstęp
Niniejsza notatka aplikacyjna ma na celu przybliżenie użytkownikowi idei programowania paneli operatorskich w środowisku Galileo. Przedstawiono podstawowe działania przy tworzeniu aplikacji.
Dla uzyskania pełnej funkcjonalności zaleca się pobranie ze strony http://www.moeller.net/en/support/index.jsp najnowszej wersji programu Galileo. Można również zainstalować ją jako wersję demonstracyjną - w pełni funkcjonalną. Ograniczeniem w stosunku do wersji pełnej jest jednogodzinny czas pracy po wgraniu aplikacji do panelu operatorskiego.
Celem tworzenia bardziej zaawansowanych aplikacji użytkownik może zasięgać informacji z poniższych źródeł:
1. Pomoc programu Galileo. Jest to rozbudowany HELP zawierający opis wszystkich elementów programowania. Wciskając klawisz F1 uzyskujemy informacje na temat aktualnego elementu.
2. Plik MP_WinCE_eng.pdf. Dokumentacja dostępna w folderze do którego zainstalowano Galileo. Zawiera informacje na temat możliwości systemu Windows CE zainstalowanego w panelach serii XV.
3. Notatka aplikacyjna AN27i17. Notatka zawiera opis i biblioteki do połączenia PLC z panelem za pomocą protokołu CANopenHMI. Umieszczone są w niej również informacje jak uczynić markery pamiętanymi po zaniku zasilania.
4. Dokumentacje środowiska XSoft i sterowników serii XC. Szereg dokumentacji dostępnych w folderze Dok aplikacji XSoft opisujących zasady programowania i uruchamiania sterowników firmy Moeller.
???????
2. Podstawy.
2.1. Tworzenie nowego projektu.
Po uruchomieniu programu XSoft Galileo należy wybrać z menu Project New... Przy zapisywaniu aplikacji program tworzy dodatkowe foldery i pliki, warto zatem założyć uprzednio oddzielny katalog.
W dalszej części ukaże się okno wyboru modelu panelu. Należy wybrać właściwą jednostkę, zdefiniować czy będzie zainstalowana pionowo czy poziomo i zatwierdzić.
Kolejnym etapem jest wybór sterownika oraz protokołu jaki będzie używany do komunikacji:
Po wybraniu protokołu należy sparametryzować komunikację. Należy zwrócić uwagę szczególnie na odpowiednią prędkość komunikacji oraz numery urządzeń w sieci:
2.2. Tworzenie nowej maski w programie
Gdy utworzono nowy projekt i skonfigurowano połączenie można przystąpić do tworzenia aplikacji. Należy w tym celu założyć nową maskę. W zakładce „Masks” trzeba kliknąć prawym klawiszem myszy na „Masks(standard)” i wybrać „New...” a następnie wpisać nazwę, np. „main”
Galileo zwróci zapytanie o ustawienia wygaszacza ekranu oraz wyłączenia możliwości sterowania dotykowego. Funkcje te mają znaczenie szczególnie w przypadku paneli z matrycą IR - aby zanieczyszczenie nie spowodowało niezamierzonego uruchomienia.
W dalszym etapie należy wpisać numer maski lub zatwierdzić proponowaną przez Galileo. Numer maski można w przyszłości wykorzystać do np. zmiany aktywnego ekranu z poziomu PLC lub w celu sprawdzenia który jest aktualnie wyświetlany.
2.3. Wprowadzanie tekstów w Galileo.
Aby wstawić element tekstowy niezwiązany z programem sterownika należy wybrać z paska narzędziowego ikonę
, a następnie „narysować” myszką prostokąt na masce, a następnie kliknąć go dwukrotnie. Ukaże się okno:
Należy wówczas kliknąć na kratce oznaczonej „...” w kolumnie „Text”. Pojawi się okno w którym należy wybrać „Define...”
Pojawi się okno, w którego dolnej części można wprowadzać teksty. Po wpisaniu ciągu znaków należy wcisnąć klawisz ENTER lub przycisk „Add”. Wprowadzony tekst pojawi się w górnym oknie wraz z przydzielonym mu numerem.
Jeżeli zaistnieje potrzeba zmiany tekstu nie należy po jego wprowadzeniu wciskać klawisza ENTER, gdyż spowoduje to dodanie tekstu jako nowego. Należy wówczas skorzystać z przycisku „Modify”.
W dalszej kolejności należy zatwierdzić wybrany tekst.
W oknie dialogowym istnieje możliwość swobodnego definiowania parametrów wyświetlanego tekstu takich jak krój i rozmiar czcionki, położenie tekstu w prostokącie, jego kolor, kolor tła. Można również zaznaczyć funkcję przezroczystości.
Po wybraniu OK w narysowanym uprzednio prostokącie pojawi się wprowadzony tekst:
Jeżeli tło pola tekstowego będzie ustawione na przezroczyste lub będzie takie same jak tło maski - ramka nie będzie widoczna po uruchomieniu na panelu. Wyświetlana jest ona jedynie w trybie edycyjnym - pomaga w rozmieszczaniu elementów.
Wprowadzanie tekstów sprawia wrażenie kłopotliwego. Taka metoda pozwala jednak na sprawne przygotowanie wersji wielojęzykowych aplikacji w późniejszym czasie.
W podobny sposób wprowadzane są teksty innych elementów takich jak opisy przycisków (button), czy też sygnalizatory (flag)
Za pomocą ikony
można wyświetlać tekst wprost ze sterownika. Do elementu zostaje podpięta zmienna typu string. Więcej na temat podpinania zmiennych w rozdziale 3.5.
2.4. Używanie masek w projekcie.
Aby utworzyć kolejną maskę należy postępować podobnie jak w punkcie 3.2. Należy jedynie wpisać inną nazwę niż dotychczas użyte. Aby maska mogły być wyświetlana konieczne jest stworzenie elementu powodującego przejście do niej z maski głównej. Służy do tego celu element oznaczony ikonką:
.
Po narysowaniu przycisku należy kliknąć go dwukrotnie i wybrać nazwę maski na którą ma zostać dokonane przejście po jego wybraniu.
Przycisk zmiany maski (podobnie jak wszystkie inne aktywne elementy) może przybrać dowolny styl:
- Text - może być klasycznym przyciskiem z opisem tekstowym (oddzielnie dla wciśniętego i nie);
- Color - może mieć obie pozycje zróżnicowane jedynie kolorem;
- Bitmap - może być pokryty plikiem graficznym stworzonym przez użytkownika (w efekcie może przybrać dowolny wygląd)
- Invers - może jedynie zmienić swój stan na przeciwny
- Transparent - może być również przezroczysty - umieszczony na innym obiekcie statycznym czyni dany obszar dynamicznym
W zakładce Accessibility można określić w jakich warunkach element ma być wyświetlany oraz w jakich ma być zablokowany.
Po wybraniu stylu „Text” i skonfigurowaniu odpowiedniego tekstu otrzymujemy przycisk przejścia do kolejnej maski:
Należy pamiętać aby w następnej masce umieścić przycisk powrotu. Można posłużyć się tutaj klawiszem funkcyjnym:
. Jedną z opcji jest utworzenie przycisku powrotu do poprzedniej maski. Po „narysowaniu” elementu i dwukrotnym kliknięciu ukaże się okno konfiguracji:
Z grupy Internals należy wybrać funkcję Last Mask. Po dodaniu tekstu opisującego przycisk powrotu element jest gotowy. Można również użyć przycisku przejścia do maski:
ze wskazaniem poprzedniej lub głównej.
2.5. Zmienne w Galileo. Definiowanie adresów fizycznych .
Zmienne w Galileo określane są jako „Tagi". Ich deklaracji dokonuje się w zakładce „Tags” menu podręcznego „Project Overview”. Aby utworzyć zmienną należy prawym klawiszem myszki kliknąć na elemencie określającym rodzaj deklarowanej zmiennej.
Po wybraniu New pojawi się okno edycyjne w którym należy wpisać nazwę pod jaką tag będzie widoczny w projekcie Galileo. Jeżeli druga zmienna będzie tego samego rodzaju można skorzystać z opcji Duplicate (Ctrl+D)
Po stworzeniu zmiennej będzie ona sygnowana niebieskim znakiem typu zmiennej. Gdy zostanie nadany adres fizyczny - przyjmie on kolor czerwony.
Aby nadać adres zmiennej należy kliknąć ją dwukrotnie. W zakładce Format trzeba rozszerzyć zakres w polu No. of array entries: na minimum 8. Jest to wymagane ze względu na specyfikę protokołu CANopenHMI.
W zakładce Address należy dwukrotnie kliknąć dwukrotnie na polu Address. Pojawi się okno dialogowe Setting address w którym należy wpisać numer markera. Jeżeli numer będzie poprawny sygnalizacja z prawej strony zmieni kolor na zielony.
W przypadku adresowania zmiennych tekstowych stosując protokół CANopenHMI ciąg znaków może mieć długość maksymalnie 4 znaków. Dłuższe ciągi znaków można przesyłać protokołem SymArti (medium transmisyjne - ethernet). Jeżeli istnieje potrzeba użycia czterech znaków należy zaznaczyć not terminated. W przeciwnym wypadku jeden znak będzie zarezerwowany jako znak końca.
2.6. Tworzenie elementów powiązanych z programem PLC.
Aby program współdziałał ze sterownikiem należy użyć elementu czynnego i podłączyć do niego zmienną. Można przykładowo utworzyć element typu flaga, który zależnie od stanu jednego bitu będzie przyjmował kolor czerwony bądź zielony. Należy w tym celu „narysować” prostokąt elementem:
, a następnie kliknąć dwukrotnie. W polu Tag należy wybrać odpowiednią zmienną (wskazać jej właściwy element).
Jako styl wybieramy Color. W ostatniej zakładce definiujemy jakim stanom który kolor ma odpowiadać:
W panelach serii XV200 możliwość wyboru koloru panelu będzie oczywiście ograniczona do czterech odcieni szarości.
Element Flag może zostać wykorzystany również do tworzenia animacji. Gdy podpięta zostanie zmienna o większej liczbie możliwych stanów, np. BYTE można przypisać poszczególnym stanom różne bitmapy. Są dwa tryby pracy:
Tryb States per Bit określa że będzie przesuwana jedna jedynka i zależnie od jej położenia (bądź braku) można definiować co ma być wyświetlane. W trybie States per Value zmienna będzie dekodowana na wartość liczbową i zależnie od niej definiowane będą tryby wyświetlania. Sterując zmienną z PLC można podmieniać np. bitmapy symulując ruch. W projekcie przykładowym pokazano jak można tego dokonać wraz z podglądem wartości zmiennej za pomocą elementu Value Entry / Display. Pokazano też jak modyfikować zawartość zmiennej z poziomu panelu za pomocą elementu Switch.
Element Value Entry / Display można wykorzystać również do wprowadzania wartości:
Należy w tym celu wybrać z pola Keyboard odpowiedni rodzaj klawiatury. Po dotknięciu tego pola na ekranie panelu będzie możliwość wprowadzenia wartości.
2.7. Kompilacja projektu.
Przed każdorazowym wgraniem projektu do panelu należy zapisać zmiany i dokonać kompilacji. Aby zapisać wszystkie zmiany dokonane w projekcie należy wcisnąć Ctrl+Alt+S, albo z menu Project wybrać opcję Save. Można również użyć ikonki:
. Po potwierdzeniu polecenia zapisu projekt może zostać skompilowany. Jeżeli nie dokonamy zapisu Galileo przypomni przed kompilacją o jego konieczności:
Kompilacji dokonuje się po wciśnięciu ikonki:
, lub wybraniu z menu Build polecenia Compile... (F7).
Prawidłowe zakończenie procesu obrazuje okno kompilacji pokazane poniżej:
W oknie kompilacji mogą pojawić się informacje o ostrzeżeniach i ewentualnych błędach. Pomimo wystąpienia błędów dojdzie do kompilacji i wgranie aplikacji będzie możliwe. Funkcjonowanie może być jednak nieprawidłowe dlatego należy zlokalizować i poprawić błędy. Do „przeskakiwania” pomiędzy wykrytymi błędami można użyć klawisza F4 - przesuwa on w odpowiednie miejsca zawartość okna.
Przykład błędu - nie podpięto zmiennej do elementu czynnego (przycisku):
Przykład ostrzeżenia - zmienna nie jest podpięta do żadnego elementu:
Po kompilacji program jest gotowy do wgrania lub uruchomienia w trybie GPI.
2.8. Wgrywanie projektu do panelu.
Metodyka wgrywania projektu do panelu została przedstawiona w notatce aplikacyjnej NA131PL??????Pierwsze kroki z XV200/XV400.
2.9. Dodatkowe informacje.
Aby otworzyć projekt demonstracyjny należy wybrać w Galileo z menu Project -> Restore.... Następnie wskazać plik zip, a potem lokalizację do której ma on być rozpakowany. Po otwarciu należy jeszcze dokonać kompilacji i projekt jest gotowy do wgrania do panelu bądź uruchomienia w trybie symulacji GPI. Należy w tym celu wcisnąć przycisk:
.
Galileo obsługuje takie elementy jak: Receptury, Listy zagrożeń i ostrzeżeń (Error List), Trendy, elementy typu Camera, gdzie można podglądać obraz z kamery internetowej (najszybsze odświeżanie co 1s). Funkcje można wywoływać z poziomu PLC, można tworzyć wielojęzykowe wersje aplikacji, określać poziomy dostępu, wykorzystywać język skryptowy. Wewnętrzny zegar można synchronizować z PLC w obie strony. Istnieje też możliwość komunikacji za pomocą wielu protokołów i dużo innych funkcji czyniących Galileo niezwykle silną i efektywną aplikacją.
Panele operatorskie serii XV - środowisko Galileo
3
Moeller Electric Sp. z o.o. NA151PL 11/2005
www.moeller.pl
Dostępne typy zmiennych:
bit - zmienne binarne
(przyjmujące tylko dwa stany);
byte, word, dword, float - zmienne
zawierające wartości liczbowe;
error - zmienne tylko do odczytu z PLC -
służą do obsługi alarmów;
Char-Array - zmienne znakowe
wykorzystywane w recepturach i
do wyświetlania zmiennych typu string wprost ze sterownika
struct - zmienne strukturalne
System - grupa zmiennych służących do kontrolowania komunikacji panel - sterownik
Programowanie wizualizacji
w środowisku GALILEO
NA151PL
www.moeller.pl
Programowanie wizualizacji
w środowisku GALILEO
Autor: Jacek Zarzycki
opracowano na podstawie:
HELP'a programu Galileo; notatki AN27i17; MP_WinCE_eng.pdf
©Moeller Electric Sp. z o.o.
02/2006