Promotic

PmABradleyDF1 - Driver do komunikacji ze sterownikami PLC Allen Bradley poprzez protokół DF1

Driver ten służy do komunikacji ze sterownikami PLC Allen Bradley od firmy Rockwell Automation poprzez protokół DF1. Patrz również Komunikacja ze sterownikami PLC Allen Bradley od firmy Rockwell Automation.

Przed zastosowaniem tego drivera w aplikacji PROMOTIC należy obejżeć "PROMOTIC wideo kurs 4 - Drivery komunikacyjne".

Podstawowe właściwości drivera:
- Zastosowanie tego drivera wymaga zakup licencji PmABradley. Podczas wytwarzania aplikacji w trybie freeware PmFree lub z licencją deweloperską oraz podczas jej testowania w runtime element ten jest zawsze funkcjonalny.
- Protokół oferuje 3 rodzaje komunikacji:
- po łączu szeregowym komputera (COM1, COM2 ...): Komunikacja poprzez protokół DF1 może przebiegać w trybie Full-duplex (standardowo, RS232) lub Half-duplex (RS422/RS485). Tryb ten w systemie PROMOTIC można ustawić w parametrach protokołu w konfiguratorze "Link Protocol". Tryb Full-duplex jest stosowany do połączenia typu punkt-punkt (tzn. jeden PC-Master i jeden PLC-Slave). Tryb Half-duplex jest stosowany do specjalnych połączeń większej ilości stacji PLC Slave do jednego PC.
- poprzez Ethernet emulowanym łączem szeregowym: Opcję tą można wybrać na przykład jeżeli urządzenie jest wyposażone w łącze szeregowe i przy pomocy konwertera RS232/Ethernet jest podłączone do Ethernetu. Jeżeli konwerter nie zmienia transmitowanych danych, wtedy można w ten prosty sposób komunikować się poprzez Ethernet z urządzeniem, które nie posiada wyjścia Ethernet.
- poprzez Ethernet z zakapsułkowaniem protokołu DF1 do protokołu EtherNet/IP: opcja ta jest na przykład dla sterowników PLC MicroLogix z wyjściem Ethernet.
- Aplikacja PROMOTIC jest z punktu widzenia tej komunikacji Master (to znaczy, że wywołuje transmisję danych).
- Driver jest wbudowany do systemu PROMOTIC przy pomocy obiektu PmaComm.
Driver wspiera zastosowanie obiektów PmaCommMsg oraz PmaCommGroup. Dla zwykłych przypadków transmisji danych dogodniejszym jest zastosowanie obiektu PmaCommGroup.
Dla łatwego dodania tego drivera do aplikacji jest dogodne zastosować: Konfiguracje wstępne w grupie "Allen Bradley - sterownik PLC"


Typy danych:
Driver wspiera następujące typy danych:
- Int = Integer signed: 2-bajtowa liczba całkowita (od -32 768 do +32 767).
W aplikacji PROMOTIC jest reprezentowany przez typ danych Integer.
- Word = Integer unsigned: 2-bajtowa liczba całkowita (od 0 do 65 535).
W aplikacji PROMOTIC jest reprezentowany przez typ danych Long.
- Float: 4-bajtowa liczba rzeczywista.
W aplikacji PROMOTIC jest reprezentowany przez typ danych Single.
- Long: 4-bajtowa liczba całkowita.
W aplikacji PROMOTIC jest reprezentowany przez typ danych Long.
Tylko dla obszar obszar L - Long.
- bit: Jeden bit. Tylko dla obiekt PmaCommGroup.
W aplikacji PROMOTIC jest reprezentowany przez typ danych Boolean.
- Byte: 1-bajtowa liczba całkowita (od 0 do 255). Tylko dla obiekt PmaCommMsg.
W aplikacji PROMOTIC jest reprezentowany przez typ danych Byte.


