Promotic
WikipediaLinkedInYoutubeTwitterFacebook

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

Niniejszy driver służy do komunikacji ze sterownikami PLC Allen Bradley firmy Rockwell Automation poprzez protokół DF1. Patrz również Komunikacja ze sterownikami PLC Allen Bradley firmy Rockwell Automation.
 
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:
- Zastosowanie tego drivera wymaga zakup licencji: PmABradley. Z wersją freeeware PmFree lub przy opracowywaniu aplikacji (z licencją deweloperską w celach testowania) element ten zawsze funkcjonuje.
- 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 jest możliwy do ustawienia w parametrach protokołu w konfiguratorze "Link Protocol". Tryb Full-duplex jest stosowany do połączeń 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 w przypadku, kiedy 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 PLC MicroLogix z wyjściem 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 stosowanie obiektów PmCommMsg oraz PmCommData. Dla zwykłych przypadków transmisji danych jest bardziej dogodne zastosowanie obiektu PmCommData.

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

 
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.
- bit: Jeden bit. Dotyczy tylko PmCommData. W aplikacji PROMOTIC jest reprezentowany przez typ danych: Boolean.
- Byte: 1-bajtowa liczba całkowita (od 0 do 255). Dotyczy tylko PmCommMsg. 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 jest zawsze tylko jeden taki obszar i ma zawsze numer 0.
- I - Input: Plik wejść. W sterowniku jest zawsze tylko jeden taki obszar i ma zawsze numer 1.
- S - Status: Plik wartości stanu. W sterowniku jest zawsze tylko jeden taki obszar i ma zawsze numer 2.
- B - Binary: Plik wartości binarnych. W sterowniku może być kilka takich obszarów, lecz pierwszy ma zawsze numer 3.
- T - Timer: Plik dla timerów. W sterowniku może być kilka takich obszarów, lecz pierwszy ma zawsze numer 4. Ten typ na razie nie funkcjonuje w obiektach PmCommData.
- C - Counter: Plik dla liczników. W sterowniku może być kilka takich obszarów, lecz pierwszy ma zawsze numer 5. Ten typ na razie nie funkcjonuje w obiektach PmCommData.
- R - Control: Plik wartości sterujących. W sterowniku może być kilka takich obszarów, lecz pierwszy ma zawsze numer 6. Ten typ na razie nie funkcjonuje w obiektach PmCommData.
- N - Integer: Plik dla wartości całkowitoliczbowych. W sterowniku może być kilka takich obszarów, lecz pierwszy ma zawsze numer 7.
- F - Float: Plik dla wartości zmiennoprzecinkowych. W sterowniku może być kilka takich obszarów, lecz pierwszy ma zawsze numer 8. Sterowniki niższych serii (Micrologix1000) nie wspierają liczb rzeczywistych, lecz na przykład Micrologix1100 już wspierają liczby rzeczywiste.
 

Zalecone wartości parametrów:

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:
Numer portu TCP/UDP44818 (dla "Zakapsułkowanie do EtherNet/IP")
Typ transmisji EthernetTCP (dla "Zakapsułkowanie do EtherNet/IP")
Opis i zalecane wartości dla pozycji Parametry protokołu:
Limit czasu odbioru odpowiedziWyłącznie dla łącza szeregowego. Domyślnie ustawione na 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żliwe opcje:
Dane takie same jak dla łącza szeregowego - Opcję tą można wybrać na przykład w przypadku, kiedy 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 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
Numer portu w PLCTylko do "Zakapsułkowanie do EtherNet/IP". Wstępnie ustawioną wartością jest 1.
Numer slotu w PLCTylko do "Zakapsułkowanie do EtherNet/IP". Wstępnie ustawioną wartością jest 0.
priorytet/czas tyknięcia (PLC)Tylko do "Zakapsułkowanie do EtherNet/IP". Wstępnie ustawioną wartością jest 5.
Ilość tyknięć na time-out (PLC)Tylko do "Zakapsułkowanie do EtherNet/IP". Wstępnie ustawioną wartością jest 247.

Opis komunikacji przy pomocy obiektów PmCommData

Dla niniejszego drivera komunikacyjnego można zastosować obiekty PmCommData. Dla zwykłych transmisji danych jest to bardziej dogodne niż zastosowanie obiektu PmCommMsg.

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 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 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 zastosować Makro wyrażenie (wartość jest obliczana przy uruchomieniu aplikacji).

Przykłady formy identyfikatora:

ItemId Opis
"O:4:Word" O=Typ DataFile=Output, 4=Fizyczny adres słowa w DataFile, Numer DataFile nie jest wprowadzany, ponieważ ma zawsze wartość 0., Wartość słowa jest następującego typu danych: Word = Integer unsigned
"I:1/2" I=Typ DataFile=Input, 1=Fizyczny adres słowa 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 słowa 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 słowa w DataFile, Wartość słowa jest następującego typu danych: Word = Integer unsigned
"N7:0" N=Typ DataFile=Integer, 7=Numer DataFile, 0=Fizyczny adres słowa w DataFile. Wartość słowa jest następującego typu danych: Int = Integer signed
"N7:0:Word" To samo co poprzednio, tylko wartość ma typu danych Word = Integer unsigned.
"N7:0/1" To samo co poprzednio, lecz z wartości słowa 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 słowa w DataFile. Wartość słowa jest następującego typu danych: Float
Opis konfiguratora PmCommData > Parametry > Parametry specjalne:
Adres PLCAdres sterownika PLC, z którym m abyć prowadzona komunikacja. Sterownik ma często ustawiony adres na wartość 0.
Maks. wielkość danych (w bajtach) dla 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 obiektów PmCommMsg

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 zakładce Dane-wysłanie znajdują się zmienne:
- "PlcAddr": Adres sterownika PLC, z którym m abyć prowadzona komunikacja. Sterownik 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 timeró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 zapisz łańcuch odługości dokładnie 10 znaków.
- Set ENQs: Ustawia maksymalną ilość ENQ. Nie wspierają sterowniki z serii SLC 500.
- Set NAKs: Ustawia maksymalną ilość NAK. Nie wspierają sterowniki z serii SLC 500.
- Set Timeout: Ustawia timeout. Nie wspierają sterowniki z serii SLC 500.
- Set Variables: Ustawia maksymalną ilość ENQ, maksymalną ilość NAK i timeout. Nie wspierają sterowniki z serii SLC 500.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice