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).
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:
Ilość bitów informacji | 8 |
Parzystość | NO (żaden) |
Ilość bitów stopu | 1 |
---|
Numer zdalnego portu TCP/UDP | 44818 (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 Ethernet | TCP (dla "Zakapsułkowanie do EtherNet/IP") |
Podłączyć dopiero przy pierwszej transmisji | NIE zaznaczać (obowiązkowe) - Tylko dla "Zakapsułkowanie do EtherNet/IP" |
Zamknij połączenie po każdej transmisji | NIE 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" |
---|
Timeout odbioru odpowiedzi | Wyłą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łu | Wyłą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 Protocol | Określa tryb transmisji
Full-duplex - (standardowo)
Half-duplex |
Typ adresacji | Okreś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 PLC | Tylko dla "Zakapsułkowanie do EtherNet/IP".
Domyślną wartością jest 1. |
Numer slotu w sterowniku PLC | Tylko dla "Zakapsułkowanie do EtherNet/IP".
Domyślną wartością jest 0. |
Class | Tylko 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 point | Tylko 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 |
Adres urządzenia | Adres 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ści | W 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.