Do Projektu iAutomatyka dołączyli:

https://iautomatyka.pl/wp-content/uploads/2019/03/DSC03259.jpg

Wprowadzenie do pracy ze sterownikami PLC Allen Bradley w Studio 5000


W tym artykule chciałbym przedstawić informacje na temat pracy z produktami Allen-Bradley w oprogramowaniu Studio 5000 Rockwell Automation. Artykuł będzie stanowił wprowadzenie do pracy ze sterownikami AB z perspektywy osoby, która w głównej mierze pracuje ze sprzętem Siemensa (czyli przeciętnego automatyka w Polsce), będzie stanowił pewnego rodzaju recenzję z moją subiektywną opinią oraz będzie zawierał porównania sterowników Allen-Bradley ze sterownikami Simatic Siemens S7-1200 / S7-1500. Z racji na to, że artykuł zawiera moje opinie oraz jest napisany po wykonaniu projektu z 30 urządzeniami połączonymi za pomocą Ethernet/IP (w mojej opinii to średniej wielkości projekt) zachęcam do umieszczania komentarzy w grupie Automatyk Może Więcej, które będą zawierały inne opinie oraz będą mogły wnieść coś do artykułu.


Od Redakcji iAutomatyka.pl: Drogi czytelniku. Oprócz artykułu autora w pracy znajdziesz komentarze gościnne Arkadiusza Szojer, Dyrektora ds. szkoleń, z firmy RA Controls. Ta dodatkowa forma stanowi świetne uzupełnienie wiedzy z poruszanej tematyki, za co Panu Arkadiuszowi serdecznie dziękujemy.

Komentarz eksperta:

Porównanie ze sobą sterowników i ich możliwości zawsze jest kłopotliwe i nawet prowadząc szkolenia, staram się tego unikać. Mając doświadczenie w konkretnej platformie sterownikowej zawsze nawet nieświadomie próbuje się przenosić nawyki na nową. W sytuacji, gdy trafiamy na urządzenie o innej filozofii działania nasze nawyki przeszkadzają nam bardziej niż nam się wydaje i niejako narzucają nam swój punkt widzenia. NA gruncie filozofii Siemensa, Rockwell zawsze będzie miał niższe oceny. I podobnie w drugą stronę. Osoby przyzwyczajone do pewnych rozwiązań w sterownika Allen-Bradley, będą narzekały na rozwiązania w Siemensie.
W przypadku porównania tych dwóch platform z różnicami spotykamy się, zanim zaczniemy jeszcze programować. W odróżnieniu od klasycznych sterowników PLC, sterowniki Rockwell Automation mają odczyt danych i We/Wy niezależny od aktualnego skanu programu.
Wielkość projektu jest typowa dla sterownika z rodziny CompactLogix. Sterowniki te potrafią obsłużyć od 8 do 250 zdalnych urządzeń w sieci Ethernet/IP.

Arkadiusz Szojer, Dyrektor ds. Rozwoju i Szkoleń w RA Controls
www.racontrols.pl

 

Interfejs programu Studio 5000

Wspomnę tylko, że instalacja Studio 5000 wydaje mi się o wiele bardziej problematyczna niż instalacja TIA Portal. Studio 5000 nie udało mi się zainstalować na Windowsie 10. Instalacja na Windowsie 7 również nie należy do przyjemnych i lepiej zarezerwować sobie na nią więcej czasu i przygotować się na to, że w trakcie instalacji wystąpią błędy, które trzeba będzie rozwiązać.

Z racji na to, że mam na innym hardware TIA Portal, a na innym Studio 5000 ciężko mi porównać płynność pracy. Natomiast w kwestii wizualnej TIA Portal jest o wiele bardziej dopracowany i pełny wodotrysków. Studio 5000 i choćby wszystkie dokumentacje od Rockwella są nieco “szaro bure i ponure”.

W artykule będę opisywał pracę w Studio 5000 w takiej kolejności, w jakiej znajdują się elementy w oknie programu (a więc w takiej kolejności, w jakiej zapoznają się z programem osoby, które widzą go pierwsze raz).

Komentarz eksperta:

Instalacja jest zawsze kwestią indywidualną i są komputery, na których problemy się pojawiają. Z doświadczenia wiemy, że kolejność instalowania poszczególnych elementów systemu ma duże znaczenie. Wiele do powiedzenia mają tutaj bieżące aktualizacje systemu operacyjnego. Idealnym środowiskiem do postawienia zresztą dowolnego narzędzia programowania jest czysta maszyna wirtualna. Jest to rozwiązanie, z którego korzysta wielu naszych klientów i które z czystym sumieniem mogę polecić.

Patrząc na interfejs, i na wybraną dalej rewizję, wygląda na to, że aplikacja odnosi się do rewizji 30. Jest to rewizja sprzed kilku lat, obecnie aktualną rewizją jest rewizja 32.

Co do prostoty czy wodotrysków to wszystko jest kwestią gustu. Jedni wolą prosty interfejs inni z dużą ilością gadżetów. Warto może wspomnieć w tym momencie, że rewizja 30, to ostatnia rewizja wyglądająca jak pokazuje obrazek powyżej. W rewizji 31, studio 5000 przeszło lekką przebudowę graficzną i wygląda trochę bardziej współcześnie z zachowaniem w miarę prostej formy projektu. Rewizja 30 ma interfejs, który od strony wizualnej nie uległ zmianie od drugiej połowy lat 90-tych, więc gdy przychodzi konwertować projekt ze sterowników ze starszych rewizji na nowszą, nie ma problemów ze wsteczną kompatybilnością i rozeznaniem co jest czym.

Nowy projekt w Studio 5000

Oprogramowanie omówię na podstawie sterownika z serii Compact GuardLogix 5370, z tego względu, że postaram się opisać również funkcje safety. Jest to średnia półka sterowników powyżej serii MicroLogix, a poniżej serii ControlLogix.

Komentarz eksperta:

Sterowniki MicroLogix to obecnie produkt oznaczony jako dojrzały. Aktualna, wiodąca oferta sterowników Rockwell To Micro 800 na platformie małych sterowników, CompactLogix jako najbardziej uniwersana platforma od małych do dużych aplikacji oraz ControlLogix jako najbardziej rozbudowana platforma sterownikowa z możliwościami redundancji PLC, wyjmowania modułów pod napięciem (włącznie z samym sterownikiem), oraz obsługi nawet kilkunastu kart sieciowych.

Już na starcie przy zakładaniu projektu spotykamy się z rewizjami – wybieramy rewizję oprogramowania, w jakiej będzie tworzone.

Komentarz eksperta:

W tym miejscu warto zwrócić uwagę na istotny fakt. Wersja oprogramowania musi zgadzać się z wersją firmware, jaka jest wgrana do sterownika. W przypadku różnicy albo nowego sterownika, przy przeładowaniu aplikacji otrzymamy prośbę o podniesienie firmware. Rewizja sterownika może być zmieniana dowolnie i nie ma ograniczenia na ilość zmian (nasze szkoleniowe PLC mają przeładowywany firmware średnio 2 razy w tygodniu, 30 tygodni w roku przez ostatnie 5 lat ). Oprogramowanie narzędziowe jest dostarczane w najnowszej rewizji z możliwością pobrania wersji starszych. Wersje starsze następnie „doinstalowują” się do najnowszej. Na moim komputerze mam zainstalowane wersje od 13 do 32 i nie mam problemu z kompatybilnością.

Zakładka „File” w Studio 5000

W zakładce „File” warto zwrócić uwagę na 2 rzeczy: „Save” wraz z „Save As…” oraz „Compact”.

Komentarz eksperta:

Klawisz „Save As” pozwala nam zapisać projekt nie tylko w formie pliku acd (cały projekt to 1 plik), ale również w formie pliku tekstowego L5k lub pliku HTML. Projekt zapisany w formie tekstu można następnie zaciągnąć do narzędzia. Jest to wykorzystywane przez niektóre globalne koncerny do tworzenia własnych generatorów kodu. Narzędzie na podstawie bazy danych, w której jest zapisana sekwencja, czujniki ją kontrolujące jest w stanie wygenerować gotowy kod programu o określonej strukturze. Programiście pozostaje go potem jedynie uruchomić.

Wspominam o zapisywaniu ze względu na to, że w sterownikach Allen-Bradley będąc online ze sterownikiem po kliknięciu „Save” wyskakuje okienko z pytaniem, czy chcemy pobrać wartości zmiennych ze sterownika. Przypomina to opcję „snapshot” w sterownikach Siemensa, jednak pobiera wartości wszystkich zmiennych. Dzięki temu zmienne zawsze mają jakąś wartość w projekcie.

Przy stworzeniu zmiennej, jej początkową wartość sterownik ustawia na 0. Jeżeli jesteśmy w trybie online z PLC, zmienne będą pobierane na bieżąco.

Dzięki tej opcji w trakcie uruchamiania programu na obiekcie w chwili gdy wystąpi jakiś problem możemy pobrać wszystkie zmienne (IO, zmienne lokalne, zmienne globalne) rozwiązać program tymczasowo, a w wolnej chwili wrócić do momentu i stanu zmiennych w programie, w którym dany problem występował.

Również w łatwy sposób możemy edytować wartości zmiennych będących parametrami.

Trzeba pamiętać o zapisywaniu z pobraniem wartości zmiennych jeśli zmieniliśmy jakiś parametr na maszynie.

Aby uniknąć problemów z zapisywaniem parametrów można również ważne dane ustawić jako stałe.

Również jeśli zostawimy maszynę na dłuższy czas, a w pamięci programu pojawią się istotne dane, a wgramy program w którym tych zmiennych nie ma to zostaną utracone . Można sobie z tym poradzić pobierając wartości zmiennych w trybie online.

Drugą opcją jest skorzystanie z narzędzia „Data Preserved Download Tool”. Dzięki niemu narzędzie najpierw pobierze wartości zmiennych, potem przeładuje program a na końcu przywróci wartości, do tych sprzed zatrzymania.

Przycisk „Compact” służy do optymalizacji kodu źródłowego projektu zapisanego w plikach i skutkuje zmniejszeniem objętości programu oraz większą płynnością pracy. Analogiczna funkcja jest dostępna w sterownikach Siemensa w tym samym miejscu.

Zakładka „Logic” w Studio 5000

W zakładce „Logic” mamy opcję „Produced Tags…” – nie będę jej szerzej opisywał, bo nie wykonywałem komunikacji pomiędzy sterownikami Allen-Bradley, ale jeśli chcemy ją wykonać, to należy zajrzeć właśnie w to miejsce.

Komentarz eksperta: 

A szkoda, bo to akurat jest jedna z dużych zalet tych sterowników. W największym skrócie Producent/konsument to metoda komunikacji sterowników pomiędzy sobą oraz sterowników z modułami w kasetach lokalnych i ze zdalnymi urządzeniami. Polega ona na tym, że producent generuje dane, a konsument co ściśle określony czas pobiera dane ze wskazanej ścieżki. Zmienne producent i konsument można również obejrzeć w tablicy zmiennych globalnych.

Map PLC/SLC to funkcjonalnośc pozwalająca sterownikom rodziny logix „Udawać” sterowniki serii PLC lub SLC. W przypadku migracji ze starych sterowników do platformy Logix można w ten sposób „oszukać” np. oprogramowanie InTouch, któremu wydaje się, że komunikuje się ze sterownikiem PLC.

Opcja „Map Safety Tags” służy do łączenia zmiennych standardowych oraz zmiennych Safety, używanych w logice bezpiecznej w programie Safety. Po wykonaniu takiego połączenia możemy z logiki „niebezpiecznej” wpływać na logikę bezpieczną. W drugą stronę nie trzeba wykonywać mapowania.

Komentarz eksperta: 

Zadanie standardowe może czytać zmienne typu Safety, ale nie może ich zapisywać. Zadanie bezpieczeństwa nie może ani czytać ani zapisywać zmiennych standardowych. O ile nie zostaną one zmapowane w tej zakładce na zmienne safety. Wynika to ze sposobu wykonania logiki bezpieczeństwa w tych sterownikach.

W zakładce „Logic” znajdują się również funkcje „Online Edits”, służące do edycji programu będąc online – w sterownikach Allen-Bradley opcja edycji programu online jest dość rozbudowana.

I to jest właśnie kolejna kluczowa rzecz, która te sterowniki wyróżnia. Rockwell przyjmuje filozofię pracy online ze sterownikiem. Wszystkie zmiany wykonujemy na działającym projekcie na działającym urządzeniu. Co więcej, jeżeli z danym sterownikiem pracuje więcej niż jedna osoba, zmiany jakie wykonuje ktoś inny automatycznie dograją się do naszego projektu.

Wykonywanie zmian w trybie online nie wymaga wejścia do tego menu. Wystarczy dwukrotnie kliknąć obok linii, którą chcemy wyedytować, a następnie naciskając klawisz zatwierdzenia, wgrać zmiany do PLC.

Tryby pracy sterowników Allen Bradley

Warto wyróżnić tryby w jakich może znajdować się sterownik:

  • „Run Mode” – sterownik jest ustawiany w tryb Run, kiedy program jest gotowy i przetestowany. Sprawdzany jest stan wejść cyfrowych, a wyjścia cyfrowe są wysterowane w zależności od logiki zawartej w programie.
  • „Rem Mode” – Sprawdzany jest stan wejść cyfrowych, a wyjścia cyfrowe są wysterowane w zależności od logiki zawartej w programie. Będąc w trybie Remote (zdalnym) mamy możliwość połączenia się ze sterownikiem.
  • „Prog Mode” – Wyjścia cyfrowe nie są sterowane w zależności od logiki programu. Tryb służący do wgrywania nowego programu, edycji lub pobierania aktualnego programu. W tym trybie mamy możliwość połączenia się ze sterownikiem.

Komentarz eksperta: 

Tryb Rem zwany również Remote, to tryb w którym osoba podłączona komputerem (lub inny zdalny PLC) decyduje w jakim stanie ma się znaleźć sterownik. Do wyboru są trzy tryby :

  • Rem Run – Tryb identyczny z RUN ale można wykorzystać pełną funkcjonalność edycji online oraz dodawania zmiennych
  • Rem Prog – Identyczny od strony funkcjonalnej jak Prog, ale możliwe jest aby z tego trybu uruchomić sterownik korzystając z komputera.
  • Rem Test – Jest to tryb pośredni w którym sterownik wykonuje program ale nie wystawia fizycznie żadnych wyjść. Idealny jeżeli chcemy na żywym obiekcie przetestować logikę bez ryzyka aktywacji wyjść fizycznych

Łączenie się z PLC nie jest uwarunkowane żadnym konkretnym trybem. Zmian stanu sterownika Logix, wpływa jedynie na możliwości edycji online. Poza trybem RUN, mamy pełną możliwość edycji online parametrów, zmiennych oraz logiki. 

