PANEL OPERATORSKI TYPU MT PIERWSZE KROKI
SPIS TREŚCI 1. Odczyt i zapis wartości z/do rejestrów z urządzeń produkcji Lumel 3 1.1 Typy zmiennych w programie Panel Master 3 1.2 Odczyt i zapis wartości z/do rejestru typu INT i FLOAT z urządzeń produkcji Lumel 3 1.2.1 Bezpośredni odczyt stanów binarnych z urządzenia na przykładzie modułu SM5. 3 1.2.2 Odczyt przy pomocy makra 5 1.2.3 Zapis stanów logicznych na przykładzie urządzenia SM4. 8 1.2.4 Odczyt wartości z urządzeń N12 i P12 10 1.2.5 Odczyt wartości z urządzeń SM2 11 1.3 Tryb transmisji Transparent Serwer 11 2. Wizualizacja odczytanego rejestru w postaci graficznej 15 2.1 Numeryczne pole odczytowe (Numeric Display) 15 2.2 Graficzne pole odczytowe (Bargraf) 18 2.3 Powiązanie elementów graficznych z polami odczytowymi 21 3. Receptury 25 4. Logowanie danych 30 4.1 Logowanie danych do pamięci panelu 30 4.2 Przeglądanie danych archiwalnych tabela, wykres 33 5. Poziomy dostępu do aplikacji panelu 38 6. Korzystanie z portu Ethernet 42 6.1 Przesyłanie aplikacji do panelu przez port Ethernet 42 6.2 Klient Modbus TCP/IP pobieranie danych z urządzeń 43 6.3 Serwer Modbus TCP/IP udostępnianie danych do systemów SCADA 44 2
1. Odczyt i zapis wartości z/do rejestrów z urządzeń produkcji Lumel 1.1 Typy zmiennych w programie Panel Master W programie Panel Master wyróżnić można kilka typów zmiennych. Podstawowy typ to WORD, jest to typ 16-bitowy, zatem zajmuje jeden rejestr (jedno miejsce w pamięci) adresowanie takiego typu polega na podaniu rodzaju pamięci (np. $U) i konkretnego adresu (0-4999) np. $U1234. Każda zmienna tego typu zajmuje jedno miejsce w pamięci w związku z czym adresy dla kolejnych zmiennych powinny być przydzielane po kolei. W programie Panel Master dostępne są również zmienne typu DOUBLE WORD (DW). Zmienne tego typu są zapisywane w dwóch rejestrach 16-bitowych (czyli w sumie 32-bity) Zmienna typu WORD może być opisana na kilka sposobów: Unsigned bez znaku (16-bit lub 32-bit) Signed ze znakiem (16-bit lub 32-bit) BCD (16-bit lub 32-bit) Kolejny typ to FLOAT. Typ ten zajmuje 32 bity (czyli dwa rejestry typu WORD). Jest to typ zmiennoprzecinkowy. Przy adresowaniu kolejnych zmiennych pamiętać należy aby każdy kolejny adres był o dwa większy od poprzedniego (np. $U12, $U14, $U16 itd.). Typ STRING to typ znakowy. Każdy znak przetrzymywany jest w jednym rejestrze 8-bitowym czyli jeden WORD to dwa znaki. Należy pamiętać że jeden STRING 5-cio znakowy będzie zajmował 3 rejestry typu WORD a pięć STRINGów jedno znakowych 5 rejestrów typu WORD. Typ BYTE to typ jedno bitowy. W jednym rejestrze typu WORD mieści się zatem 16 zmiennych bitowych. Aby wywołać zmienną bitowa należy użyć notacji z kropką po adresie Word np. $U1234.5 czyli adres 1234 bit nr 6 (bity są numerowane od 0 do 15!). 1.2 Odczyt i zapis wartości z/do rejestru typu INT i FLOAT z urządzeń produkcji Lumel 1.2.1 Bezpośredni odczyt stanów binarnych z urządzenia na przykładzie modułu SM5. a) Do wyświetlania stanów binarnych w programie PanelMaster służy kontrolka Bit Lamp. Aby dodać tą kontrolkę na ekran projektu należy kliknąć lewym klawiszem myszy na ikonie na pasku narzędziowym, bądź w menu Object wybrać pozycje Bit Lamp. Następnie kliknąć na pole ekranu w celu umieszczenia kontrolki Bit Lamp w żądanym miejscu. Przykład na rysunku. Rysunek 1. Umieszczenie kontrolki Bit Lamp w obszarze roboczym projektu 3
b) Dwukrotne kliknięcie na dodanej kontrolce otwiera okno konfiguracji: Rysunek 2. Własciwości kontrolki Bit Lamp c) W przypadku modułu SM5 dane o stanie wejść binarnych przetrzymywane są na dwa sposoby: - w rejestrze 4001 w kolejnych bitach od 0 do 7. - w rejestrach od 4003 do 4010 na bicie 0. d) W celu dodania monitorowania bitu należy w polu Data Type ustawić na wartość Bit of Word. Następnie kliknąć klawisz, po otwarciu się okna Address Entry należy wybierać opcję Link 1 (w przypadku zmiany nazwy połączenia na inną podczas tworzenia projektu należy wybrać żądaną nazwę połączenia). Następnie wybrać należy adres urządzenia i typ zmiennej W. Następnie w numer rejestru wpisać: dla pierwszego przypadku 4001 dla drugiego przypadku adresy od 4003 do 4010, przy czym adres 4003 odpowiada wejściu pierwszemu a adres 4010 wejściu ósmemu. Po poprawnym wprowadzeniu danych należy kliknąć przycisk ENT. Przykład: 4
Rysunek 3. Wprowadzanie adresu rejestru do odczytu danych z urządzenia e) Po zamknięciu okna Address entry ustawić należy odpowiedni numer odczytywanego bitu w polu Bit Number: - dla pierwszego przypadku bit od 0 do 7, gdzie 0 to pierwsze wejście a 7 to wejście 8 - dla drugiego przypadku zawsze bit 0. Taki sposób odczytywania danych zapewnia ciągłe sprawdzanie stanu rejestrów z maksymalną możliwą prędkością. Powoduje on jednak duży ruch w sieci MODBUS. Inną możliwością odczytu stanów rejestrów jest wykorzystanie makra czasowego wywoływanego np. co dwie sekundy. W takim przypadku generowany ruch w sieci jest mniejszy a dane uaktualniane są regularnie co z góry ustalony przedział czasowy. Dodatkowa zaleta takiego rozwiązania jest fakt, iż dane przetrzymywane są w pamięci urządzenia co umożliwia odczyt tych samych danych przez wiele procesów (w pierwszym przypadku każdy proces odczytywać musiałby dane bezpośrednio z urządzenia co będzie generować duży ruch w sieci i w efekcie może doprowadzić do dużych opóźnień). 1.2.2 Odczyt przy pomocy makra a) W celu dodania makra czasowego należy w drzewku projektu kliknąć prawym przyciskiem myszy na pozycji Local Macro Library i wybrać opcję Add Macro. Rysunek 4. Dodawanie makra do projektu 5
Po otwarciu okna New Macro wpisujemy nazwę makra np. Time Macro. Po kliknięciu na klawisz OK w drzewku projektu pojawi się nowa pozycja o takiej nazwie jaka została podana w oknie New Macro. Dwukrotne kliknięcie na ta pozycję spowoduje otwarcie edytora makr. b) W edytorze makr kliknąć należy na pozycji Command. Otworzy się nowe okno: Rysunek 5. Dodawanie komendy do makra W oknie tym wybrać należy pozycje = z kolumny Move/Set. W zakładce Properties pojawią się nowe pozycje: Rysunek 6. Wybór parametrów dla komendy makra W pozycji Data Type wybieramy opcję (U) 16-bit Unsigned, Par. P1 odpowiada za zmienną w pamięci, do której będzie zapisywany stan rejestru z urządzenia np. $U10 (do wyboru adresu w pamięci możemy użyć 6
kalkulatora bądź tagów ). Parametr Par. P2 odpowiada za adres rejestru w urządzeniu. Adres należy dobrać analogicznie do punktu 3 części I (np. 66:W4001 dla urządzenia pod adresem 66 i rejestru 4001). Czyli dla przykładu: $U10=66:W4001 c) Aby zaprogramować cykliczne wykonywanie makra należy kliknąć dwukrotnie na pozycji Panel_1 w drzewku projektu (nazwa może być różna od Panel_1 w zależności od tego jaką nazwę użytkownik nadał panelowi podczas tworzenia projektu). Otworzy się okno: Rysunek 7. Konfiguracja podstawowych parametrów panelu W tym oknie należy zaznaczyć pozycję Time Macro #1 a następnie należy wybrać interwał czasowy Time Interval np. 0.5 sekundy. W oknie po zaznaczeniu pozycji Time Macro pojawi się nowa zakładka, należy na nią kliknąć a następnie z listy Macro Name wybrać interesujące nas makro (np. Time Macro jak w przykładzie). d) W celu dodania kontrolki Bit Lamp do obserwacji stanów binarnych postępować należy analogicznie do punktów 1-5 z części I z tą różnicą że zamiast konkretnego rejestru w pozycji Monitor Address wpisujemy adres zmiennej w pamięci, np. $U10 jak w przykładzie. 7
1.2.3 Zapis stanów logicznych na przykładzie urządzenia SM4. W urządzeniu SM4 do dyspozycji mamy, analogicznie do SM5, dwa rodzaje rejestrów: rejestr 4001 przetrzymujący na kolejnych bitach dane o wyjściach (rejestr tylko do odczytu) rejestry od 4205 do 4212 przetrzymujące na bicie 0 dane o wyjściach (rejestry do odczytu i zapisu) Do zapisu danych binarnych posłużyć mogą dwie kontrolki: Bit Button oraz Toggle Switch. Wstawianie i otwieranie okna konfiguracyjnego jest analogiczne do podpunktów a i b punktu 1.2.1. W celu obsługi zapisu danych binarnych należy w analogiczny sposób do punktu 1 części II dodać makro i skonfigurować je jako makro czasowe (1.2.2 podpunkt c). Pamiętać należy o tym, że jedno makro czasowe może obsłużyć wiele procesów, wystarczy dodawać kolejne części kodu jedna pod drugą, makro będzie wykonywać się kolejno od góry do dołu. Obsługa kontrolki Bit Button: a) Po umieszczeniu przycisku na formie, otworzyć należy okno konfiguracyjne: Rysunek 8. Konfiguracja parametrów kontrolki Bit Button W polu Operation można wybrać sposób działania przycisku: Set ON ustawia bit z pozycji Write Address na 1 Set OFF ustawia bit z pozycji Write Address na 0 Momentary ON ustawia bit z pozycji Write Address na 1 przez okres przytrzymania przycisku, po puszczeniu przycisku bit przestawia się z powrotem na wartość 0 Momentary OFF ustawia bit z pozycji Write Address na 0 przez okres przytrzymania przycisku, po puszczeniu przycisku bit przestawia się z powrotem na wartość 1 8
Invert ustawia bit z pozycji Write Address na 1, gdy aktualna wartość to 0 lub na 0 gdy aktualna wartość to 1 W polu Write Address należy wpisać adres w pamięci, w którym przetrzymywany ma być stan bitu. Zapis U$2.0 oznacza, że bit będzie przetrzymywany w pozycji o adresie 2 na bicie o numerze 0. b) W celu obsługi zapisu danych do urządzenia w makrze czasowym należy dodać następujące linijki: IF $U2.0 67:W4208=1 ELSE 67:W4208=0 ENDIF Wyjaśnienie: IF $U2.0 warunek IF (jeżeli) sprawdzający czy bit (w tym przypadku znajdujący się pod adresem $U2.0) ma wartość 1 (wówczas warunek jest spełniony i wykonywana jest linijka pod linią IF) bądź 0 (wówczas warunek nie jest spełniony i wykonywana jest linijka pod linijką ELSE) 67:W4208=1 przypisanie do urządzenia o adresie 67, w rejestrze 4208 wartości 1 ELSE jeżeli nie jest spełniony warunek IF 67:W4208=0 przypisanie do urządzenia o adresie 67, w rejestrze 4208 wartości 0 ENDIF koniec warunku Cykliczne wykonywanie makra zapewnia ciągłą aktualizację stanu bitów. Dodatkowo zaznaczenie pozycji Monitor zapewnia ciągłą kontrolę stanu bitu w zmiennej, w związku z czym zmiana stanu wywołana przez inny sygnał (np. inny przycisk) zostanie zauważona przez kontrolkę. Drugi sposób na zmianę wartości bitowych, to obsługa makr ON i OFF w kontrolce Bit Button. Po zaznaczeniu tych dwóch opcji w oknie Bit Button pojawią się dwie nowe zakładki. W zakładkach tych należy stworzyć dwa nowe makra (np. SM4_ON i SM4_OFF). Makra te odpowiedzialne będą za zmianę stanów bitów w urządzeniu i będą wywoływane tylko w momencie zmiany stanu przycisku z ON na OFF lub odwrotnie. W związku z tym nie ma potrzeby korzystania z makra czasowego. Takie rozwiązanie zmniejsza obciążenie sieci MODBUS przez wywoływanie zapisu tylko w momentach zmiany stanu, a nie cyklicznie co zadany w makrze interwał czasowy. W zakładce ON Macro w polu do edytowania makra należy wpisać: 67:W4205=1 Czyli zapis do urządzenia o adresie 67 wartości 1 do rejestru 4205 W zakładce OFF Macro w polu do edytowania makra należy wpisać: 67:W4205=0 Czyli zapis do urządzenia o adresie 67 wartości 0 do rejestru 4205 Obsługa kontrolki Toggle Switch jest niemalże identyczna do obsługi kontrolki Bit Button z zaznaczoną opcją invert (punkt 1-2 w części III). Różnica polega na tym, iż wyraz wyświetlony na przycisku to domyślnie ON dla włączonego i OFF dla wyłączonego. 9
1.2.4 Odczyt wartości z urządzeń N12 i P12 W urządzeniach z serii N12 i P12 dane wejściowe przechowywane są w dwóch rejestrach 16-bitowych, które razem odpowiadają jednemu rejestrowi 32-bitowemu. Dane w tych rejestrach są typu float. W zależności od modelu, adresy poszczególnych rejestrów mogą być różne. Odpowiedni numer rejestru znaleźć można w instrukcji obsługi do danego urządzenia. 1.2.4.1 Odczyt bezpośredni rejestru. a) W celu odczytania wartości rejestru bezpośrednio z urządzenia należy użyć np. kontrolki Numeric Display. Po umieszczeniu na formie należy otworzyć okno właściwości kontrolki. Rysunek 9. Konfiguracja parametrów kontrolki Numeric Display b) W polu Data type wybrać należy typ odczytywanych danych. W przypadku urządzeń z serii N12 i P12 będzie to 32-bit Floating Point. Należy pamiętać o tym, że program odczytuje z urządzenia dwa rejestry 16-bitowe ale musi je interpretować jako jeden rejestr 32-bitowy. c) W polu Monitor Address wpisać należy adres monitorowanej danej (można użyć kalkulatora bądź tagów ). W tym przykładzie odczytywana wartość pochodzi z urządzenia N12T o adresie 10 z rejestru 7010. Bardzo ważne jest aby pamiętać o tym, że typ monitorowanej danej musi być typem 32- bitowym, w tym przypadku Double Word (DW). Podobny schemat konfiguracji dotyczy wszystkich urządzeń z rodziny N12 i P12, różnice występują w konkretnych numerach rejestrów. 10
1.2.4.2 Odczyt rejestru przez makro. a) W celu odczytu wartości rejestru przez makro skorzystać należy z makra czasowego (sposób tworzenia i konfiguracji podany w podpunktach a i c punktu 1.2.2). b) W makrze wpisujemy odpowiednią linijkę np.: $U10 = 10:DW7010 (F) W tym przypadku wartość z rejestru 7010 z urządzenia o adresie 10 jest zapisywana do zmiennej o adresie $U10. Ważnym jest aby zaznaczyć typ zmiennej w nawiasie za zapisem działania, w tym przypadku F czyli FLOAT. W momencie gdy ten typ nie będzie opisany, może wystąpić problem z odczytem (zmienna albo nie będzie czytana w ogóle, albo będzie czytana błędnie). c) W polu Monitor Address kontrolki Numeric Display wpisać należy adres zmiennej, która przechowuje odczytaną wartość, w tym przypadku $U10. Dla kontrolek innych typów (np. Bar Graph, Meter ) postępowanie jest analogiczne do wyżej opisanych przypadków. 1.2.5 Odczyt wartości z urządzeń SM2 Odczyt wartości z urządzeń SM2 odbywa się w analogiczny sposób do odczytu wartości z urządzeń z rodziny N12 i P12. W celu odczytu wartości mierzonych należy odwołać się do rejestrów: 7006, 7008, 7010, 7012 (liczba oznacza numer pierwszego z dwóch rejestrów 16-bitowych przetrzymujących 32-bitową zmienną typu FLOAT). Możliwe jest również odczytanie wartości wyliczonej przez urządzenie według zaprogramowanego wzoru rejestr 7014. 1.3 Tryb transmisji Transparent Serwer W trybie transmisji Transparent Serwer panel operatorski staje się przeźroczysty dla transmisji RS485 dzięki czemu można odczytywać i zapisywać rejestry urządzeń podłączonych do portu szeregowego panelu. Wchodzimy w ustawienia Link 1 : 11
Wybieramy poniższe ustawienia: 12
Dodajemy nowy link: Ustawiamy go aby pracował w trybie 2-to-1 Transparent Serwer (COM). W pozycji Data Link wybieramy port który ma być mapowany. Natomiast w pozycji Link Port wybieramy, na którym porcie mają być dostępne mapowane rejestry. 13
W aplikacji SCADA należy ustawić parametry transmisji (drivera komunikacyjnego) zgodne z ustawieniami panelu (Link: RS485 komputer opisany powyżej). Umożliwia to bezpośrednią komunikację z urządzeniami podłączonymi do panelu operatorskiego, tak jakby te urządzenia były podłączone do portu komunikacyjnego komputera PC, na którym jest zainstalowane oprogramowanie SCADA. Panel jest przeźroczysty dla tej transmisji. 14
2. Wizualizacja odczytanego rejestru w postaci graficznej 2.1 Numeryczne pole odczytowe (Numeric Display) Aby dodać graficzne (liczbowe) pole odczytowe Numeric Display należy wybrać z paska narzędziowego ikonę i umieścić prostokąt z polem odczytowym w wybranym miejscu ekranu (Screen 1) klikając lewym przyciskiem myszy. Rozmiary pola odczytowego Numeric Display można dostosować do własnych potrzeb klikając jeden raz lewym przyciskiem myszy na dodanym polu odczytowym, a następnie zmieniając jego rozmiary przeciągając znaczniki (kwadraciki) pojawiające się na obrzeżach pola, trzymając wciśnięty lewy klawisz myszki. Rysunek 10. Zmiana rozmiaru pola Numeric Display Dwukrotne kliknięcie lewym klawiszem myszy na polu Numeric Display powoduje otwarcie okna konfiguracyjnego. Rysunek 11. Okno konfiguracyjne pola Numeric Display Klikając na przycisk Shape można zdefiniować wygląd pola Numeric Display. 15
Zaznaczenie pola External Label pozwala na dodanie etykiety tekstowej przed polem Numeric Display. Parametry etykiety tekstowej definiuje się na zakładce External Label pojawiającej się po zaznaczeniu pola wyboru External Label w zakładce General. Opcje Border Color i BG Color pozwalają określić kolor ramki oraz pola Numeric Display. W dialogu Data Type należy określić format danych zapisanych w rejestrze urządzenia, z którego odczytujemy dane. W przypadku wyrobów LUMEL należy wybrać opcję 32-Bit Floating Point (32- bitowa liczba zmiennoprzecinkowa). W polu Monitor Address należy wprowadzić adres urządzenia i rejestru, z którego odczytujemy dane. Można dane wpisać bezpośrednio do pola tekstowego, posłużyć się możliwością wyboru wcześniej zdefiniowanego Tagu (ikona ) lub wprowadzić dane klikając na ikonę kalkulatora. Kliknięcie ikony kalkulatora powoduje otwarcie okna: Rysunek 12. Wprowadzanie adresu urządzenia i rejestru do odczytu Link 1 zdefiniowane połączenie odpowiadające portowi urządzenia, do którego podłączone jest urządzenie, z którego odczytujemy dane. 10 adres urządzenia, DW format zmiennej (Double Word), 7010 adres rejestru, z którego odczytujemy dane. Okno należy zamknąć klikając przycisk ENT. Opcja Text Color pozwala wybrać kolor tekstu. Opcja Total Digits pozwala ustawić liczbę wyświetlanych cyfr. Opcja Fractional Digits pozwala ustawić wyświetlaną liczbę cyfr po przecinku. Opcje Alignment oraz Justification pozwalają ustawić sposób wyświetlania wartości w polu Numeric Display, takie jak wyrównanie tekstu lub niewyświetlanie nieznaczących zer. 16
Na zakładce Advanced można ustawić opcję dodatkowe, jak np. zmiana koloru czcionki lub tła po przekroczeniu ustalonych poziomów wartości. Na zakładce Visibility można ustawić opcje dodatkowe, jak np. widoczność pola w zależności od poziomu zalogowanego użytkownika. Zakładka Testing pozawala na sprawdzenie wizualnych ustawień pola poprzez np. symulowanie zmian wartości bez konieczności każdorazowego uruchamiania programu w panelu po wprowadzeniu zmian w ustawieniach. 17
2.2 Graficzne pole odczytowe (Bargraf) Aby dodać graficzne pole odczytowe typu Bar Graph (wykres słupkowy, bargraf) należy wybrać z paska narzędziowego ikonę i umieścić prostokąt z bargrafem w wybranym miejscu ekranu (Screen 1) klikając lewym przyciskiem myszy. Rozmiary pola odczytowego typu bargraf można dostosować do własnych potrzeb klikając jeden raz lewym przyciskiem myszy na dodanym polu odczytowym, a następnie zmieniając jego rozmiary przeciągając znaczniki (kwadraciki) pojawiające się na obrzeżach pola, trzymając wciśnięty lewy klawisz myszki. Rysunek 13. Pole odczytowe typu bargraf Dwukrotne kliknięcie lewym klawiszem myszy na polu Bar Graph powoduje otwarcie okna konfiguracyjnego. Rysunek 14. Okno konfiguracyjne pola odczytowego typu Bar Graph Klikając na przycisk Shape można zdefiniować wygląd pola Bar Graph. 18
Zaznaczenie pola External Label pozwala na dodanie do etykiety tekstowej przed polem Bar Graph. Parametry etykiety tekstowej definiuje się na zakładce External Label pojawiającej się po zaznaczeniu pola wyboru External Label w zakładce General. Opcje Border Color i BG Color pozwalają określić kolor ramki oraz pola Bar Graph. W dialogu Data Type należy określić format danych zapisanych w rejestrze w urządzeniu, z którego odczytujemy dane. W przypadku wyrobów LUMEL należy wybrać opcję 32-Bit Floating Point (32-bitowa liczba zmiennoprzecinkowa). W polu Monitor Address należy wprowadzić adres urządzenia i rejestru, z którego odczytujemy dane. Można dane wpisać bezpośrednio do pola tekstowego, posłużyć się możliwością wyboru wcześniej zdefiniowanego Tagu (ikona ) lub wprowadzić dane klikając na ikonę kalkulatora. Kliknięcie ikony kalkulatora powoduje otwarcie okna: Rysunek 15. Wprowadzanie adresu urządzenia i rejestru do odczytu Link 1 zdefiniowane połączenie odpowiadające portowi urządzenia, do którego podłączone jest urządzenie, z którego odczytujemy dane. 10 adres urządzenia, DW format zmiennej (Double Word), 7010 adres rejestru, z którego odczytujemy dane. Okno należy zamknąć klikając przycisk ENT. Opcja Min wartość odpowiadająca minimalnej wysokości słupka bargrafu Opcja Max wartość odpowiadająca maksymalnej wysokości słupka bargrafu Opcje Bar Pattern, Bar FG Color, Bar BG Color pozwalają zdefiniować wygląd słupka barografu Opcja Bipolar Bar pozwala na ustawienie skali zawierającej wartości ujemne i dodatnie, Middle point określa środek skali. 19
Zakładka Range pozwala ustawić opcję dodatkowe, jak np. zmiana koloru słupka bargrafu lub po przekroczeniu ustalonych poziomów wartości Zakładka Scale pozwala zdefiniować czy skala ma być wyświetlana obok słupka, a także określić jej parametry oraz wygląd. Na zakładce Visibility można ustawić opcje dodatkowe, jak np. widoczność pola w zależności od poziomu zalogowanego użytkownika. Zakładka Testing pozawala na sprawdzenie wizualnych ustawień pola poprzez np. symulowanie zmian wartości bez konieczności każdorazowego uruchamiania programu w panelu po wprowadzeniu zmian w ustawieniach. Analogicznie dodaje się i konfiguruje inne pola odczytowe, np. typu Meter, Pie Graph, itp. 20
2.3 Powiązanie elementów graficznych z polami odczytowymi Wykorzystanie elementów graficznych np. reprezentujących zbiornik i powiązanie ich z odpowiednimi polami reprezentującymi dane np. bargrafem, pozwala w prosty sposób wizualizować np. poziom cieczy w zbiorniku. Aby element graficzny, najpierw należy dodać pole typu Picture wybierając z paska narzędziowego ikonę i umieścić prostokąt z bargrafem w wybranym miejscu ekranu (Screen 1) klikając lewym przyciskiem myszy. Rozmiary pola można dostosować do własnych potrzeb klikając jeden raz lewym przyciskiem myszy na dodanym polu, a następnie zmieniając jego rozmiary przeciągając znaczniki (kwadraciki) pojawiające się na obrzeżach pola, trzymając wciśnięty lewy klawisz myszki. Rysunek 16. Pole typu Picture Dwukrotne kliknięcie lewym klawiszem myszy na polu typu Picture powoduje otwarcie okna konfiguracyjnego. Rysunek 17. Okno konfiguracyjne elementu typu Picture Możliwe jest dodanie (importowanie) własnych elementów graficznych zapisanych na dysku w plikach.bmp,.gif i.wmf lub wykorzystanie elementów dostępnych w bibliotece programu. Aby wczytać (zaimportować) plik graficzny zapisany na dysku, należy kliknąć ikonę (Import Picture From File) i wskazać wybrany plik. Aby wczytać element graficzny z biblioteki grafik programu, należy kliknąć przycisk (Select/Import from Library). Otworzy się okno wyboru elementu graficznego z biblioteki. 21
Rysunek 18. Okno importu elementu graficznego Poszczególne grafiki są pogrupowane tematycznie. Wybierając z rozwijanej listy np. Tanks uzyskamy dostęp do obrazków reprezentujących zbiorniki. Wyboru elementu dokonuje się zaznaczają wybraną grafikę klikając na niej lewym przyciskiem myszy, a następnie klikając przycisk Import. Rysunek 19. Wybór elementu graficznego z biblioteki W oknie Picture zostanie wyświetlony podgląd wybranego obrazka: Rysunek 20. Okno konfiguracyjne typu Picture po wybraniu elementu graficznego z biblioteki 22
Zaznaczenie opcji Stretch sprawi, że rozmiar obrazka będzie zawsze dopasowywany do wielkości pola typu Picture, nawet po późniejszej zmianie rozmiaru tego pola. Opcja Transparent pozwala na wybranie koloru (Transparent Color), który będzie traktowany jako przezroczysty. Okno zamykamy klikając na OK. Następnie należy utworzyć pole odczytowe typu bargraf (Bar Graph) pozbawione skali odznaczając opcję Scale na zakładce Scale w oknie konfiguracyjnym bargrafu. Rysunek 21. Element graficzny (zbiornik) i bargraf bez skali Aby połączyć oba elementy, należy kliknąć prawym klawiszem myszy na bargrafie i z menu wybrać opcję Bring to Top. Rysunek 22. Opcja Bring to Top Następnie należy przesunąć bargraf na zbiornik i odpowiednio dopasować rozmiary obydwu elementów. W efekcie otrzymamy zbiornik z bargrafem reprezentującym poziom cieczy w zbiorniku: 23
Rysunek 23. Zbiornik z bargrafem 24
3. Receptury Receptury umożliwiają zapamiętanie w obszarze pamięci panelu operatorskiego zestawów parametrów, ich wybór i zapis do urządzenia np. sterownika PLC. W oknie Project Manager odnajdujemy moduł : Następnie klikamy prawym przyciskiem na i wybieramy Add Recipe Block : 25
Po stworzeniu modułu recepty klikamy na niego i wybieramy Properties : Otworzy nam się okno właściwości modułu recepty: Name: Nazwa recepty. ID: Identyfikator recepty. Recipe size: Wielkość recepty (0-1023 słów). Number of recipes: Liczba recept (0-65535). Memory Required: Automatycznie obliczana ilość pamięci potrzebnej dla danych recepty. Write Recipe To PLC: 26
Write Address: Adres rejestru sterownika PLC do którego ma być zapisana recepta. Read Recipe From PLC: Read Address Indntical to Write Addres: Adres, z którego ma być odczytana recepta jest taki sam jak powyższy rejestr do zapisu. Read Address: Adres rejestru sterownika PLC, z którego ma być odczytana recepta. Recipe Memory: Obszar pamięci recept przydzielany automatycznie. Current Recipe: Obszar pamięci aktualnej recepty przydzielony automatycznie. Zakładka Data Item: Name: Nazwa przebiegu który ma być zarejestrowany. Language: Wybór języka. Data Type: Typ zmiennej. Display Type: Typ zmiennej wyświetlanej. Total Digits: Liczba wyświetlanych cyfr. Fractional Digits: Liczba wyświetlanych cyfr po przecinku. Scaling: Opcja jest dostępna kiedy wartość jest w kodzie BCD. Równanie skalowania wygląda następująco: Y=aX+b gdzie: Y= Wartość wyświetlana, X= Wartość odczytana, a= Wzmocnienie, b= Offset. Poniższy rysunek przedstawia przykładową konfigurację modułu recepty (1 blok recepty, 4 recepty, jedna recepta zawiera dwie zmienne): 27
Aby uzyskać dostęp do zawartości wprowadzonych receptur należy wykorzystać następujące rejestry: - $CRB - numer aktywnego bloku w przypadku jednego zestawu zawsze równy 0 (ID), - $RN0 - numer receptury (rekordu) w bloku receptur nr 0(Number of recepis), - $CR0:0 - pierwszy rejestr aktywnej receptury w bloku 0, - $R0:0 - pierwszy rejestr w bloku 0, - $R0:M ostatni rejestr w bloku 0, gdzie M=(Liczba rejestrów w recepturze x Liczba receptur) -1 Opis dostępu do receptur: - wyboru receptury (wiersza w tabeli) dokonujemy za pomocą edycji rejestru $RN0, - edycja receptury odbywa się przez zmianą zawartości rejestrów $CR0:0 - $CR0:N, gdzie N=ilość parametrów -1 28
Do przedstawienia graficznego zawartości tabeli można wykorzystać następujące kontrolki: Numeric Entry, Numeric Display, powiązane z rejestrami opisanymi powyżej. Aby przesłać wybrany wiersz receptury do PLC należy utworzyć kontrolkę Function Button ze zdefiniowaną funkcją Write Recipe to PLC. Aby odczytać recepturę ze sterownika PLC należy utworzyć kontrolkę Function Button ze zdefiniowaną funkcją Read Recipe from PLC. 29
4. Logowanie danych 4.1 Logowanie danych do pamięci panelu W oknie Project Manager odnajdujemy moduł : Rysunek 25. Wyszukiwanie modułu Data Logger Następnie klikamy prawym przyciskiem na i wybieramy Add Data Logger. Rysunek 26. Dodawanie modułu Data Logger do projektu Po stworzeniu modułu do archiwizacji danych klikamy na niego i wybieramy Properties. 30
Rysunek 27. Konfiguracja modułu Data Logger Otworzy nam się okno właściwości modułu logowania danych: Rysunek 28. Właściwości modułu Data Logger, zakładka General Name: Nazwa modułu dla logowania danych. ID: Identyfikator potrzebny dla ustawienia pozycji wyświetlanego przebiegu w kontrolce Historic Display. Use battery backed RAM: Zapis danych archiwalnych do pamięci z podtrzymaniem bateryjnym. 31
Sample Size: Wielkość pojedynczej próbki (jedno słowo to 16 bitów). Number of Samples: Ilość próbek archiwalnych. Memory Required: Automatycznie obliczana ilość pamięci potrzebnej dla danych archiwalnych. Curent Sample Memory: Obszar pamięci przydzielany automatycznie. Read address: Adres komórki pamięci z której mają być archiwizowane dane. Sampling Method: Timed: Próbkowanie co określony czas (interwał czasowy podawany w sekundach od 0 do 65535). Triggered: Próbkowanie wyzwalane przez bit zawarty w module Command & Status. Clocked: Próbkowanie wyzwalane przez zegar systemowy (jednostka w minutach od 1 do 60). Timed: Próbkowanie co określony czas poniżej jednej sekundy (zakres od 0.1 do 0.9s). Sample Full Processing: Stop Sampling: Zatrzymanie próbkowania podczas gdy ustawiony zostanie bit o podanym adresie. External Control: Clear buffer: Wyczyszczenie bufora z próbkami wyzwalane bit zawarty w module Command & Status. Enable sampling: Wyzwolenie próbkowania przez bit zawarty w module Command & Status. Save to file: Zapisuje zebrane dane do wyspecyfikowanego pliku. Zakładka Data Item : Rysunek 29. Właściwości modułu Data Logger, zakładka Data Item Name: Nazwa przebiegu który ma być zarejestrowany. Language: Wybór języka. 32
Data Type: Typ zmiennej. Display Type: Typ zmiennej wyświetlanej. Total Digits: Liczba wyświetlanych cyfr. Fractional Digits: Liczba wyświetlanych cyfr po przecinku. Scaling: Opcja jest dostępna kiedy wartość jest w kodzie BCD. Równanie skalowania wygląda następująco: Y=aX+b gdzie: Y= Wartość wyświetlana, X= Wartość odczytana, a= Wzmocnienie, b= Offset. Poniższy rysunek przedstawia przykładową konfigurację modułu do archiwizacji danych: Rysunek 30. Przykładowa konfiguracja modułu Data Logger 4.2 Przeglądanie danych archiwalnych tabela, wykres Do wyświetlenia próbek zebranych przez moduł Data Logger służą następujące obiekty Historic Display : 33
Rysunek 31. Dodawanie modułu przeglądania danych archiwalnych do projektu Historic Data Display Rysunek 32. Moduł wyświetlający dane historyczne w postaci tabeli Obiekt Historic data display wyświetla zarejestrowane dane w formie tabeli. Podwójne kliknięcie lewym przyciskiem myszy na obiekcie spowoduje otwarcie okna z właściwościami obiektu: 34
Rysunek 33. Właściwości modułu Historic Data Display Data Logger: Wybór, z którego modułu do logowania danych mają być wyświetlane próbki. Historic Message Display Rysunek 34. Moduł wyświetlający zarchiwizowane komunikaty tekstowe Obiekt Historic Message Display wyświetla zarejestrowane komunikaty w formie tabeli. Podwójne kliknięcie na obiekcie spowoduje otwarcie okna z właściwościami obiektu: 35
Rysunek 35. Właściwości modułu Historic Message Display Data Logger: Wybór, z którego modułu do logowania mają być wyświetlane komunikaty. Historic Trend Display: Rysunek 36. Moduł wyświetlający dane historyczne w postaci wykresu 36
Obiekt Historic Trend Display na obiekcie spowoduje otwarcie okna z właściwościami obiektu: wyświetla zarejestrowane dane w formie wykresu. Podwójne kliknięcie Rysunek 37. Właściwości modułu Historic Trend Display Data Logger: Wybór, z którego modułu do logowania danych mają być wyświetlane próbki. 37
5. Poziomy dostępu do aplikacji panelu Poziomy dostępu (User Levels) pozwalają nadać użytkownikom różne prawa dostępu do poszczególnych elementów lub ekranów (Screens). Pozwala to także zabezpieczyć hasłem np. możliwość wprowadzania zmian w polach edycyjnych lub możliwość kliknięcia w dany przycisk. Istnieje możliwość wybrania jednego z 9 poziomów dostępu (od 0 do 8), przy czym poziom 0 jest poziomem najniższym i nie jest zabezpieczony hasłem, a poziom 8 jest poziomem najwyższym (dającym największe uprawnienia). W oknie Panel General Setup w opcji Default User Level można wybrać domyślny poziom użytkownika przy starcie panelu. Zaznaczenie opcji Login Required sprawi, że przy starcie wyświetli się okno Password Entry z prośbą o podanie hasła dla wybranego poziomu użytkownika. Rysunek 38. Okno Panel General Setup Dla poziomów od 1 do 8 należy zdefiniować hasła dostępu. Dostęp do okna Password umożliwiającego edycję poszczególnych haseł uzyskuje się wybierając opcję Password z drzewka w Object Library. 38
Rysunek 39. Okno konfiguracyjne Password Zaznaczenie opcji Automatic login for operation requiring a higher user level sprawi, że przy próbie dostępu do elementu wymagającego wyższego poziomu użytkownika, pojawi się okno Password Entry z prośbą o podanie hasła. Aby zmienić poziom użytkownika można również umieścić na ekranie przycisk Function button i przypisać mu funkcję Log In wybieraną z listy Function. Rysunek 40. Okno konfiguracyjne przycisku typu Function Button 39
Aby zablokować dostęp do danego elementu (np. przycisku) należy w oknie opcji danego elementu na zakładce Advanced zaznaczyć opcję Controlled by User Level, a następnie z listy Lowest Available User Level wybrać najniższy poziom użytkownika umożliwiający dostęp do danego elementu. Rysunek 2. Okno konfiguracyjne przycisku typu Screen Buton, zakładka Advanced Aby ukryć dany element (np. przycisk) należy w oknie opcji danego elementu na zakładce Visibility zaznaczyć opcję Controlled by User Level, a następnie z listy Lowest Visible User Level wybrać najniższy poziom użytkownika umożliwiający zobaczenie danego elementu. Rysunek 42. Okno konfiguracyjne przycisku typu Screen Buton, zakładka Visibility 40
Rysunek 43. Ekran z zablokowanym przyciskiem Rysunek 44. Okno do wprowadzenia hasła po kliknięciu w zablokowany przycisk lub na przycisk z funkcją Log In 41
6. Korzystanie z portu Ethernet Port Ethernet spełnia następującą funkcjonalność: umożliwia wgrywanie aplikacji z komputera z zainstalowanym oprogramowaniem PanelMaster do panelu podłączonego do sieci Ethernet umożliwia pobieranie danych od urządzeń typu Slave podłączonych do Ethernetu poprzez Modbus TCP/IP, 6.1 Przesyłanie aplikacji do panelu przez port Ethernet Po skompilowaniu programu, można przesłać go do panelu poprzez sieć lokalną Ethernet. W tym celu wybieramy kontrolkę oznaczoną na czerwono. Rysunek 45. Przesyłanie programu do panelu Następnie wybieramy z obszaru Link Settings połączenie typu Ethernet. 42
Rysunek 46. Przesyłanie programu do panelu W polu IP Address wpisujemy adres wybranego panelu operacyjnego. Adres IP określonego panelu musi być poprawnie skonfigurowany zgodnie z wymogami danej sieci lokalnej i administratora. Po prawidłowym wyborze panelu, należy użyć przycisku Start w celu rozpoczęcia przesyłania danych. 6.2 Klient Modbus TCP/IP pobieranie danych z urządzeń W celu odczytu danych w panelu poprzez sieć Ethernet, możliwe jest wykorzystanie protokołu Modbus TCP/IP. Utworzenie połączenia odbywa się poprzez wybór w polu Link type Direct Link Ethernet. Rysunek 47. Konfiguracja odczytu danych przez łącze Ethernet 43
Po prawidłowym wybraniu typu połączenia należy przejść do jego konfiguracji, wybierając zakładkę Parameters. Rysunek 48. Właściwości łącza Ethernet W polu IP address należy wpisać adres urządzenia źródłowego, z którego panel ma pobierać dane oraz adres modbus owy tego urządzenia w polu Node address. Uwaga: Urządzenie źródłowe musi obsługiwać protokół Modbus TCP/IP. W dalszej konfiguracji odczytywanych rejestrów urządzenia źródłowego postępuje się tak samo jak z odczytywaniem danych z urządzeń w protokole Modbus. Patrz punkt 1 - Odczyt i zapis wartości z/do rejestrów z urządzeń produkcji Lumel. 6.3 Serwer Modbus TCP/IP udostępnianie danych do systemów SCADA Praca panelu w trybie Modbus TCP/IP pozwoli nam na odczyt danych, które zebrał panel z urządzeń podłączonych do portu RS485, poprzez port Ethernetowy (np. programem typu SCADA). W drzewie projektu wybieramy Link 1 : 44
Wybieramy poniższe ustawienia: Następnie dodajemy nowy link: 45
Konfigurujemy go do pracy w trybie Modbus Master (TCP/IP) (Panel będzie serwerem dla komputera) Tworzymy Tagi, najpierw Tag dla portu do RS485 (w przykładzie wykorzystano moduł SM2): 46
Następnie tworzymy Tag dla portu Ethernetowego (należy nadawać adresy powyżej 40000): Tworzymy makro czasowe (klikamy prawym przyciskiem myszy na Macros i tworzymy nowe macro): Wpisujemy następujące polecenie (polecenie przepisze nam wartość taga 1\temperatura z modulu SM2 do rejestru wyjściowego portu Ethernetowego). 47
Następnie trzeba ustawić, aby time macro było uruchamiane regularnie np. co 0,5s. W tym celu klikamy prawym klawiszem na element drzewa projektu General Setup, wybieramy Properties, a następnie zaznaczamy CheckBox Time Macro#1 i ustawiamy czas wykonywania makra w opcji Time Interval. Na zakładce Time Macro #1 możemy przypisać jedno ze zdefiniowanych w projekcie makr (w tym przypadku o nazwie time macro ) do makra wyzwalanego czasowo Time Macro #1. 48
49