Typy obszarów danych (DataFile):
Driver wspiera następujące typy DataFile. DataFile o numerze większym niż 8 trzeba przed ich zastosowaniem najpierw "zaalokować programowo".
- O - Output: Plik wyjść. W sterowniku PLC jest zawsze tylko jeden taki obszar i ma zawsze numer 0.
- I - Input: Plik wejść. W sterowniku PLC jest zawsze tylko jeden taki obszar i ma zawsze numer 1.
- S - Status: Plik wartości stanu. W sterowniku PLC jest zawsze tylko jeden taki obszar i ma zawsze numer 2.
- B - Binary: Plik wartości binarnych. W sterowniku PLC może być kilka takich obszarów, lecz pierwszy ma zawsze numer 3.
- T - Timer: Plik dla czasomierzów. W sterowniku PLC może być kilka takich obszarów, lecz pierwszy ma zawsze numer 4. Ten typ na razie nie działa dla obiektu PmaCommGroup.
- C - Counter: Plik dla liczników. W sterowniku PLC może być kilka takich obszarów, lecz pierwszy ma zawsze numer 5. Ten typ na razie nie działa dla obiektu PmaCommGroup.
- R - Control: Plik wartości sterujących. W sterowniku PLC może być kilka takich obszarów, lecz pierwszy ma zawsze numer 6. Ten typ na razie nie działa dla obiektu PmaCommGroup.
- N - Integer: Plik dla wartości całkowitoliczbowych (2-bajtowa liczba całkowita). W sterowniku PLC może być kilka takich obszarów, lecz pierwszy ma zawsze numer 7.
- F - Float: Plik dla wartości zmiennoprzecinkowych. W sterowniku PLC może być kilka takich obszarów, lecz pierwszy ma zawsze numer 8. Sterowniki PLC niższych serii (Micrologix1000) nie wspierają liczb rzeczywistych, lecz na przykład Micrologix1100 już wspierają liczby rzeczywiste.
- L - Long: Plik dla wartości całkowitoliczbowych (4-bajtowa liczba całkowita).


Zalecone wartości parametrów obiektu PmaComm:

Zalecane wartości dla pozycji Parametry łącza szeregowego:
Ilość bitów informacji8
ParzystośćNO (żaden)
Ilość bitów stopu1
Zalecane wartości dla pozycji Parametry Ethernet-klient:
Numer zdalnego portu TCP/UDP44818 (dla "Zakapsułkowanie do EtherNet/IP")
 
Patrz: Wikipedia: Lista numerów portów TCP i UDP używanych przez protokoły do uruchamiania aplikacji sieciowych.
Typ transmisji EthernetTCP (dla "Zakapsułkowanie do EtherNet/IP")
Podłączyć dopiero przy pierwszej transmisjiNIE zaznaczać (obowiązkowe) - Tylko dla "Zakapsułkowanie do EtherNet/IP"
Zamknij połączenie po każdej transmisjiNIE zaznaczać (obowiązkowe). Po każdym nawiązaniu połączenia jest konieczne przenieść kilka wiadomości inicjalizacyjnych i gdyby połączenie było często zamykane to szybkość transmisji została by znacząco obniżona. - Tylko dla "Zakapsułkowanie do EtherNet/IP"
Opis i zalecane wartości dla pozycji Parametry protokołu:
Timeout odbioru odpowiedziWyłącznie dla łącza szeregowego.
Domyślną wartością jest 1000 ms. Okres czasu (w milisekundach) w którym driver będzie oczekiwać na odpowiedź po odesłaniu wiadomości.
Jeżeli do tego czasu nie zostanie odebrana żadna odpowiedź, wtedy transmisja wiadomości zostanie zakończona (zostanie wywołane zdarzenie onEndOfTransfer z błędem 24 lub 66).
Typ danych protokołuWyłącznie dla Ethernetu. Określa wygląd danych protokołu. Można wybrać:
Dane takie same jak dla łącza szeregowego - Opcję tą można wybrać na przykład jeżeli urządzenie jest wyposażone w łącze szeregowe i przy pomocy konwertera RS232/Ethernet jest podłączone do Ethernetu. Jeżeli konwerter nie zmienia transmitowanych danych, wtedy można w ten prosty sposób komunikować się poprzez Ethernet z urządzeniem, które nie posiada wyjścia Ethernet.
Zakapsułkowanie do EtherNet/IP - opcja ta jest na przykład dla sterowników PLC MicroLogix z wyjściem Ethernet.
Master adres (SRC)Numer stacji PROMOTIC (na przykład 0).
Typ sumy kontrolnej
BCC
CRC
Link ProtocolOkreśla tryb transmisji
Full-duplex - (standardowo)
Half-duplex
Typ adresacjiOkreśla, czy komunikacja będzie przebiegać bezpośrednio ze sterownikami PLC lub poprzez bridge. Tylko dla "Zakapsułkowanie do EtherNet/IP".
Bezpośredni adres urządzenia - Komunikacja będzie przebiegać bezpośrednio z PLC.
Zdalny roating - Komunikacja będzie przebiegać poprzez bridge.
Numer portu w sterowniku PLCTylko dla "Zakapsułkowanie do EtherNet/IP".
Domyślną wartością jest 1.
Numer slotu w sterowniku PLCTylko dla "Zakapsułkowanie do EtherNet/IP".
Domyślną wartością jest 0.
ClassTylko dla "Zakapsułkowanie do EtherNet/IP" oraz "Typ adresacji = Zdalny roating".
Instance (Channel)Tylko dla "Zakapsułkowanie do EtherNet/IP" oraz "Typ adresacji = Zdalny roating".
Connection pointTylko dla "Zakapsułkowanie do EtherNet/IP" oraz "Typ adresacji = Zdalny roating".
priorytet/czas tyknięcia (PLC)Tylko dla "Zakapsułkowanie do EtherNet/IP".
Domyślną wartością jest 5.
Ilość tyknięć na time-out (PLC)Tylko dla "Zakapsułkowanie do EtherNet/IP".
Domyślną wartością jest 247.