Łączenie się ze sterownikiem Allen Bradley

Po lewej stronie widzimy informację czy jesteśmy Offline / Online.

  • „Forces” – wymuszenia zmiennych i wyjść cyfrowych.
  • „Edits” – zmiany online programu.
  • „Safety Unlocked” – możliwość zablokowania logiki Safety sterownika.
  • „RUN” – wykonywanie logiki sterownika.
  • „OK” – sterownik nie ma błędu.
  • „Energy storage” – stan zasilania. Stan baterii (w starszych sterownikach) lub kondensatora zapewniających podtrzymanie pamięci po wyłączeniu zasilania, a dokładniej mówiąc umożliwijaących zapisanie zawartości pamięci operacyjnej na wewnętrzna pamięć Flash – coś na kształt hibernacji w PC.
  • „I/O” – stan komunikacji sterownika. Komunikacja z I/O i Producent/konsument

U góry znajduje się zakładka Communications z opcjami łączenia się ze sterownikiem.

Po prawej stronie znajduje się wybrana ścieżka komunikacji ze sterownikiem. Sterownik, który wybrany jest w projekcie posiada port Ethernetowy oraz port USB.

 Zakładka „Communications” w Studio 5000

W zakładce „Communications” możemy wybrać opcję „Select Recent Path” z używanymi ścieżkami komunikacji ze sterownikiem, połączyć się ze sterownikiem wybierając „Go Online”, wykonać „Upload” programu oraz „Download” programu. Możemy również zmienić tryb w którym znajduje się obecnie sterownik oraz wykonać diagnostykę błędów.

Warto zwrócić uwagę na to, że w sterownikach Allen-Bradley nie da się wgrać tylko różnic programowych (opcja znana z Siemensa). Program jest wgrywany w całości, a sterownik przechodzi przez stan Stop. W związku z tym praca na obiekcie wygląda tak, że jesteśmy przez cały czas w online – chyba, że możemy sobie pozwolić na zatrzymywanie maszyny. Moim zdaniem jest to wada w stosunku to sterowników Siemensa.

Komentarz eksperta: 

Nie do końca jest to prawdą. Sterowniki AB radzą sobie z tym zagadnieniem inaczej. Mianowicie, gdy musimy podmienić część projektu w działającym sterowniku i nie chcemy go przeładowywać, wykonujemy import programu online. Podmieniamy wtedy cały blok programowy ze wszystkimi zmiennymi i podprogramami.

Faktem jest, że dochodzimy do kwestii filozoficznej – praca online ze sterownikiem czy częściowy download. Kwestia gustu.

W zakładce „Communications” możemy również wybrać „Who Active”:

Okno „Who Active” z możliwością wyboru drivera komunikacyjnego i przeglądania dostępnych urządzeń, łączenia się ze sterownikiem, uploadu programu, downloadu programu.

Można skorzystać z tego menu, ale równie dobrze można wywołać dokładnie te same opcje klikając na ikonkę procesora, obok napisu offline. Przywołując to menu możemy przeładować program, odczytać program oraz zmienić tryb sterownika jeżeli przełącznik ustawiony jest w pozycji REM. 

 

Program RS Linx Classic – komunikacja ze sterownikami Allen Bradley

Do komunikacji ze sterownikiem wykorzystywany jest program RS Linx Classic. Aby połączyć się ze sterownikiem za pomocą Ethernetu musimy skonfigurować driver komunikacyjny. IP komputera musi się również znajdować w tej samej puli, co IP sterownika – nie będę opisywał ustawiania stałego adresu IP, ponieważ jest to standard.

Komentarz eksperta: 

Od tego narzędzia w ogóle wypadałoby zacząć. RSLinx to narzędzie, które służy w najprostszym ujęciu do połączenia się ze sterownikiem za pośrednictwem szeregu driverów komunikacyjnych, a w najbardziej zaawansowanym jest serwerem OPC, mogącym pracować ze zdalnymi klientami. IP sterownika niekoniecznie musi znajdować się w tej samej puli co komputera. Możliwe jest stosowanie po drodze szeregu bram i routerów. Aby połączyć się wtedy ze sterownikiem, konieczny jest wybór drivera Ethernet Devices, a nie Ethernet/IP jak to autor zrobił na kolejnych stronach.

Wybieramy opcję „Configure Drivers…”.

Następnie wybieramy „Ethernet/IP Driver” i klikamy „Add New…”.

Komentarz eksperta: 

Driver Ethernet/IP to najczęściej stosowany driver komunikacyjny. Jego zaletą, jest błyskawiczne wykrycie wszystkich urządzeń znajdujących się w tej samej sieci co komputer. Dzieje się tak, ponieważ driver ten wysyła Broadcast w lokalną podsieć i urządzenia obsługujące driver Ethernet/IP na ten broadcast odpowiadają. Dlatego też driver ten nie działa w przypadku korzystania po drodze z urządzeń typu routery.

Wybieramy kartę sieciową, za pomocą której będziemy się łączyć ze sterownikiem i klikamy „OK”.

Mając skonfigurowany driver Ethernet/IP możemy przeglądać urządzenia z tym rodzajem komunikacji znajdujące się w sieci z którą jesteśmy połączeni w programie RS Linx oraz Studio 5000.

Na każdym szkoleniu ze środowiska Studio 5000 powtarzam. Jeżeli urządzenie widać w RSLinx, to macie z nim komunikację i można zabrać się za środowisko studio 5000. Jeżeli sterownika nie widać pod RSLinx, to studia nie ma co nawet uruchamiać, bo i tak nie nawiążemy połączenia.

Zakładka „Tools” oraz pliki EDS w Studio 5000

W zakładce „Tools” znajduje się opcja „EDS Hardware Installation Tool” – instalacja plików EDS.

EDS w skrócie jest to plik analogiczny do pliku GSDML w Siemensie. Wg opisu na stronie Rockwella: „Prosty plik tekstowy używany przez narzędzia do konfiguracji komunikacji, pomagający identyfikować produkty i w łatwy sposób uruchamiać komunikację”.

Dodając pliki EDS jesteśmy w stanie dodać urządzenia nie znajdujące się w bazie Studio 5000 do projektu.

Pliki EDS są kluczowe jeśli, chcemy łączyć się z urządzeniami za pomocą komunikacji Ethernet/IP.

Komentarz eksperta: 

Powoli, powoli.To nie do końca prawda. Każde urządzenie, które chcemy skomunikować ze sterownikiem Rockwell Automation możemy skomunikować na dwa sposoby :

  • Implicit messaging – komunikacja sprzętowa, realizowana bez udziału aplikacji przez chodzące w tle zadanie lub dodatkowy CPU, po wcześniejszym skonfigurowaniu jej przez użytkownika.
  • Explicit messaging – komunikacja programowa – inicjowana przez aplikację.

Explicit messaging jest łatwo opisać bo chodzi tutaj o jedną instrukcję czyi MSG. Nie wymaga ona plików EDS, ponieważ i tak wszystkie parametry włącznie ze ścieżką są konfigurowane.

Implicit messaging wymaga dodania urządzenia do drzewka IO aplikacji (w sposób jaki autor robi to w dalszych punktach) w oparciu o tzw. Add-on profile, czyli dodatek doinstalowany do środowiska zrobiony przez producenta urządzenia pozwalający konfigurować zdalne urządzenia bez konieczności rozbijania całej konfiguracji na pojedyncze zmienne.

Biblioteka tych urządzeń jest dla środowiska Studio 5000 bardzo bogata:

