Skanowanie agentów

![]() Rys. 2. Widok okna programu WinGPC podczas zmiany adresu sterownika PLC | ![]() Rys. 3. Widok okna konfiguratora przy wyborze opcji skanowania |
Skanowanie z wykorzystaniem sterownika Adroit
Po wprowadzeniu powyższych ustawień sterownika można wrócić do aplikacji Adroit i wykorzystać projekt opisany w pierwszej części kursu. W programie Agent Server, Classic User Interface należy przejść do konfiguratora wybierając File->Open Configurator . Kolejnym krokiem jest wybór agenta Analog i rejestru REJ1, po czym należy kliknąć opcję Scan (Rys. 3). Po tych czynnościach powinno pojawić się okno umożliwiające wybór typu urządzenia, typu slotu, adresu, częstotliwości skanowania, blokowania skanowania i zapisu. Z listy urządzeń należy wybrać NX7_2 i wpisać adres W0, a w polu Scan rate podać wartość 100ms, zaznaczając opcję Output enabled , po czym kliknąć przycisk Scan. Włączenie Output enabled umożliwia zapis wartości rejestru lub bitu do urządzenia i służy jako dodatkowa blokada chroniąca przed przypadkowymi zmianami wartości. Dodając pierwszą zmienną trzeba również uruchomić urządzenie przełączając je ze stanu Stopped na Started . Analogiczne kroki należy wykonać aby dodać BIT1 do listy zmiennych skanowanych. Po kliknięciu Scan w grupie Digital należy wpisać wartość R16.0 w polu adres i dodać go do listy przyciskiem Scan . Adres R16.0 w sterowniku serii NX7 oznacza pierwsze wyjście binarne. Wejścia są adresowane od rejestru R0 , a wyjścia od R16 . Okna z wprowadzonymi zmiennymi do skanowania przedstawiono na rys. 5.
![]() Rys. 4. Okno konfiguratora skanowania po dodaniu nowego agenta | ![]() Rys. 5. Widok okna skanowania po dodaniu agenta typu Digital |
Skanowanie przez serwer OPC
System Adroit zawiera programy serwera i klienta OPC, które służą do wymiany danych w standardzie OPC, przy czym pierwszy z nich udostępnia dane, a drugi umożliwia ich pobieranie. Programy te znajdują się w grupie Adroit6->Utilities . Jako klient OPC funkcjonuje program OPC Browser , który umożliwia podgląd i zmianę wartości zmiennych serwera. Wszystkie dostępne serwery OPC są automatycznie wykrywane przez OPC Browser . W roli serwera OPC występuje program WinOPC , który udostępnia dane sterowników PLC z serii NX. Konfiguracja WinOPC odbywa się poprzez edycje pliku Device.xml , który znajduje się w grupie programów OEMax Software->WinOPC i został przedstawiony na rys. 7. Program WinOPC jest uruchamiany automatycznie w momencie włączenia programu klienta OPC. Więcej informacji o sposobach i przykładach jego konfiguracji znaleźć można w pomocy programu.
![]() Rys. 6. Widok okna programu OPC Browser z podglądem do serwera OPC WinOPC | ![]() Rys. 7. Widok pliku konfiguracyjnego programu WinOPC |
Przed dodaniem w programie WinOPC zmiennych do skanowania, konieczne jest wpisanie nowego urządzenia, co odbywa się podobnie jak w przypadku sterownika firmy Samsung. Aby tego dokonać należy wybrać zakładkę Drivers w programie Setup i dodać nowe urządzenie dla OPC Client Protocol Driver. Jako nazwę urządzenia można wpisać np. OPC_NX7 . Po tej czynności na ekranie pojawi się okno (Rys. 8.), w którym należy wybrać z listy pozycję WinOPC.Server.1 . Aby zmiany wprowadzone w programie Setup znalazły odzwierciedlenie w systemie należy ponownie uruchomić program Agent Server (timed license) .