Opis komunikacji przy pomocy obiektu PmaCommGroup

Dla niniejszego drivera komunikacyjnego można zastosować obiekty PmaCommGroup. Dla zwykłych transmisji danych jest to bardziej dogodne niż zastosowanie obiektu PmaCommMsg.
Zmiennych w obiekcie PmaCommGroup (lub jeszcze lepiej zmiennych w obiekcie PmaData 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 konfigurator "Odświeżanie danych zezwolone" jest zaznaczony). Przy zapisie do zmiennej do urządzenia jest odesłana tylko zapisywana zmienna (jeżeli konfigurator "Automatycznie przesyłaj przy zapisie do pozycji" jest zaznaczony).

Opis konfiguratora "ItemId":
ItemId jest identyfikator tekstowy pozycji, który służy do adresacji pozycji 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ć w oknie, które zostanie otwarte przy pomocy przycisku wprawo od konfiguratora.
Do wprowadzenia można zastosować Makro wyrażenie (wartość jest obliczana po uruchomieniu aplikacji).
Przykłady formy identyfikatora:
ItemId Opis
"O:4:Word" O=Typ DataFile=Output, 4=Fizyczny adres wartości w DataFile, Numer DataFile nie jest wprowadzany, ponieważ ma zawsze wartość 0., Wartość jest następującego typu danych: Word = Integer unsigned
"I:1/2" I=Typ DataFile=Input, 1=Fizyczny adres wartości w DataFile, Numer DataFile nie jest wprowadzany, ponieważ ma zawsze wartość 1., Z wartości jest odczytywany drugi bit. Brak możliwości zapisu.
"I:1/2w" To samo jak poprzednio, tylko bit można również zapisać.
"S:1/2" S=Typ DataFile=Status, 1=Fizyczny adres wartości w DataFile, Numer DataFile nie jest wprowadzany, ponieważ ma zawsze wartość 2., Z wartości jest odczytywany drugi bit. Brak możliwości zapisu.
"S:1/2w" To samo jak poprzednio, tylko bit można również zapisać.
"B3:2:Word" B=Typ DataFile=Binary, 3=Numer DataFile, 2=Fizyczny adres wartości w DataFile, Wartość jest następującego typu danych: Word = Integer unsigned
"N7:0" N=Typ DataFile=Integer, 7=Numer DataFile, 0=Fizyczny adres wartości w DataFile. Wartość jest następującego typu danych: Int = Integer signed
"N7:0:Word" To samo co poprzednio, tylko wartość jest typu danych Word = Integer unsigned.
"N7:0/1" To samo co poprzednio, lecz z wartości jest odczytywany tylko pierwszy bit. Brak możliwości zapisu.
"N7:0/1w" To samo jak poprzednio, tylko bit można również zapisać.
"F8:5" F=Typ DataFile=Float, 8=Numer DataFile, 5=Fizyczny adres wartości w DataFile. Wartość jest następującego typu danych: Float
"L102:1" L=Typ DataFile=Long, 102=Numer DataFile, 1=Fizyczny adres wartości w DataFile. Wartość jest następującego typu danych: Long