To są urządzenia przykładowe normalnie dodane. Wśród producentów, których urządzenia są od razu dodane do środowiska Studio 5000 znaleźć można :

AMCII, Cognex, Endress + Hauser, Fanuc, Flir, HMS, Hoffman, Laird, Mettler Toledo, NTI, Parker, Pepperl + Fuchs, Prosoft Technology, Reliance, SMC Corporation, Zebra.

Jest to najlepsze rozwiązanie, ponieważ od razu po stworzeniu takiego urządzenia, tworzą się do niego odpowiednie zmienne jak widać to poniżej dla przykładowego przepływomierza. Wystarczyło go dodać i zmienne stworzyły się same.

Drugi sposób to dodanie modułu jako Generic i wpisanie rozmiarów wymienianych tablic według dostarczonej przez producenta instrukcji. Bardzo często producenci dostarczają w takim przypadku również gotowe instrukcje Add-On do wykonania mapowania zmiennych, aby zbliżyć się do wygody oferowanej przez add-on profile.

I trzeci sposób czyli uruchomienie częściowego profilu przez plik EDS. Rozwiązanie połowiczne dla urządzeń nie mających gotowego add-on profile. Niektóre urządzenia umożliwiają pobranie pliku EDS bezpośrednio z nich. Nie trzeba wtedy przeszukiwać internetu w poszukiwaniu właściwego pliku

Reasumując, pliki EDS nie są niezbędne.

Jeszcze jedno: Zawartośc zakładki Tools zależna jest od samego procesu instalacji. Cały szereg pomocniczych programów, które możemy wybrać jako opcję przy instalacji Studio 5000 może mieć swoje skróty dodane do tej zakładki.

Instrukcje LAD w Studio 5000

U góry okna projektu znajduje się belka z instrukcjami dostępnymi do użycia w programie z podziałem na zakładki. Omówię najważniejsze moim zdaniem funkcje, które mogą być niejasne:

  • „Favorites” – ulubione instrukcje do wyboru przez użytkownika.
  • „Add-On” – Add-On Instructions, czyli w analogii do Siemensa najbliższy odpowiednik Function Blocków. Zakładka z Add-Onami znajdującymi się w projekcie możliwymi do wywołania w programie.
  • „Latch” / „Unlatch” – „Set” / „Reset”.
  • „ONS”, „OSR”, „OSF” – instrukcje do obsługi zboczy programowych.
  • „Timer” – zakładka do obsługi timerów programowych.
  • „Input” – zakładka do obsługi IO.

Komentarz eksperta:

Z mojego doświadzenia. Rockwell to drabinka 😉. Język Lad jest głównym językiem programowania sterowników AB od czasów PLC i PLC -2 (mówimy o początku lat 80-tych ).

W przypadku języka drabinkowego aplikacja wykonuje się najszybciej, ma najbogatszą bibliotekę instrukcji oraz daje się bardzo łatwo edytować bez zatrzymywania sterownika. Każda instrukcja w drabince ma swój 3 lub 4 literowy skrót. Tworząc aplikację, nie ma konieczności przelatywania po wszystkich zakładkach, wystarczy pamiętać główne skróty do instrukcji i wpisać je tekstowo :

Np. XIO T1.DN TON T1 2000 spowoduje pojawienie się takiej linii jak poniżej. Po nabraniu wprawy takie skróty  mocno ułatwiają pracę. Od strony interfejsu wszystko opiera się na mechanizmie Drag&Drop. Gdzie przeciągniemy i upuścimy instrukcję, tam ona będzie .

Osobiście używam wyłącznie zakładki Favorites do wprowadzania rozgałęzień, czasem prostych styków lub cewek. Z moich obserwacji w czasie szkoleń standardowy użytkownik szybciej napisze skrót SIN lib PID niż znajdzie na tym pasku odpowiednia zakładkę.

Poza Ladderem w sterowniku dostępne są języki FBD, ST oraz SFC. O czym należy pamiętać, języki w sterownikach AB nie mają być wymienne. Każdy z nich służy do wykonania konkretnego zadania. Język LAD jako główny język i język do programowania napędów serwo.

FBD – język do procesu, regulacji, modelowania i filtrowania

ST – język do zaawansowanych operacji matematycznych, pętli programowych, działania na tablicach itp.

SFC – język do budowania sekwencji działania aplikacji. Sam język SFC nie daje możliwości pisania programu, dopiero w połączeniu z ST albo innym pozwala stworzyć pełną aplikację.

Instrukcja MSG:

Definicja z Helpa: „Instrukcja MSF asynchronicznie czyta i zapisuje bloki danych innego modułu w sieci”. Aby użyć tej instrukcji należy stworzyć instancję bloku (najlepiej wpisując jej nazwę do bloku, klikając prawym przyciskiem myszy i wybierając opcję „New” – typ danych zostanie automatycznie wybrany). Parametryzację bloku MSG najlepiej wykonywać wg instrukcji producenta urządzenia, z którym chcemy się skomunikować (o ile jest dostępna).

Komentarz eksperta:

MSG to bardzo ciekawy wybór na pokazanie interesującej instrukcji. Jest to najbardziej zaawansowana instrukcja w sterownikach Logix. Pozwala zmieniać konfigurację urządzenia w sieci nie tylko Ethernet/IP ale również ControlNet, DeviceNet, RIO, DH+, DH-485, komunikować się z urządzeniami nie dodanymi do drzewka IO, kasować błędy na zdalnym sterowniku, zmieniać tryb zdalnego sterownika. Manual do tej samej instrukcji ma około 40 stron a i tak jest to dopiero wstęp.

W szczególności za pomoca instrukcji Message można w pełni obsłużyć port Ethernet za pomocą funkcji Socket Create, Socket Write/Read itd. Jako przykład wykorzystania Rockwell pokazuje przykład napisania protokołu Modbus TCP Master/Slave w języku drabinkowym.

Warto też wspomnieć, że Sterowniki RA nigdy nie miały ograniczeń na ilość Timerów i Counterów a w instrukcjach arytmetycznych, błąd dzielenia przez 0 nie powodował zatrzymania jednostki centralnej.  

Instrukcje GSV / SSV:

Definicja z Helpa: „Instrukcje GSV / SSV pobierają i ustawiają dane systemowe urządzeń zawarte w obiektach”. Instrukcji GSV i SSV możemy użyć choćby do odczytu czy zapisu zmiennych napędów z Motion Group. Aby użyć tej instrukcji należy stworzyć instancję bloku. Następnie wybieramy „Class Name” oraz „Attribute Name” oraz w „Dest” / „Source” wybieramy ścieżkę do urządzenia.

  • „Compare” – instrukcje porównywania.
  • „Compute/Math” – instrukcje matematyczne.
  • „Move/Logical” – operacje logiczne na bitach.
  • „File / Misc” – warto zwrócić uwagę na instrukcje „COP” i „CPS” – można ich użyć do kopiowania kilku elementów tablicy i zmiennych typu String.
  • „Program Control” – zawiera instrukcje „JMP” i „LBL” czyli skok do miejsca w programie, instrukcję „JSR” czyli skok do subroutine – wywołanie podprogramu (o subroutine będzie jeszcze mowa), „RET” i „SBR” czyli bloki do używania interfejsów subroutine.

Komentarz eksperta: 

GSV i SSV to instrukcje pozwalające ingerować w ustawienia poszczególnych urządzeń oraz wyciągać ze sterownika dane typu zegar czasu rzeczywistego, stan połączenia z konkretnym urządzeniem, konfiguracja osi serwo, log błędów Itp. Za pośrednictwem tych instrukcji możemy je odczytywać oraz zapisywać.

