Tento ovladač slouží pro komunikaci s PLC automaty
Allen Bradley od firmy
Rockwell Automation protokolem
DF1. Viz také
Komunikace s PLC automaty Allen Bradley od firmy Rockwell Automation.
Před použitím tohoto ovladače v aplikaci PROMOTIC je vhodné shlédnout "
PROMOTIC video kurz 4 - Komunikační ovladače".
Základní vlastnosti ovladače:
- Použití tohoto ovladače vyžaduje zakoupení
licence PmABradley. Při vývoji aplikace ve freeware módu
PmFree nebo s
vývojovou licencí a při jejím testování v runtime je tato komponenta vždy funkční.
- Protokol nabízí 3 druhy komunikace:
- přes sériový port počítače (
COM1, COM2 ...): Komunikace přes protokol
DF1 může probíhat v režimu
Full-duplex (standardně,
RS232) nebo
Half-duplex (
RS422/RS485). Tento režim lze nastavit v systému PROMOTIC v parametrech protokolu v konfigurátoru "
Link Protocol". Režim
Full-duplex se používá pro připojení typu bod-bod (tzn. jedno PC-
Master a jedno PLC-
Slave). Režim
Half-duplex se používá pro speciální připojení více
Slave stanic PLC k jednomu PC.
- přes Ethernet emulovanou sériovou linkou: Tuto volbu lze vybrat například pokud zařízení má sériovou linku a převodníkem RS232/Ethernet je zapojeno do Ethernetu. Pokud převodník nemění přenášená data, pak lze takto jednoduše komunikovat přes Ethernet se zařízením, který nemá Ethernet výstup.
- přes Ethernet se zapouzdřením protokolu DF1 do protokolu EtherNet/IP: toto je volba například pro PLC automaty MicroLogix s Ethernet výstupem.
- Aplikace PROMOTIC je z hlediska této komunikace vždy Master (to znamená, že dává podnět pro přenos dat).
Datové typy:
Ovladač podporuje následující datové typy:
-
Int = Integer signed:
2-bajt celé číslo (od
-32 768 do
+32 767).
V aplikaci PROMOTIC je reprezentován datovým typem
Integer.
-
Word = Integer unsigned:
2-bajt celé číslo (od
0 do
65 535).
V aplikaci PROMOTIC je reprezentován datovým typem
Long.
-
Float:
4-bajt reálné číslo.
V aplikaci PROMOTIC je reprezentován datovým typem
Single.
-
Long:
4-bajt celé číslo.
V aplikaci PROMOTIC je reprezentován datovým typem
Long.
Pouze pro datovou oblast
L - Long.
-
bit:
Jeden bit. Pouze pro objekt
PmaCommGroup.
V aplikaci PROMOTIC je reprezentován datovým typem
Boolean.
-
Byte: 1-bajt celé číslo (od
0 do
255). Pouze pro objekt
PmaCommMsg.
V aplikaci PROMOTIC je reprezentován datovým typem
Byte.
Typy datových oblastí (DataFile):
Ovladač podporuje následující typy
DataFile.
DataFile s číslem větším než 8 je nutno před jejím použitím nejprve "programově alokovat".
-
O - Output:
Soubor výstupů. V PLC automatu je jen jedna taková oblast a má vždy číslo
0.
-
I - Input:
Soubor vstupů. V PLC automatu je jen jedna taková oblast a má vždy číslo
1.
-
S - Status:
Soubor status hodnot. V PLC automatu je jen jedna taková oblast a má vždy číslo
2.
-
B - Binary:
Soubor binárních hodnot. V PLC automatu může být více takových oblastí ale první má vždy číslo
3.
-
T - Timer: Soubor pro časovače. V PLC automatu může být více takových oblastí ale první má vždy číslo
4. Tento typ zatím není funkční pro objekt
PmaCommGroup.
-
C - Counter: Soubor pro čítače. V PLC automatu může být více takových oblastí ale první má vždy číslo
5. Tento typ zatím není funkční pro objekt
PmaCommGroup.
-
R - Control: Soubor řidících hodnot. V PLC automatu může být více takových oblastí ale první má vždy číslo
6. Tento typ zatím není funkční pro objekt
PmaCommGroup.
-
N - Integer:
Soubor pro celá čísla (2-bajt celé číslo). V PLC automatu může být více takových oblastí ale první má vždy číslo
7.
-
F - Float:
Soubor pro reálná čísla. V PLC automatu může být více takových oblastí ale první má vždy číslo
8. PLC automaty nižší řady (
Micrologix1000) reálná čísla nepodporují, ale například
Micrologix1100 již reální čísla podporuje.
-
L - Long:
Soubor pro celá čísla (4-bajt celé číslo).
Doporučené hodnoty parametrů objektu PmaComm:
Počet datových bitů | 8 |
Parita | NO (žádná) |
Počet stopbitů | 1 |
---|
Číslo vzdáleného TCP/UDP portu | 44818 (pro "Zapouzdření do EtherNet/IP")
Viz: Wikipedia: Seznam čísel portů TCP a UDP používaných protokoly pro provoz síťových aplikací. |
Typ Ethernet přenosu | TCP (pro "Zapouzdření do EtherNet/IP") |
Připojit až při prvním přenosu | NEzatrhnout (povinné) - Pouze pro "Zapouzdření do EtherNet/IP" |
Zavřít spojení po každém přenosu | NEzatrhnout (povinné). Po každém navázání spojení je nutno přenést několik inicializačních zpráv a kdyby se spojení často uzavíralo tak by se velmi snížila rychlost komunikace. - Pouze pro "Zapouzdření do EtherNet/IP" |
---|
Timeout příjmu odpovědi | Jen pro sériovou linku.
Výchozí hodnota je 1000 ms. Čas (v milisekundách) po který bude ovladač čekat na odpověď při vyslání zprávy.
Pokud do této doby nepřijde vyžádaná odpověď, pak se přenos zprávy ukončí (je vyvolána událost onEndOfTransfer s chybou 24 nebo 66). |
Typ dat protokolu | Jen pro Ethernet. Určuje tvar dat protokolu. Lze zvolit:
Stejná data jak pro sériovou linku - Tuto volbu lze vybrat například pokud zařízení má sériovou linku a převodníkem RS232/Ethernet je zapojeno do Ethernetu. Pokud převodník nemění přenášená data, pak lze takto jednoduše komunikovat přes Ethernet se zařízením, který nemá Ethernet výstup.
Zapouzdření do EtherNet/IP - toto je volba například pro PLC automaty MicroLogix s Ethernet výstupem. |
Adresa Master (SRC) | Číslo stanice PROMOTIC (například 0). |
Typ kontrolního součtu |
BCC
CRC |
Link Protocol | Určuje režim přenosu
Full-duplex - (standardně)
Half-duplex |
Typ adresování | Určuje, zda se bude komunikovat přímo s PLC automaty nebo přes bridge. Pouze pro "Zapouzdření do EtherNet/IP".
Přímá adresa zařízení - Bude se komunikovat přímo s PLC automatem.
Vzdálené routování - Bude se komunikovat přes bridge. |
Číslo portu v PLC automatu | Pouze pro "Zapouzdření do EtherNet/IP".
Výchozí hodnota je 1. |
Číslo slotu v PLC automatu | Pouze pro "Zapouzdření do EtherNet/IP".
Výchozí hodnota je 0. |
Class | Pouze pro "Zapouzdření do EtherNet/IP" a "Typ adresování = Vzdálené routování". |
Instance (Channel) | Pouze pro "Zapouzdření do EtherNet/IP" a "Typ adresování = Vzdálené routování". |
Connection point | Pouze pro "Zapouzdření do EtherNet/IP" a "Typ adresování = Vzdálené routování". |
priorita/tiku (PLC) | Pouze pro "Zapouzdření do EtherNet/IP".
Výchozí hodnota je 5. |
Počet tiků na time-out (PLC) | Pouze pro "Zapouzdření do EtherNet/IP".
Výchozí hodnota je 247. |
---|
Popis komunikace pomocí objektu PmaCommGroup
Pro tento ovladač lze použít objekty
PmaCommGroup. Pro běžné případy přenosu dat je to výhodnější než použít objekt
PmaCommMsg.
Proměnné v objektu
PmaCommGroup (nebo ještě lépe proměnné v objektu
PmaData s datovým rozšířením
ExtComm) mohou být v libovolném množství, libovolného typu v libovolném pořadí. Ovladač sám optimálním způsobem vnitřně vytvořenými komunikačními zprávami vyčítá data ze zařízení.
Proměnné se vyčítají všechny (pokud konfigurátor "
Obnovování dat povoleno" je zatržen). Při zápisu do proměnné se posílá do zařízení jen tato jedna proměnná (pokud konfigurátor "
Automaticky zasílat při zápisu do položky" je zatržen).
Popis konfigurátoru "ItemId":
ItemId je textový identifikátor položky, který slouží k adresaci položky v zařízení. Z konfigurátoru
ItemId ovladač pozná, jak se má hodnota položky přijímat nebo vysílat.
Text lze buď napsat ručně, nebo sestavit v okně, které se otevře tlačítkem vpravo od konfigurátoru.
Pro zadání lze použít
Makro výraz (vyhodnocuje se po spuštění aplikace).
Příklady tvaru identifikátoru:
ItemId |
Popis |
"O:4:Word" |
O=Typ DataFile=Output, 4=Fyzická adresa hodnoty v DataFile, Číslo DataFile se nezadává, protože má vždy číslo 0., Hodnota je datového typu: Word = Integer unsigned |
"I:1/2" |
I=Typ DataFile=Input, 1=Fyzická adresa hodnoty v DataFile, Číslo DataFile se nezadává, protože má vždy číslo 1., Z hodnoty se čte druhý bit. Nelze zapisovat. |
"I:1/2w" |
Stejné jako předchozí, ale bit lze i zapisovat. |
"S:1/2" |
S=Typ DataFile=Status, 1=Fyzická adresa hodnoty v DataFile, Číslo DataFile se nezadává, protože má vždy číslo 2., Z hodnoty se čte druhý bit. Nelze zapisovat. |
"S:1/2w" |
Stejné jako předchozí, ale bit lze i zapisovat. |
"B3:2:Word" |
B=Typ DataFile=Binary, 3=Číslo DataFile, 2=Fyzická adresa hodnoty v DataFile, Hodnota je datového typu: Word = Integer unsigned |
"N7:0" |
N=Typ DataFile=Integer, 7=Číslo DataFile, 0=Fyzická adresa hodnoty v DataFile. Hodnota je datového typu: Int = Integer signed |
"N7:0:Word" |
Stejné jako předchozí, ale hodnota je datového typu Word = Integer unsigned. |
"N7:0/1" |
Stejné jako předchozí, ale z hodnoty se čte pouze první bit. Nelze zapisovat. |
"N7:0/1w" |
Stejné jako předchozí, ale bit lze i zapisovat. |
"F8:5" |
F=Typ DataFile=Float, 8=Číslo DataFile, 5=Fyzická adresa hodnoty v DataFile. Hodnota je datového typu: Float |
"L102:1" |
L=Typ DataFile=Long, 102=Číslo DataFile, 1=Fyzická adresa hodnoty v DataFile. Hodnota je datového typu: Long |
Adresa zařízení | Adresa zařízení, se kterým se má komunikovat.
Zařízení má často adresu s hodnotou 0. |
Max. velikost dat (v bajtech) v jedné zprávě | Zadává se zde omezení jak může být dlouhá jedna komunikační zpráva.
- 82 Bytes (přednastaveno) pro SLC 5/01 nebo SLC 5/02.
- 234 Bytes pro SLC 5/03 nebo SLC 5/04. |
---|
Popis komunikace pomocí objektu PmaCommMsg
Seznam a popis komunikačních zpráv:
-
Protected Typed Logical Read:
Čtení dat pomocí logické adresy.
Velikost čtených dat by neměla přesáhnout 230 bajtů.
(Toto čtení se provádí komunikačním příkazem, kde
CMD=0F a
FNC=A2.)
V kartě "
Data-zaslání" jsou proměnné:
- "PlcAddr": Adresa zařízení, se kterým se má komunikovat.
Zařízení má často adresu s hodnotou 0.
-
"FN" (Číslo
DataFile): Určuje oblast ze které bude probíhat čtení. Může nabývat hodnot od 0 do 254. Prvních devět je vždy přednastaveno (viz
Typy datových oblastí (DataFile)).
- "EN" (Element number): Index položky pro čtení v DataFile. Může nabývat hodnot od 0 do 254.
- "SEN" (Subelement number): Nutno zadat pouze pokud položka nebyla jednoznačně určena pomocí "Element number" (např. oblast binárního souboru). V jiném případě doporučujeme nezadávat hodnotu "Sub-Element number", nebo zadat hodnotu 0. Může nabývat hodnot od 0 do 254.
- Protected Typed Logical Write: Zápis dat pomocí logické adresy. Velikost zapisovaných dat by neměla přesáhnout 230 bajtů.
(Tento zápis se provádí komunikačním příkazem, kde CMD=0F a FNC=AA.)
Význam hodnot "FN", "EN", "SEN" je vysvětlen v popisu zprávy "Protected Typed Logical Read".
- Diagnostic Counters Reset: Nastavení všech čítačů a časovačů na 0.
- Diagnostic Loop: Slouží k testování komunikace. Správný výsledek testu je podmíněn shodou Testovacího řetězce ve vyslání i příjmu. Do proměnné Testovací řetězec zadejte řetězec délky přesně 10 znaků.
- Set ENQs: Nastaví maximální počet ENQ. Nepodporují PLC automaty řady SLC 500.
- Set NAKs: Nastaví maximální počet NAK. Nepodporují PLC automaty řady SLC 500.
- Set Timeout: Nastaví timeout. Nepodporují PLC automaty řady SLC 500.
- Set Variables: Nastaví maximální počet ENQ, maximální počet NAK a timeout. Nepodporují PLC automaty řady SLC 500.