Promotic
WikipediaLinkedInYoutubeTwitterFacebook

PmABradleyCIP - Driver do komunikacji ze sterownikami PLC Allen Bradley poprzez protokół EtherNetIP/CIP

Niniejszy driver służy do komunikacji ze sterownikami PLC Allen Bradley firmy Rockwell Automation poprzez protokół EtherNetIP/CIP. Patrz również Komunikacja ze sterownikami PLC Allen Bradley firmy Rockwell Automation.
 
Protokół CIP (Common Industrial Protocol) jest protokołem sieciowym, który umożliwia transmisję wartości obiektów danych. W odróżnieniu od pozostałych protokołów, które są w większości orientowane na wsparcie rejestrów, wejść i wyjść, itd., protokół CIP orientuje się na wsparcie pracy z obiektami danych. Przez pojęcie obiekt danych są rozumiane wytworzone przez użytkownika zmienne tablice, struktury, itd., które opisują technologię i której instancja znajduje się w pamięci sterownika PLC.

Protokół CIP może być zaimplementowany w różnych warstwach fizycznych (Ethernet, CAN/DeviceNet, FieldBus/ControlNet). Protokół EtherNet/IP implementuje (kapsułkuje) protokół CIP dla Ethernet. Driver PmABradleyCIP realizuje implementację protokołu CIP do protokołu EtherNet/IP.

Sterowniki PLC założone na obszarach danych (DataFile, na przykład typu Input, Output, Integer ..) nie potrafią komunikować się poprzez protokół CIP (np. PLC MicroLogix) i dla nich jest przeznaczony driver komunikacyjny PmABradleyDF1.

 
Protokół EtherNetIP/CIP jest wspierany przez sterowniki Allen Bradley firmy Rockwell Automation z serii:
- ControlLogix
- CompactLogix
- SoftLogix
- DriveLogix
- GuardLogix
 
Przed zastosowaniem tego drivera w aplikacji PROMOTIC należy zaznajomić się z rozdziałem: Komunikacja przy pomocy driverów PROMOTIC.
 
Podstawowe właściwości drivera:
- Wykorzystanie tego drivera jest powiązane z zakupem licencji: PmABradley. Z wersją freeeware PmFree lub przy opracowywaniu aplikacji (z licencją deweloperską w celach testowania) element ten zawsze funkcjonuje.
- Komunikacja przebiega poprzez Ethernet.
- Aplikacja PROMOTIC jest z punktu widzenia tej komunikacji MASTER (tzn. wywołuje transmisję danych).
- Driver jest wbudowany do systemu PROMOTIC przy pomocy obiektu PmComm.

Driver umożliwia wykorzystanie obiektu PmCommData (do odczytu i zapisu zmiennych sterowniku). Obiekt PmCommMsg jest stosowany tylko do specjalnej pomocniczej wiadomości, która stwierdzi nazwy zmiennych, które można odczytywać ze sterownika (patrz dalej).

Dla łatwego dodania tego drivera do aplikacji jest dogodne zastosować: Konfiguracje wstępne w grupie "Sterowniki PLC Allen Bradley"

- Driver został przetestowany na PAC Allen-Bradley CompactLogix serii 5000 z firmware wersji 20. Ze starszymi wersjami firmware ten driver prawdopodobnie nie będzie funkcjonować.
 