I tutaj warto wspomnieć o CPTinstrukcja pozwalająca nam w jednym bloku wykonać dowolnie skomplikowaną instrukcję arytmetyczną w sterownikach Rockwell np. taki wzór matematyczny :

Podobnie instrukcja CMP: dwa wyrażenia jak w CPT rozdzielone znakiem relacji.

Zamykamy w jednym bloku funkcyjnym. I nie ma konieczności i nigdy nie było konwersji typów zmiennych przez operację. Sterownik robi to za nas.

COP i CPS mają dużo innych zastosować. Dzięki nim można tablice DINT podzielić na tablicę SINT lub INT jednym blokiem. Analogicznie w drugą stronę. Co do zasady instrukcje te służą do przenoszenia dużych obszarów danych między sobą. Warto pamiętać, że kopiować możemy nie tylko tablice poszczególnych elementów, ale również całe skomplikowane struktury danych

Przykład poniżej to już COP, a obróbka tekstów. Przy tej okazji warto wspomnieć o User Defined String o maksymalnej długości 64K znaków.

STR2R – String to Real. Instrukcja, która za pośrednictwem jednego bloku, z tekstu wyciąga wartość liczbową i zapisuje ją do zmiennej. W efekcie działania tej instrukcji z tekstu „Ustaw wartość 20.2 na regulatorze ” sterownik wyciąga liczbę 20.2 i zapisuje ją do wskazanej przez nas zmiennej.

Na obrazku powyżej znajdują się instrukcje:

  • „S:FS” -> = 1 podczas pierwszego skanu sterownika.
  • AFI -> zawsze = 0.
  • „Zworka programowa” -> każdy szczebelek pełni rolkę = 1 (always true).
  • „NOP” – No Operation – pusta instrukcja, w sterownikach Allen-Bradley nie można pozostawiać pustych szczebli, dlatego jeśli nie chcemy niczego zamieścić na wyjściu danego networku to należy tam umieścić instrukcję NOP.

Jeżeli potrzebujemy pustą gałąź do wstawienia np. rozbudowanego komentarza to idealna jest do tego kombinacja AFI NOP.

Kolejne funkcje budowania programu:

  • „Trig Functions” – funkcje trygonometryczne.
  • „Advanced Math” – zaawansowane funkcje matematyczne.
  • „Motion …” – instrukcje Motion napędów.

Zmienne globalne w Studio 5000

Zmienne globalne możemy znaleźć w zakładce „Controller Tags”. Rzeczą na którą trzeba zwrócić uwagę jest to, że wszystkie zmienne są podtrzymywane i utrzymują swoją wartość nawet po utracie zasilania. Może to być pewnym zaskoczeniem dla kogoś, kto pierwszy raz ma do czynienia z tym sterownikiem – dla mnie było. Jeśli od razu weźmie się to pod uwagę podczas pisania programu to nie ma z tym problemu. Jeśli nie chcemy, żeby zmienna była podtrzymywana to możemy ją kasować np. za pomocą instrukcji „S:FS” lub programu „Power-Up Handler”. Również jeśli pisze się program na zasadzie maszyny stanów i pojedynczej zmiennej z krokiem programu jest to spore ułatwienie, ponieważ można skasować całą pamięć logiki sterowania danym urządzeniem automatyki maszyny za pomocą wpisania 0 do jednej zmiennej.

  • Zmienne globalne to zmienne znajdujące się w Scope:CPU.
  • W zakładce class możemy wybrać czy używamy zmiennej standardowej czy bezpiecznej.
  • W polu „Alias for” możemy ustawić aliasowanie zmiennej.

Komentarz eksperta:

Przy zmiennych warto się chwilę zatrzymać. Sterowniki Logix z wyższych języków programowania czerpią filozofię przechowywania danych w zmiennych, tablicach i strukturach użytkownika. Podstawowe zalecenie PRZED tworzeniem jakiejkolwiek aplikacji to zastanowić się, jak mają wyglądać dane. Typy danych można ze sobą mieszać w ramach struktur użytkownika i jeszcze dodatkowo tabelaryzować w ramach tablic. Poniżej przykładowa struktura dla kilku zbiorników.

Po stworzeniu struktury typu zbiornik, możemy te struktury upakować w tablice. Właściwe zarządzanie danymi, ich przygotowanie i przemyślenie przed rozpoczęciem projektu, znacznie ułatwia to życie w czasie uruchamiania.

Aliasowanie zmiennych w Studio 5000

Przydatną funkcją jest aliasowanie zmiennych (dla innych może być znane jako linkowanie / mapowanie). Polega na tym, że jedna – dwie zmienne są ze sobą połączone i przyjmują takie same wartości. Aliasowanie jest ewidentnie przewagą sterowników Allen-Bradley nad sterownikami Siemensa. Za jego pomocą możemy np. w łatwy sposób przepiąć czujnik na inne wejście cyfrowe – w programie ogranicza się to tylko do zmiany sygnału w naszej zmiennej w puli „Alias for”. Jeśli chcemy dodać opóźnienie sygnału również można to łatwo wykonać za pomocą aliasowania:

W przykładzie powyżej na czerwono zaznaczone są zmienne używane w programie. Dwa pierwsze networki to stary układ w którym w programie używamy zmiennej, która jest aliasem dla wejścia cyfrowego. Networki 3 i 4 to nowy układ z opóźnieniem sygnału o sekundę. W networku 3 mamy zrealizowane opóźnienie o sekundę na zmiennej pomocniczej. W networku 4 znajduje się zmienna używana w programie będąca aliasem zmiennej pomocniczej. Ten przykład pokazuje, że można w łatwy sposób dołożyć opóźnienie w całym programie bez znacznych zmian.

Komentarz eksperta: 

Aliasowanie jest przydatnym rozwiązaniem, ale jego wadą jest brak możliwości edycji aliasów w trybie online. Autor często na to zwraca uwagę. Dużo lepszym rozwiązaniem jest skorzystanie z parametrów poszczególnych programów. Od strony funkcjonalnej są one zbliżone do Aliasów, a jest możliwość edycji podłączenia online bez zatrzymywania sterownika.

Standardem zmiennych w Allen-Bradley są zmienne mające 32 boole – można to łatwo zweryfikować tworząc tablicę typu bool – jeżeli wymiar będzie mniejszy niż 32 to tablica automatycznie zwiększy swój rozmiar na 32 bool. Również tworząc automatycznie zmienne standardowo wybierane są zmienne z 32 bool [Dint/Real].

Wynika to z faktu, że jednostka centralna jest 32-bitowa. Co za tym idzie naturalną wielkością zmiennej jest dla niej DINT i REAL. I warto pamiętać, że operacje na zmiennych typu DINT i REAL będą wykonywane szybciej i paradoksalnie zajmą mniej pamięci niż operacje na zmiennych typu INT i SINT.

W sterownikach Allen-Bradley można w łatwy sposób podglądać / odwoływać się do poszczególnych bitów zmiennej.

Podział projektu w Studio 5000: Task

W struktury organizacyjnej logiki programu na samym szczycie piramidy znajdują się „Taski” – zadania. Mamy 3 typy tasków:

  • Continous – w analogii do Siemensa jest to standardowy OB. Możemy mieć tylko 1 task tego typu w całym projekcie. Zadanie continous ma najniższy priorytet w plc i czas jego skanu jest zawsze najdłuższy ze wszystkich zadań.
  • Periodic – cykliczny – z góry ustalony czas co ile zadanie jest wywoływane..
  • Event – przerwanie systemowe. Przerwanie od wejścia cyfrowego, grupy osi, zmiennej Producent/konsument. Generalnie reakcja na zdarzenie