Opis konfiguratora "PmaCommGroup > Parametry > Parametry specjalne":
Adres urządzeniaAdres urządzenia, z którym ma być prowadzona komunikacja.
Urządzenie ma często ustawiony adres na wartość 0.
Maks. wielkość danych (w bajtach) w jednej wiadomościW tym miejscu jest wprowadzane ograniczenie długości jednej wiadomośći komunikacyjnej.
- 82 Bytes (domyślnie) dla SLC 5/01 lub SLC 5/02.
- 234 Bytes dla SLC 5/03 lub SLC 5/04.

Opis komunikacji przy pomocy obiektu PmaCommMsg

Lista oraz opis wiadomości komunikacyjnych:
 
- Protected Typed Logical Read: Odczyt danych przy pomocy adresu logicznego.
Wielkość odczytywanych danych nie powinna przekroczyć 230 bajtów.
(Odczyt ten wykonywany jest poleceniem komunikacyjnym, gdzie CMD=0F oraz FNC=A2.)
W karcie "Dane-wysłanie" znajdują się zmienne:
- "PlcAddr": Adres urządzenia, z którym ma być prowadzona komunikacja.
Urządzenie ma często ustawiony adres na wartość 0.
- "FN" (Numer DataFile): Określa obszar, z którego będzi eprzebiegać odczyt wartości. Może uzyskiwać wartości od 0 do 254. Pierwsze dziewięć jest zawsze wstępnie ustawionych (patrz Typy obszarów danych (DataFile)).
- "EN" (Element number): Indeks pozycji do odczytu w DataFile. Może uzyskiwać wartości od 0 do 254.
- "SEN" (Subelement number): Trzeba wprowadzić tylko jeżeli pozycja nie została jednoznacznie określona przy pomocy "Element number" (np. obszar pliku binarnego). W innym przypadku zalecamy nie wprowadzanie wartości "Sub-Element number", lub wprowadzenie wartości 0. Może uzyskiwać wartości od 0 do 254.
- Protected Typed Logical Write: Zapis danych przy pomocy adresu logicznego. Wielkość danych nie powinna przekroczyć 230 bajtów.
(Zapis ten wykonywany jest poleceniem komunikacyjnym, gdzie CMD=0F oraz FNC=AA.)
Znaczenie wartości "FN", "EN", "SEN" jest opisane w opisie wiadomości "Protected Typed Logical Read".


- Diagnostic Counters Reset: Ustawienie wszystkich liczników i czasomierzów na 0.
- Diagnostic Loop: Służy do testowania komunikacji. Poprawność komunikacji jest uwarunkowana zgodnością Łańcucha próbnego przy nadawaniu i przy odbiorze. Do zmiennej Łańcuch próby wprowadź łańcuch odługości dokładnie 10 znaków.
- Set ENQs: Ustawia maksymalną ilość ENQ. Nie wspierają sterowniki PLC serii PLC SLC 500.
- Set NAKs: Ustawia maksymalną ilość NAK. Nie wspierają sterowniki PLC serii PLC SLC 500.
- Set Timeout: Ustawia timeout. Nie wspierają sterowniki PLC serii PLC SLC 500.
- Set Variables: Ustawia maksymalną ilość ENQ, maksymalną ilość NAK i timeout. Nie wspierają sterowniki PLC serii PLC SLC 500.

Historia:
Pm9.00.01: Uogólnienie o obszar danych typu "L - Long".
Pm8.03.27: Uogólnienie komunikacji Ethernet dla adresacji poprzez bridge. Patrz nowy konfigurator "Typ adresacji".
Pm8.03.11:
- Teraz można wprowadzić w ItemId adresy większe niż 254.
- Usunięty błąd: W przypadku EtherNet/IP podczas odczytu nietestowano znacznik błędu STS.
Pm8.03.10: Usprawniony zapis jednego bitu.
Pm8.03.09: Usunięty błąd: Komunikacja nie działała jeżeli w jednym z obiektów PmaCommGroup znajdowały się zmienne wymagające dane z różnych numerów DataFile.
Pm8.02.00: Uogólnienie dla EtherNet/IP.
Zmieniona nazwa drivera i licencji (poprzednia nazwa PmDF1).
Pm8.01.01: Uogólnienie do zastosowania w obiekcie PmaCommGroup.
Pm8.01.00: Uogólnienie dla Ethernetu.
Pm8.00.11: Usunięty błąd: Jeżeli sterownik PLC odpowiedział negatywnie, wtedy została zatrzymana transmisja danych.
© MICROSYS, spol. s r.o.