We wcześniejszych artykułach (link do 3 poprzednich art.) opisano podstawową konfigurację komunikacji z wykorzystaniem protokołu DNP3. Osobno zaprezentowano sposób postępowania dla rozwiązania wbudowanego w e!COCKPIT oraz dla samodzielniej aplikacji WAGO Stand-Alone Telecontrol Configurator. Pokazano również ścieżkę tworzenia pełni funkcjonalnej aplikacji. Parametry, które w większości przypadków nie wymagają zmiany lub nie są wykorzystywane, były celowo pominięte. W tym artykule braki te zostaną uzupełnione.
Ustawienia ogólne
Pola od Hardware version do Device Serial Number pełnią role czysto informacyjną. Nie wpływają na działanie aplikacji. Jeśli jednak nad projektem pracuje więcej osób, każda dodatkowa informacja może okazać się pomocna.
Event Buffer Size opisuje wielkość bufora zdarzeń. Liczba wpisana w tym polu to maksymalna liczba zdarzeń zapisywanych dla jednego połączenia. Maksymalna wartość tego parametru wynosi 32000. Należy jednak pamiętać, że bufor znajduje się w tym samym obszarze pamięci co reszta programu PLC. Może się więc okazać podczas kompilacji, że aplikacja jest zbyt duża dla naszego sterownika. Konieczne jest wtedy zmniejszenie bufora lub liczby dopuszczalnych połączeń.
SBO Timeout wykorzystywany jest przy jednym z trybów sterowania obiektem BO. System SCADA może wysłać pojedynczą komendę Direct Operate. Wtedy dane wyjście wysterowywane są od razu po otrzymaniu polecenia. Często sterownik musi przygotować się do wykonania operacji sterowania (np. napiąć sprężynę rozłącznika lub przeprowadzić autodiagnostykę). Wówczas wykorzystywane jest polecenie Select before Operate. Oznacza to, że w pierwszej kolejności system nadrzędny wysyła do sterownika polecenie Select zawierające już wszystkie parametry przyszłego sterowania. Sterownik potwierdza otrzymanie polecenia. Tylko jeśli otrzymane dane są poprawne, wysłane zostanie polecenie Operate, powodujące zmianę stanu wyjścia sterownika.
Parametr SBO Timeout określa maksymalny czas pomiędzy otrzymaniem polecenia Select a Operate. Jeśli czas ten zostanie przekroczony, to nawet po otrzymaniu poprawnej komendy Operate, sterownik nie zmieni stanu swojego wyjścia. Jeśli więc bez problemu działa sterowanie typu Direct Operate, a pojawiają się problemy przy komunikacji SBO, należy wydłużyć ten czas.
Std. Command Time: czasem zdarza się, że w trybie Activation Model system SCADA wysyła polecenie z czasem 0s. W takim przypadku wyjście zostanie wysterowane na czas ustawiony w tym polu.
Ustawienia ogólne poszczególnych obiektów komunikacyjnych
Każda grupa obiektów (np. BI, BO, AI) ma zestaw parametrów ogólnych. Określają one m.in. czy dane wysyłane są ze stemplem czasu, a jeśli tak, to z jakim. Najczęściej wymagany jest czas absolutny.
Z kolei zmiana ustawienia Static Def. Variation umożliwia wyłączenie wysyłania flag jakościowych/informacyjnych (więcej o flagach w kolejnym akapicie) w celu optymalizacji transferu danych.
Modyfikując pole Start Object addr możliwa jest zmiana adresu, od którego numerowane są kolejne obiekty. Analogiczne ustawienia dostępne są dla wszystkich innych typów obiektów.
Ustawienia BI
Obiekty komunikacyjne w DNP3 są wyposażone w tzw. informacje jakościowe. Dzięki temu system SCADA dostaje też informację o tym, czy danej informacji można zaufać. Typowym przykładem jest wykorzystanie sterownika jako uniwersalnej bramki komunikacyjnej. Wtedy zmienne udostępniane po protokole DNP3 monitorowane są za pomocą innych protokołów. W przypadku utraty komunikacji z urządzeniem sterownik domyślnie będzie utrzymywał ostatnią poprawnie odebraną wartość. W tym wypadku użycie flagi Online lub Commlost umożliwiłoby wysłanie dodatkowej informacji o stanie obiektu bez konieczności dodawania kolejnego obiektu komunikacyjnego DNP3.
Obiekt Double Binary Input
Wszędzie tam, gdzie ważne jest bezpieczeństwo, położenie styków monitoruje się 2-bitowo. Dzięki zastosowaniu styków NO i NC sterownik ma informację o ciągłości połączeń zarówno w stanie otwartym, jak i zamkniętym.
Aby wysłać taką informację, można wykorzystać standardowe obiekty BI. Konieczne jest jednak stworzenie 2 adresów DNP3, a następnie wirtualne „sparowanie” ich po stronie systemu SCADA w celu wykrywania ewentualnych stanów nieustalonych.
Obiekt Double Binary Input umożliwia sparowanie tych sygnałów już na poziomie sterownika.
Obiekt Counter
Ten rodzaj obiektu najczęściej wykorzystywany jest do przesyłania informacji o zużyciu prądu odczytanym z licznika energii. Może być jednak wykorzystany do przesłania dowolnej liczby całkowitej. Konfigurator udostępnia 3 tryby pracy.
W wersji 32 bit i 16 bit udostępniana jest po prostu zmienna całkowita o rozmiarze 32 (DWORD) lub 16 (WORD) bitów. Zasada działania jest analogiczna jak obiektu Analog Input.
Opcja Edge z kolei przeznaczona jest do liczników impulsowych. Nadal często spotykane są urządzenia, które na wyjściu generują jedynie impulsy elektryczne co określoną jednostkę zużycia energii (lub innych mediów).
Dzięki temu obiektowi w konfiguratorze podłączamy tylko sygnał z odpowiedniego modułu wejść dwustanowych. Program sam odpowiada za inkrementację zmiennej 32-bitowj i udostępnianie jej w systemie SCADA. Warto zaznaczyć opcję Retain, aby wartość licznika nie była zerowana po każdym restarcie sterownika.
Ustawienia Analog Output
Jest to obiekt dość rzadko wykorzystywany w praktyce. Umożliwia on przesłanie wartości liczbowej z systemu SCADA do sterownika. Tak jak w przypadku obiektu AI, tak i tu do dyspozycji mamy wersję 16-bit, 32-bit oraz REAL.
Zmienną mapujemy korzystając z pola Varianble. Dodatkowo, tak jak w przypadku obiektu BO, do dyspozycji mamy zmienną New message, która zmienia wartość na TRUE na jeden cykl sterownika po otrzymaniu nowej wiadomości. Dzięki temu w programie PLC możliwe jest wyzwolenie dalszej obróbki odebranej wartości.
Krzysztof Nosal, WAGO.PL