Zapoznając się z dokumentacjami od Rockwella można zauważyć, że rozwiązanie z podziałem programu na taski periodic jest najbardziej promowane i zalecane. Osobiście podczas tworzenia swojego pierwszego projektu zdecydowałem się na rozwiązanie „Siemensowskie” i cały program zawarłem w tasku continous. Zrobiłem tak choćby dlatego, że wyobraziłem sobie sytuację, że mamy 2 taski:

  • A – 10 ms,
  • B – 30 ms.

W tasku A pojawia się sygnał na 1 cykl skanu sterownika. W tasku B sprawdzane jest zbocze na tym sygnale. Istnieje możliwość, że task B nie zauważy tego sygnału. Można sobie oczywiście poradzić z takimi problemami poprzez stosowanie feedbacków i potwierdzeń. Jest to dość uciążliwe. Ogólnie to trzeba pilnować wszystkich zmiennych wymienianych pomiędzy taskami. Stosując taski periodic możemy wygospodarować więcej czasu skanu, który możemy poświęcić na wymianę zmiennych pomiędzy PLC, a HMI.

Komentarz eksperta: 

Taski w sterowikach Logix najlepiej wyjaśnić na przykładzie codziennej pracy.

Mam do napisania aplikację na sterownik  i to jest moje zadanie ciągłe. W ciągu dnia każdą wolną chwilę poświęcam na jego realizację. Codziennie o godzinie 9.00 i o godzinie 13.00 mam planowane spotkania. To są moje zadania cykliczne. Wiem zawsze, kiedy się zaczną a ile potrwają, to zależy od wielu czynników.

Od czasu do czasu dzwoni do mnie telefon albo przychodzi szef. I to jest moje zadanie typu Event.

Na każdą godzinę pracy przy komputerze robię sobie 5 minut przerwy – to jest mój tzw. Overhead time slice – w sterownikach AB wykorzystany do obsługi komunikacji nieplanowanej.

Łatwo zauważyć na tym przykładzie, że im więcej telefonów, im częściej szef będzie przychodził, tym dłużej będę robił swoją aplikację a może się okazać, że i zadania cykliczne się przesuną.

I dokładnie takie zalecenie występuje w sterownikach AB. Im wyższy priorytet zadania i im częściej jest wykonywane, tym mniej kodu powinno zajmować.

Zadania cykliczne pomyślane są jako narzędzie do uruchamiania logiki np. regulatora PID z cyklem, który miałby odniesienie do stałej czasowej obiektu. Jeżeli stała czasowa obiektu wynosi 5 minut to uruchamianie zadania PID co 10 ms nie ma sensu, nawet jeżeli ta część logiki nie byłaby wykonywana. I tak sztucznie przedłużyłaby czas skanu. Typowe jest przeniesienie do oddzielnego zadania obsługi zmiennych do panela operatorskiego. Jeżeli panel pyta co 100 ms, nie ma sensu logiki obrabiać w zadaniu ciągłym.

Co do przykładu podanego przez Autora, powiem tylko, że wystawienie zmiennej w jednym zadaniu i sprawdzenie jej w drugim, bez zapewnienia, że zmienna będzie miała szanse być zobaczona, jest niestety często popełnianym błędem. Nie jest nim natomiast napisanie całej aplikacji w zadaniu ciągłym jak to zrobił autor. Mam tylko nadzieję że zamapował zmienne z We/Wy na tablicę w programie, bo jeżeli nie to ma dokładnie ten problem o którym wspomniał. Może się zdarzyć, że dane We zmieni się kilka razy przy długim zadaniu ciągłym. Trzeba pamiętać o monitorowaniu długości wykonania zadania i czasu odświeżania We/Wy. W razie czego mapujemy zmienne.

Podział projektu w Studio 5000: Program oraz routine

W tasku zawierają się programy. Każdy program ma swoje zmienne lokalne. W każdym programie mogą się znajdować podprogramy „subroutine”. Podprogramy wywołuje się za pomocą „JSR”, a ich interfejsy obsługuje za pomocą „RET” oraz „SBR”.

Komentarz eksperta:

Program służy jako dodatkowy element podziałowy w aplikacji. W większych projektach piszę się logikę tak, że każdy program odpowiada za konkretną część linii. Np. oddzielny program dla robota, oddzielny dla stołu obrotowego, oddzielny dla chwytaków, oddzielny dla mapowania. Takie zarządzanie aplikacją w połączeniu z parametrami programu, pozwala nam dublować kod klasycznym Kopiuj-Wklej, zmieniając jedynie parametry programu.

SBR i RET w podprogramach wykorzystujemy jedynie w sytuacji, gdy do podprogramu przekazujemy parametry. W przeciwnym razie nie ma konieczności ich stosowania.

Pozwolę sobie na umieszczenie swojej opinii: obsługa interfejsów „routine” to istny dramat, jednak sam podział projektu na programy z ich lokalnymi zmiennymi to fajne rozwiązanie i przyjemnie się w ten sposób pracuje – narzuca to pewną dyscyplinę odnośnie porządku w programie. Jednak wrzucenie wszystkich zmiennych globalnych w jedno miejsce moim zdaniem powoduje bałagan i tylko dobrze działająca funkcja wyszukiwania zmiennych ratuje tą sytuację.

I właśnie dlatego należy przed rozpoczęciem pisania programu przemyśleć swoje zmienne i strukturę danych. To o czym mówiłem na początku. Inna filozofia podejścia do pisania aplikacji w tym miejscu zaczyna pokazywać się w całej okazałości.

Niestandardowe taski w Studio 5000

Oprócz standardowych tasków mamy również :

  • „Controller Fault Handler” – task, który jest wykonywany w wypadku błędu sterownika. Czyli ostatnia deska ratunku. Jeżeli w tym programie nie skasujemy błędu to sterownik zatrzyma się.
  • „Power-Up Handler” – task, który jest wykonywany na starcie sterownika. Uwaga, na starcie sterownika oznacza po załączeniu zasilania a nie po uruchomieniu trybu RUN. Jest to istotna różnica ! 
  • „Safety Task” – program safety.

Odnośnie programu safety najistotniejsze rzeczy to:

  • zmienne programowe mogą być standardowe oraz bezpieczne „safety”,
  • w programie „Safety” znajduje się zakładka „Safety” ze specjalnymi instrukcjami jak np. „Estop”,

Add-On Instructions w Studio 5000 – „bloki funkcyjne”

Add-On Instruction to odpowiednik Function Block w Siemensie i ogólnie bloków funkcyjnych.

Od razu wspomnę o głównej wadzie AOI, która mi przeszkadza – brak możliwości edycji tych bloków będąc online. Moim zdaniem jest to wada, która przekreśla stosowanie AOI do czegokolwiek innego niż sterowanie urządzeniami i proste powtarzające się części kodu. Przykładowo jeśli mam na maszynie 2 takie same elementy i oba mają taką samą logikę sterującą, to ja osobiście nie użyję w programie AOI, ponieważ nie ma możliwości edycji online.

AOI również mogą być typu standard lub safety.

Każdy AOI ma swoje zmienne zawarte w „Parameters and Local Tags”.

Zmienne najlepiej przeglądać klikając prawym przyciskiem myszy na nazwę AOI i wybierając jego właściwości. Możemy wybrać typ zmiennej, ustawić aliasowanie, typ wyświetlania. Jeśli chcemy ustawić parametr bloku AOI jako interfejs należy zaznaczyć Req. / Vis.

Aby wywołać AOI należy go przeciągnąć z lewej strony ekranu lub wybrać z zakładki u góry z dostępnymi funkcjami. Następnie należy utworzyć instancję bloku.

Komentarz eksperta:

Generalną rekomendacją jest pisanie instrukcji AddOn „w ciszy i spokoju” przez doświadczonego programistę. Taka instrukcja po przetestowaniu i udokumentowaniu staje się dorobkiem intelektualnym firmy i przyczynia się do standaryzacji tworzenia projektów.

Na ogół rzadko się zdarza, żeby programista chciał koniecznie zmienić działanie instrukcji standardowej PID, a tak samo można traktować modyfikację AOI.

Daleko idącym przykładem jest oferowana przez Rockwella biblioteka instrukcji procesowych dostępna w ramach PlantPAX, napisana jako zbiór AddOn Instruction.

Brak edycji online bloku AOI jest faktem, natomiast jego niebywałą zaletą jest możliwość oglądania każdego oddzielnego wywołania tego bloku.

Jako osoba tworząca aplikacje, bardzo często zdarzało mi się testować działanie konkretnego urządzenia w zwykłym podprogramie, a następnie te podprogramy przenosić do Add-Ona, aby czasami nawet zablokować do niego dostęp.


Trendy w Studio 5000

Przydatną funkcję w sterownikach Allen-Bradley jest możliwość tworzenia trendów. Plusem jest to, że możemy utworzyć trend każdej zmiennej np. wejścia cyfrowego, zmiennej używanej w logice sterującej, zmiennej używanej w motion control.

Wpisujemy nazwę i czas próbkowania.

Wybieramy Scope – może to być CPU lub któryś z programów. Wybieramy zmienną – co ważne klikamy Add, a następnie Zakończ.

Aby włączyć lub wyłączyć rysowanie trendu wybieramy Run / Stop. Aby zmienić ustawienia trendu klikamy prawym przyciskiem myszy na jego nazwę w zakładce „Trends”. Możemy zmienić maksymalną i minimalną wartość wyświetlaną. Wśród opcji możemy również wybrać trigger do startu i stopu wyświetlania.

Komentarz eksperta:

Pozwolę sobie do tego dorzucić komentarz, że trend z dowolnej zmiennej możemy zapisać do pliku CSV. Długość trendu definiowana jest w zakładce sampling. W przypadku udzielania pomocy technicznej, albo przy diagnostyce urządzenia, bardzo często prosimy o zgranie trendu do pliku csv i przesłanie go do nas do analizy.

Dodatkowo warto wspomnieć, że sam trend jest wspomagany przez procesor sterownika. Dane są czytane, buforowane i kolejkowane w sterowniku, co pozwala na obserwację bardzo szybkich zmian bez utraty danych, przy relatywnie niewielkim obciążeniu sieci.

 

Ethernet/IP

Dodawanie przykładowego urządzenia (moduły IO) komunikującego się za pomocą Ethernet/IP:

Komentarz eksperta: 

Niestety w przypadku wyspy 1734 i modułów CompactLogix nie możemy pokazać najfajniejszej funkcjonalności, czyli funkcji Discover. Funkcja ta wykrywa urządzenia w lokalnej kasecie oraz również w sieci Ethernet/IP i pozwala je dodać do konfiguracji bez konieczności zatrzymywania jednostki centralnej. Jest to funkcjonalność dostępna w sterownikach ControlLogix oraz na platformie We/Wy Flex 5000.

Aby dodać nowe urządzenie do sieci Ethernet/IP klikamy prawym przyciskiem myszy na zakładkę Ethernet i wybieramy New Module. Naszym przykładowym urządzeniem będzie moduł 1734-IB8, który będzie podłączony do 1734-AENTR.

Wpisujemy model wyspy IO w wyszukiwarkę. Ustawiamy nazwę i adres IP. WAŻNE: Rewizja – musi się zgadzać z tą, którą mamy na module.

Komentarz eksperta:

I tak i nie. Do wyboru są rodzaje elektronicznej kontroli poprawności.

Disable Keying – W tym trybie typ urządzenia nie jest w ogóle sprawdzany.

Compatible Keying – W tym trybie sprawdzany jest numer katalogowy, major Revision. Minor Revision musi być nie mniejsze niż to co ustawiono. Czyli jak ustawimy moduł w rewizji 5.002 to moduł w rewizji 5.003 zadziała ale 5.001 już nie . – Tryb używany w 90% przypadków.

Exact Match – Wszystkie parametry danego modułu muszą się zgadzać. – tryb najrzadziej używany.

Później opiszę jak sprawdzić numer rewizji.

Najprościej pod RSLinx kliknąć na urządzenie prawym klawiszem i wybrać Device Properties.

W tym oknie ustawiamy również „Chassis size”, a więc ilość modułów, którą możemy dodać. Jedno miejsce jest zajmowane przez 1734-AENTR, a więc aby dodać moduł 1734-IB8 musimy zwiększyć Chassis size na 2. Chasis size jest w tym miejscu ustawiana w projekcie. Czym innym jest chasis size ustawiona na module. Później opiszę jak ją ustawić.

Aby dodać nowy moduł do 1734-AENTR/B klikamy na nim prawym przyciskiem myszy i wybieramy „New Module…”.

Analogicznie do dodawania wyspy IO tutaj również wpisujemy nazwę i wybieramy numer rewizji.

Komentarz eksperta: 

Moduł dodany do tego drzewka ma całą konfigurację przechowaną w jednostce centralnej. Nieważne czy jest to moduł 1734-IB8 czy moduł analogowy, czy serwonapęd, czy przemiennik częstotliwości (TAK !). Cała konfiguracja urządzenia znajduje się w PLC. Wymiana urządzenia na nowe polega na wyciągnięciu starego, wpięciu nowego i poczekaniu aż PLC przeładuje mu konfigurację. W 90% przypadków nie trzeba podłączać się z komputerem po wymianie czegokolwiek. Pozostałe 10% to głownie przypadki niezgodnych rewizji. Wtedy pomaga obniżenie rewizji na nowym urządzeniu.

Wszystkie urządzenia w tym drzewie mają od razu stworzoną listę zmiennych globalnych jednoznacznie wskazującą, rodzaj modułu oraz gdzie jest podłączony.

Webserver

A tak wygląda drzewko projektu z dodaną wyspą IO i modułem wejściowym.

Aby wejść w webserver danego urządzenia należy wpisać jego IP w przeglądarkę internetową. Rewizję możemy sprawdzić w „Product Revision”.

W zakładce „Configuration” -> „Identify” wybieramy Chasis Size. W tym miejscu ustawiamy Chasis Size na module zgodnie z tym, co wpisaliśmy w projekcie, a więc 2.

To również można ustawić z poziomu RSLinx jak również po przeładowaniu programu do PLC, we własnościach modułu w środowisku studio 5000.

W zakładce „Configuration” -> „Network” możemy zmienić ustawienia sieciowe i ustawić IP. Ustawiamy je zgodnie z projektem, a więc 192.168.0.2.

To już koniec konfiguracji – w tym momencie można wgrać projekt na sterownik i korzystać z rozproszonych wejść cyfrowych.

Zmiana ustawień sieciowych sterowników Allen Bradley

Odnośnie zmiany ustawień sieciowych to jest na to kilka opcji w sterownikach Allen-Bradley:

  • Program BootP DHCP Tool – jest to rozwiązanie najmniej przyjazne moim zdaniem.