Driver wspiera następujące typy danych:
- BOOL: w sterowniku jest prezentowany jako 1 bit. W aplikacji PROMOTIC jest reprezentowany przez typ danych: Boolean.
- SINT: w sterowniku 8-bitowa liczba całkowita ze znakiem (signed integer). W aplikacji PROMOTIC jest reprezentowany przez typ danych: Integer.
- INT: w sterowniku 16-bitowa liczba całkowita ze znakiem (signed integer). W aplikacji PROMOTIC jest reprezentowany przez typ danych: Integer.
- DINT: w sterowniku 32-bitowa liczba całkowita ze znakiem (signed integer). W aplikacji PROMOTIC jest reprezentowany przez typ danych: Long.
- LINT: w sterowniku 64-bitowa liczba całkowita ze znakiem (signed integer). W aplikacji PROMOTIC jest reprezentowany przez typ danych: Double.
- REAL: w sterowniku 32-bitowa liczba rzeczywista (float). W aplikacji PROMOTIC jest reprezentowany przez typ danych: Single.
- DWORD: w sterowniku 32-bitowa tablica bitów (zazwyczaj obszar bazowy dla zmiennych typu BOOL). W aplikacji PROMOTIC jest reprezentowany przez typ danych: Long.
- $STRING: w sterowniku struktura zawierająca długość (typ DINT) i tablicę znaków (typ SINT). Przedstawia tekst. W aplikacji PROMOTIC jest reprezentowany przez typ danych: String.
 
Zmienne (zwane również tagami) są deklarowane już podczas programowania sterownika. Deklaracją jest rozumiane określenie ich typu danych, wymiaru tablic i zdefiniowanie pozycji struktury, nazwanie zmiennej i ewentualnie nazwanie struktury. Projektant wytwarzający aplikację w systemie PROMOTIC w kolei pracuje z tymi właśnie nazwami. Nazwy zmiennych są w tym protokole często oznaczane jako symbole, deklaracje struktur danych jako szbalony (templates). Szablony mogą być deklarowane albo przez użytkownika, lub mogą zostać przejęte z bibliotek narzędziowych do programowania sterowników wspierających protokół CIP.
 

Zalecone wartości parametrów:

Zalecane wartości dla pozycji Parametry Ethernet:
Numer portu TCP/UDP44818
Typ transmisji EthernetTCP
Opis i zalecane wartości dla pozycji Parametry protokołu:
Numer portu w sterowniku PLC1 (ustaw według dokumentacji)
Numer gniazda w sterowniku0, numer pozycji w stojaku (ustaw według dokumentacji)
Priorytet tików5 (ustaw według dokumentacji)
Ilość tików na timeout247 (ustaw według dokumentacji)

Opis komunikacji przy pomocy obiektów PmCommData

Zmiennych w obiekcie PmCommData (albo jeszcze lepiej zmiennych w obiekcie PmData z rozszerzeniem danych ExtComm) może być dowolna ilości, mogą być dowolnego typu danych i w dowolnej kolejności. Driver sam w zoptymalizowany sposób odczyta dane z urządzenia przy pomocy wewnętrznie wytworzonych wiadomości komunikacyjnych.

Odczytywane są wszystkie zmienne (jeżeli jest włączony konfigurator Odświeżanie danych zezwolone). Przy zapisie do zmiennej do urządzenia jest odesłana tylko zapisywana zmienna (jeżeli jest wybrany konfigurator Automatycznie przesyłaj przy zapisie do pozycji).

 
Opis konfiguratora ItemID:

ItemId jest identyfikatorem tekstowym pozycji, który służy do adresacji parametru w urządzeniu. Z konfiguratora ItemID driver stwierdzi, w jaki sposób ma zostać wartość pozycji wczytana lub wysłana. Tekst można wpisać ręcznie, lub ułożyć przy pomocy okna, które zostanie otwarte przy pomocy przycisku wprawo od konfiguratora. Do wprowadzenia można wykorzystać Makro wyrażenie (wartość jest obliczana przy uruchomieniu aplikacji).

Wprowadzać ItemId przy pomocy przycisku po prawej od konfiguratora można tylko jeżeli jest wytworzony plik z informacjami o zmiennych w sterowniku. Plik ten można wytworzyć przy pomocy wiadomości PmCommMsg ("Wczytanie nazw wszystkich dostępnych zmiennych ze sterownika") - patrz dalej.

 
Pomiędzy nazwą struktury i pozycja struktury jest jako separator stosowana kropka (.). Indeksy tablic (indeksowane od 0) są zamknięte nawiasach kwadratowych ([ ]). Nie są dozwolone żadne dodatkowe spacje.