Po wykonaniu powyższych czynności należy ponownie dodać zmienne do listy zmiennych skanowanych, jednak tym razem wybierając urządzenie OPC_NX7 . Adres urządzenia można wpisać ręcznie lub wybrać z listy przyciskiem „...” (Rys. 9.).
![]() Rys. 9. Widok okna skanowania agentów po dodaniu zmiennych do klienta OPC | ![]() Rys. 10. Widok okna mimiki podczas skanowania zmiennych ze sterownika PLC |
Po dodaniu zmiennych do listy należy zatwierdzić wprowadzone zmiany. Efekt pracy można obserwować na mimice, na które zmienna REJ1 zwiększa swoją wartość od 0,00 do 99,99, a przycisk cyklicznie zmienia swój stan z ON na OFF i odwrotnie. Jeżeli zmiany na przycisku nie są widoczne, należy przejść do trybu edycji, wybrać opcję View->Properties i ustawić Animation delay timer na 0ms, wrócić do trybu Runtime . Na rys. 10 przedstawiono widok aplikacji z odczytem zmiennych ze sterownika PLC.
OPC ( OLE for Process Control ) jest przemysłowym standardem komunikacji stworzonym przez producentów sprzętu komputerowego i oprogramowania współpracującego z produktami firmy Microsoft. Bazuje on na technologii OLE COM ( Component Object Model ) i DCOM ( Distributed Component Object Model ). W standardzie OPC zdefiniowano sposoby komunikacji między urządzeniami przemysłowymi, co pozwala uniezależnić oprogramowanie monitorujące i sterujące od wykorzystywanego sprzętu. Do zalet technologii OPC można zaliczyć standaryzację komunikacji i wymiany danych przemysłowych, dużą uniwersalność i znaczne obniżenie kosztów integracji dużych systemów przemysłowych. |
Formatowanie agentów na mimice
Domyślnie wartości agentów analogowych wyświetlanych na mimice są przedstawiane z dokładnością do dwóch miejsc po przecinku. Aby zmienić sposób wyświetlania trzeba przejść do edycji UI . Sposób formatowania jest podobny do tego, jaki stosuje się w języku Visual Basic. Na rys. 11 został przedstawiony widok ekranu ze zmienną REJ1. W tym przykładzie formatowanie rozpoczynamy od znaku „%”, gdzie następnie występuje liczba miejsc zarezerwowanych dla zmiennej, a po kropce liczba cyfr po przecinku. Na końcu podawany jest rodzaj zmiennej, przy czym litera „f” oznacza zmienną rzeczywistą ze znakiem. Jeśli liczba cyfr zarezerwowanych dla agenta będzie za mała, zostanie ona automatycznie zwiększona do takiej liczby pozycji, aby wyświetlić całą wartość zmiennej. Przy formatowaniu można również opcjonalnie podać po znaku „%” flagę, która dodatkowo definiuje sposób wyświetlania. Przykładem flagi jest znak „-”, który wyrównuje liczbę do lewej strony. W przypadku jego braku liczba wyrównywana jest do prawej. Inną flagą jest cyfra „0”, która oznacza, że puste pola zostaną wypełnione zerwami. Znak „#” używany jest do wyświetlania zmiennej w formacie heksadecymalnym lub oktalnym. Również przycisk może podlegać formatowaniu. W tym przykładzie został zastosowany opis tekstowy w postaci OFF dla wartości 0 i ON dla 1. Dla przycisku został wprowadzony kod „%s” co oznacza, że ma być wyświetlony ciąg znaków z automatycznym dopasowaniem ich liczby. Na rys. 12 przedstawiono przykłady formatowania w zależności od typu danych wejściowych oraz zastosowanego kodu formatowania.
![]() Rys. 11. Przykład zastosowanego formatowania agentów | ![]() Rys. 12. Przykłady formatowania agentów dla różnych danych wejściowych |
Symulator sterownika komunikacyjnego
W ramach oprogramowania Adroit udostępniany jest wbudowany symulator sterownika komunikacyjnego dla urządzenia Siemens S5. Jest on wykorzystywany w czasie testów, gdy nie ma dostępu do prawdziwego PLC. Symulator ten ma jednak ograniczenia związane z obsługą zmiennych. Można adresować tylko dane binarne lub analogowe i to jednego typu na raz. Odczytując zmienną typu Digital o adresie DB10:DW2.2 nie można już skanować zmiennej analogowej rejestru DB10:DW2 . Zmienne DB0 i DB1 są używane przez system i domyślnie jako pierwszy adres jest wpisana zmienna z bloku DB2 . Zawartość danej zmiennej jest zwiększana w każdym cyklu skanowania o wartość wynikającą z numeru bloku danych. Jeśli skanujemy do rejestru zmienną w bloku DB2:DW0 co 500ms i wartość w danej chwili wynosi 4 to w następnym cyklu (czyli za 500ms) będzie wynosić 6. Wzór na zwiększenie zawartości rejestru jest więc następujący: nowa_wartość = poprzednia_wartość + numer_bloku_DB . Czas skanowania dla każdej zmiennej w danym bloku może być różny. Należy pamiętać o tym, że w każdym cyklu skanowania dane w bloku DB0 nie są zwiększane, dane w DB1 są zwiększane o wartość 1, a w DB2 o 2 itd.
![]() Rys. 13. Widok okna konfiguratora skanowania po dodaniu zmiennych do sterownika symulacyjnego | ![]() Rys. 14. Widok okna synoptyki ze zmiennymi symulowanymi |
Powielanie zmiennych skanowanych
Zmienne skanowane z zewnętrznego urządzenia lub z symulatora sterownika mogą być w prosty sposób powielane do innych slotów agentów. Wykorzystuje się do tego celu funkcję @scanning , która pozwala na zmianę adresu źródłowego przez slot innego agenta. Oczywiście nie jest to prawdziwe skanowanie z zewnętrznego urządzenia, więc nie wszystkie operacje związane z agentem są możliwe.
Aby skorzystać z funkcji @scanning należy wstępnie utworzyć nowych agentów do których mają być skopiowane sloty innych agentów. Do nowych zmiennych o nazwie REJ21 i REJ31 zostaną skopiowane sloty rawvalue rejestrów REJ2 i REJ3 . Rejestry te zawierają wartości zwiększane w sterowniku symulacyjnym. Po wybraniu opcji skanowania dla REJ21 należy wpisać wartość @REJ2.rawvalue w polu Address . Jako urządzenie (pole Device ) wpisywane jest ALIASCAN . Zostało ono stworzone specjalnie by móc kopiować sloty do innych agentów. Wartość w polu Scan rate nie jest istotna, gdyż program wpisze tam liczbę 0. Widok okna konfiguratora po dodaniu dwóch zmiennych został przedstawiony na rys. 15, natomiast na rys. 16 został przedstawiony obraz synoptyki z powielonymi agentami.
![]() Rys. 15. Widok okna konfiguratora skanowania po dodaniu zmiennych powielonych | ![]() Rys. 16. Widok okna synoptyki ze zmiennymi powielonymi z innych agentów |
Podsumowanie
W drugiej części kursu przedstawione zostały sposoby połączenia oprogramowania Adroit z zewnętrznym urządzeniem, którym był sterownik PLC serii NX7 firmy OEMax Controls. Opisane działania pozwalają już na praktyczne ćwiczenia związane ze sterowaniem układów automatyki poprzez sterowniki PLC. W następnej części kursu wiedza ta zostanie rozszerzona o tworzenie okien wykresów, alarmów, korzystanie z biblioteki elementów graficznych oraz szablony synoptyk.
Artykuł autorstwa specjalistów z firmy AT Control, opracowanie: Marcin Karbowniczek, Zbigniew Piątek.
Opis kursu programowania sterowników NX7 dla początkujących znajduje się na stronie http://www.atcontrol.pl/?a=C&cid=18 .