Komentarz eksperta:

To jest narzędzie do nadania adresu IP nowemu urządzeniu wyjętemu z pudełka. W przypadku wyspy 1734, jeżeli chcemy pracować w grupie 192.168.1.xxx możemy nadać adres korzystając z umieszczonych na module przełączników. Narzędzie BootP-DHCP może zostać zastąpione dowolnym innym narzędziem, jakim dysponuje IT do nadawania adresów.

Z mojego doświadczenia wynika, że zachowanie tego programu czasem sprawia niespodzianki, ale najczęściej wynikają z kolejnych łatek i poprawek wnodzonych do systemu przez Microsoft. W innych przypadkach działa skutecznie.

  • Wspomniany już wcześniej program RSLinx Classic – jest o wiele bardziej przyjazny i o ile tylko dane urządzenie pozwoli na zmianę swoich ustawień sieciowych za jego pomocą, to jak najbardziej go polecam.

Zgadzam się. Jeżeli coś można zrobić pod RSLinx to należy to robić pod RSLinx.

  • Webserver, a więc rozwiązanie, które opisałem powyżej – to moim zdaniem najlepsze rozwiązanie z tego względu, że dodatkowo mamy podgląd statusu modułu i możemy odczytać błąd – jeśli dane urządzenie zapewnia taką funkcję.

To wszystko możemy odczytać z poziomu studio 5000. Zarówno błąd modułu jak i jego ustawienia

  • Dedykowane programy do obsługi urządzeń.

Studio 5000 nie wymaga żadnego innego programu do obsługi urządzeń RA, jeżeli pracujemy w sieci Ethernet/IP. ControlNet i DeviceNEt mają swoje środowiska podobnie jak narzędzie pod Profibus czy inne sieci. W naturalnym środowisku RA, inne narzędzia nie są potrzebne.

  • Zmiana ustawień sieciowych fizycznie na urządzeniu np. za pomocą pokręteł czy na za pomocą ekranu i przycisków.

Jeżeli na urządzeniu są pokrętła to pozwalają zmienić adres jedynie w obrębie grupy 192.168.1.xxx. Panele operatorskie na przemiennikach mają bardziej rozbudowane funkcje.

Licencja i podsumowanie

Na koniec warto jeszcze wspomnieć o tym, że da się pracować w Studio 5000 bez licencji przez „grace period” 7 dni, ale program traci wtedy część funkcjonalności. W związku z tym lepiej zawsze posiadać licencję, żeby nie szukać opcji, które mogły zniknąć z powodu jej chwilowego braku.

Komentarz eksperta: 

Oprogramowanie w trybie grace Period działa w najwyższej możliwej wersji, pod warunkiem jego zainstalowania z numerem seryjnym. Bez niego narzędzie wchodzi w tryb service Edition i dostępna jest tylko funkccja Upload i Download.

Narzędzie jest licencjonowane na dwa sposoby.

  1. Licencja dożywotnia do, której możemy ale nie musimy dokupować corocznej aktualizacji
  2. Licencja roczna od razu z aktualizacją narzędzia i wsparciem technicznym

Posiadana Licencja umożliwia pracę z dowolną rewizją oprogramowania narzędziowego.

Warto również wspomnieć o licencji typu Concurrent, pozwalającej na instalowanie licencji na dedykowanym serwerze i współużywanie tych samych licencji przez wielu współpracowników.

Generalnie zawsze lepiej mieć licencję niż jej nie mieć. Pomijając już aspkty prawne.

Jak zacząłem, tak chciałbym skończyć. Nie lubię porównań sterowników ze sobą. Każdy z flagowych kontrolerów jest budowany w oparciu o jakąś filozofię i ta filozofia zmienia się w przypadku sterowników Rockwell Automation, Siemensa, Mitsubishi czy Omrona. Dlatego zachęcam każdego, kto siada do nowego sterownika, żeby spróbował zrozumieć filozofię, jaka stała za danym rozwiązaniem i nie patrzeć na to przez pryzmat swoich nawyków. Dopiero wtedy będziemy w stanie docenić i w pełni wykorzystać możliwości, jakie oferują nam poszczególne narzędzia, bez denerwowania się na brak funkcji typowych u jednego czy drugiego producenta. Narzędzia zachowują swój unikatowy charakter, co w świecie postępującego podobieństwa jest dla mnie osobiście dużą zaletą.

Arkadiusz Szojer, Dyrektor ds. Rozwoju i Szkoleń w RA Controls
www.racontrols.pl

 

 

Od redakcji iAutomatyka.pl:

Sprawy związane ze sprzętem i oprogramowaniem Allen Bradley prosimy kierować do firmy RA Controls. > Tutaj Kontakt <

Dziękujemy zarówno autorowi za świetne opracowanie ale także Panu Arkadiuszowi za uzupełnienie artykułu i rozwianie wszelkich wątpliwości. Mamy nadzieję, że wielu skorzysta z tego opracowania a sama forma spodoba się czytelnikom. Nam się bardzo spodobało dlatego postanowiliśmy nagrodzić autora szkoleniem w EMT-Systems w ramach Konkursu iAutomatyka edycja luty 2019.

 

Firma RA Controls dodatkowo postanowiła nagrodzić autora za jego wkład.

Artykuł został nagrodzony w Konkursie iAutomatyka –  edycja Luty 2019

Nagrodę Voucher na szkolenie w EMT-SYSTEMS dostarcza ambasador konkursu, firma EMT-SYSTEMS.

 



Utworzono: / Kategoria: , , ,

Reklama



PRZECZYTAJ RÓWNIEŻ



NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

Reklama



POLECANE FIRMY I PRODUKTY
  • Ten kurs zawiera podstawy z dziedziny serwomechanizmów. Składa się z pierwszego modułu wprowadzającego, pełnego kursu o serwomechanizmach. Mini kurs przeprowadzi Cię przez podstawowe zagadnienia związane z serwomechanizmami. Zaczniemy od sa...
  • Proficy Operations Hub produkcji GE Vernova (uprzednio GE Digital) jest wszechstronnym klientem webowym, agregującym i wizualizującym dane z różnych źródeł, dzięki czemu może stanowić jedno źródło wiarygodnej wiedzy o produkcji. Umożliwia b...
  • 1,200 PLN
    Szkolenie jest wprowadzeniem do systemu sterowania PSS4000 i środowiska programowania PAS4000. W jego trakcie omówiona zostanie zarówno struktura sprzętowa, jak i programowanie, a także diagnostyka kompletnego systemu sterowania. Poruszane ...
    Czas trwania: 8h
    Link: Terminy
  • Chcieliby Państwo być informowani z wyprzedzeniem o stanie maszyny lub techniki napędowej? Nic prostszego! Aplikacja DriveRadar® oferuje kompleksowe zarządzanie konserwacją w oparciu o cyfrowe rejestrowanie danych, na podstawie których możl...
  • Urządzenia firmy FATEK istnieją na rynku polskim od 2004 roku i stały się alternatywą dla już istniejących rozwiązań i urządzeń. Niezawodność, korzystna cena i możliwości sterowników PLC sprawiły, że zyskały one ogromne zainteresowanie prog...
  • EPSITRON®ECO & COMPACT Power OSZCZĘDNOŚĆ KOSZTÓW Zasilacze EPSITRON® ECO i COMPACT Power to nie tylko oszczędność przy zakupie, ale również niższe koszty dzięki łatwej obsłudze oraz braku konieczności serwisowania. Są one doskonałym roz...