Przykłady formy identyfikatora:

1) W sterowniku jest pozycja elementarna (np. typu INT) o nazwie "Temperatura". Jeżeli chcemy odczytywać/zapisywać taką pozycję, wtedy ItemId będzie mieć następującą formę:
Temperatura
2) W sterowniku jest struktura o nazwie "station" a w niej znajduje się tablica o nazwie "data". Jeżeli chcemy odczytywać/zapisywać 23. pozycję tej tablicy, wtedy ItemId będzie mieć następującą formę:
station.data[23]
3) W sterowniku jest struktura "heating", w niej znajduje się tablica "Kociol". Każda pozycja z tej tablicy jest strukturą zawierającą pozycję "Temperatura". Chcemy odczytywać/zapisywać do 0. (tzn. pierwszej pozycji) pozycji tablicy:
heating.Kociol[0].Temperatura
4) W sterowniku jest 3-wymiarowa tablica o nazwie "warehouse" i chcemy odczytywać zapisywać wartość o współrzędnych [12,11,5]:
warehouse[12][11][5]
5) Odczyt i zapis łańcucha: W sterowniku jest struktura o nazwie na przykład "label", która zawiera pozycję typu DINT (długość tekstu) i tablicę znaków typu SINT. Taka struktura może przedstawiać tekst i jeżeli taki tekst chcemy odczytywać/zapisywać, wtedy ItemId musi mieć formę:
label,type=STRING
Opis konfiguratora PmCommData > Parametry > Parametry specjalne:
Niniejszy konfigurator nie jest stosowany przez dany driver.

Opis komunikacji przy pomocy obiektów PmCommMsg

Obiekty PmCommMsg można wykorzystać do specjalnych komunikacji, których nie można wykonać przy pomocy obiektu PmCommData. W przypadku tego drivera komunikacyjnego jest zaimplementowana tylko jedna specjalna wiadomość:
 
- Wczytanie nazw wszystkich dostępnych zmiennych ze sterownika:

W celu poprawnego ustawienia konfiguratora ItemId w zmiennych dla obiektu PmCommData jest konieczna znajomość nazw zmiennych zdefiniowanych przez użytkownika, pozycji struktur czy wymiarów tablic w sterowniku. Taką informację można odczytać ze sterownika i to właśnie wykonuje ta wiadomość:

Wiadomość odczyta informacje i zapisze je do pliku tekstowego w zakładce Dane-odbiór. Jeżeli tekst ten zostanie zapisany do pliku (standardowo o nazwie "ABradleyVarCfg.txt"), wtedy w konfiguratorze ItemId można wykorzystać przycisk po prawej, który odczyta określony plik i wyświetli go w formie struktury drzewiastej, z której można wybierać konkretne pozycje danych.

W celu poprawnego wytworzenia i ustawienia obiektu PmCommMsg jest dogodne zastosować konfigurację wstępną: Konfiguracja wstępna "PmABradleyCIP - Zestaw komunikacji z danymi i panelem poprzez protokół EtherNetIP/CIP (dla ControlLogix, CompactLogix, ...)". Jeżeli w tej konfiguracji wstępnej zaznaczysz konfigurator "Wytwórz PmCommMsg dla wczytania zmiennych ze sterownika PLC", wtedy zostanie wytworzony poprawnei ustawiony obiekt PmCommMsg razem z panelem, w któreym można wiadomość uruchomić i odczytać w ten sposób informacje ze sterownika. W zdarzeniu onEndOfTransfer tego obiektu znajduje się skrypt, który odczytane informacje tekstowe zapisze do pliku "ABradleyVarCfg.txt".

 
W zakładce Dane-wysłanie nie ma żadnej zmiennej.
W zakładce Dane-odbiór znajdujuą się zmienne:
InfoVars - Do tej zmiennej zostaną zapisane informacje tekstowe o dostępnych zmiennych w sterowniku PLC.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice