Tento ovladač slouží pro komunikaci s PLC automaty
Allen Bradley od firmy
Rockwell Automation protokolem
EtherNetIP/CIP. Viz také
Komunikace s PLC automaty Allen Bradley od firmy Rockwell Automation.
Protokol
CIP (
Common Industrial Protocol) je síťový protokol, který umožňuje přenášet hodnoty datových objektů. Na rozdíl od ostatních protokolů, které jsou obvykle orientované na podporu registrů, vstupů a výstupů, atd., je protokol
CIP orientován na podporu práce s datovými objekty. Datovým objektem se myslí uživatelem vytvořená datová proměnná, pole, struktura, atd., která popisuje část technologie a jejiž instance se nachází v paměti PLC automatu.
Protokol
CIP může být implementován na různých fyzických vrstvách (
Ethernet,
CAN/DeviceNet,
FieldBus/ControlNet). Protokol
EtherNet/IP implementuje (zabaluje) protokol
CIP pro
Ethernet. Ovladač
PmABradleyCIP realizuje implementaci protokolu
CIP do protokolu
EtherNet/IP.
PLC automaty založené na datových oblastech (
DataFile, například typu
Input,
Output,
Integer ...) neumí komunikovat protokolem
CIP (např. PLC
MicroLogix) a pro tyto je určen komunikační ovladač
PmABradleyDF1.
Protokol
EtherNetIP/CIP je podporován PLC automaty
Allen Bradley od firmy
Rockwell Automation řad:
- ControlLogix
- CompactLogix
- SoftLogix
- DriveLogix
- GuardLogix
- Micro850, Micro870
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í.
- Komunikace je pro Ethernet (aplikace PROMOTIC je klient).
- Aplikace PROMOTIC je z hlediska této komunikace vždy Master (to znamená, že dává podnět pro přenos dat).
- Ovladač byl odladěn s PAC Allen-Bradley CompactLogix řady 5000 s firmware verze 20. Na starších verzích firmware tento ovladač pravděpodobně nebude funkční.
- Při programování PLC lze použít dva typy proměnných:
- Globální proměnné (Controller Tags)
- Proměnné pro daný program v PLC automatu (Program Tags)
Tento komunikační ovladač zatím umí pracovat pouze s
Controller Tags.
Ovladač podporuje následující datové typy:
-
BOOL: V PLC automatu: reprezentován 1 bitem.
V aplikaci PROMOTIC je reprezentován datovým typem
Boolean.
-
SINT: V PLC automatu: 8-bitové celé číslo se znaménkem (
signed integer).
V aplikaci PROMOTIC je reprezentován datovým typem
Integer.
-
INT: V PLC automatu: 16-bitové celé číslo se znaménkem (
signed integer).
V aplikaci PROMOTIC je reprezentován datovým typem
Integer.
-
DINT: V PLC automatu: 32-bitové celé číslo se znaménkem (
signed integer).
V aplikaci PROMOTIC je reprezentován datovým typem
Long.
-
LINT: V PLC automatu: 64-bitové celé číslo se znaménkem (
signed integer).
V aplikaci PROMOTIC je reprezentován datovým typem
Double.
-
REAL: V PLC automatu: 32-bitové reálné číslo (
float).
V aplikaci PROMOTIC je reprezentován datovým typem
Single.
-
DWORD: V PLC automatu: 32-bitové pole bitů (obvykle hostitelská oblast pro proměnné typu
BOOL).
V aplikaci PROMOTIC je reprezentován datovým typem
Long.
-
$STRING:
V PLC automatu: struktura obsahující délku (typ
DINT) a pole znaků (typ
SINT). Představuje text.
V aplikaci PROMOTIC je reprezentován datovým typem
String.
Proměnné (tzv. tagy) jsou deklarovány již v čase programování PLC automatu. Deklarováním se myslí určení jejich datového typu, dimenzí polí a definování položek struktury, pojmenování proměnné a případně pojmenování struktury. Projektant aplikace PROMOTIC pak pracuje právě s těmito jmény. Jména proměnných jsou u tohoto protokolu obvykle nazývána jako symboly, deklarace datových struktur jako šablony (templates). Šablony mohou být deklarovány buď uživatelem, nebo mohou být převzaty z knihoven nástrojů pro programování PLC podporujících protokol
CIP.
Doporučené hodnoty parametrů objektu PmaComm:
Typ PLC |
0 = Control/Compact/..Logix - Bude se komunikovat s PLC typu ControlLogix, CompactLogix nebo dalšímí typy ..Logix.
1 = Micro850/870 firmware21- - Bude se komunikovat s PLC automaty typu Micro850 nebo Micro870 se zastaralým firmware 21.
Tento firmware neumožňuje příjem více proměnných najednou (MultiRead) a proto se každá proměnná musí přenášet v samostatné zprávě (SingleRead).
2 = Micro850/870 firmware22+ - Stejné jako typ 1 ale s novějším firmware 22 a výše.
Umožňuje čtení více proměnných v jedné zprávě ( MultiRead). |
Číslo portu v PLC automatu | 1 (nastavte v návaznosti na dokumentaci).
Tento konfigurátor není pro PLC typu Micro850/870. |
Číslo slotu v PLC automatu | 0, číslo pozice ve vaně (nastavte v návaznosti na dokumentaci).
Tento konfigurátor není pro PLC typu Micro850/870. |
Priorita tiků | 5 (nastavte v návaznosti na dokumentaci) |
Počet tiků na timeout | 247 (nastavte v návaznosti na dokumentaci) |
---|
Popis komunikace pomocí objektu PmaCommGroup
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í.
Upozornění: Pokud se přenáší proměnné s hodnotou typu
String, pak
ovladač nepozná kolik maximálně takových hodnot lze přenést v jedné zprávě. Tehdy je nutno omezit počet proměnných v jednom objektu
PmaCommGroup.
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).
Zadávat
ItemId tlačítkem vpravo od konfigurátoru lze pouze pokud je vytvořen soubor s informacemi o proměnných v PLC automatu. Tento soubor lze vytvořit pomocí zprávy
PmaCommMsg (
"Čtení jmen všech dostupných proměnných z PLC automatu") - viz dále.
Mezi názvem struktury a položkou struktury se používá jako oddělovač tečka (.).
Index pole (indexováno od 0) je uzavřen v hranatých závorkách ([ ]).
Nejsou povoleny žádné mezery navíc.
Příklady tvaru identifikátoru:
1) V PLC automatu je elementární položka (např. typu
INT) s názvem "
Teplota". Pokud chceme číst/zapisovat tuto položku, pak
ItemId bude mít tvar:
Teplota
2) V PLC automatu je struktura s názvem "
station" a v ní je pole s názvem "
data". Pokud chceme číst/zapisovat 23. položku tohoto pole, pak
ItemId bude mít tvar:
station.data[23]
3) V PLC automatu je struktura
"heating", v ní pole
"Kotel". Každá položka tohoto pole je struktura obsahující položku
"Teplota". Chceme číst/zapisovat do 0. (tzn. první pozice) položky pole:
heating.Kotel[0].Teplota
4) V PLC automatu je 3-rozměrné pole s názvem "
warehouse" a chceme číst/zapisovat hodnotu na souřadnicích [12,11,5]:
warehouse[12][11][5]
5)
Čtení a zápis textu: V PLC automatu je struktura například s názvem "
label" obsahující položku typu
DINT (délka textu) a pole znaků typu
SINT.
Tato struktura může představovat text a pokud takový text chceme číst/zapisovat, pak musí mít
ItemId tvar:
label,type=STRING
Tento konfigurátor se pro daný ovladač nevyužívá.
Popis komunikace pomocí objektu PmaCommMsg
Objekt
PmaCommMsg lze použít pro speciální komunikace, které nelze provést objektem
PmaCommGroup.
V případě tohoto ovladače je implementována pouze jedna speciální zpráva:
-
Čtení jmen všech dostupných proměnných z PLC automatu:
Pro správné nastavení konfigurátoru "
ItemId" v proměnných objektu
PmaCommGroup je nutno znát jména uživatelsky definovaných proměnných, položek struktur nebo dimenzí polí v PLC automatu. Tyto informace lze z PLC automatu vyčíst a právě to dělá tato zpráva:
Zpráva přečte informace a uloží je do textového řetězce v kartě "
Data-příjem". Pokud se tento text uloží do souboru (standardně s názvem
"ABradleyVarCfg.txt"), pak u konfigurátoru
ItemId lze použít tlačítko vpravo, které načte daný soubor a zobrazí ho v podobě stromové struktury, ze které lze vybrat konkrétní datové položky.
Pro správné vytvoření a nastavení objektu
PmaCommMsg je vhodné použít předkonfiguraci:
Předkonfigurace "PmABradleyCIP - Sestava komunikace s daty a obrazem protokolem EtherNetIP/CIP (pro ControlLogix, CompactLogix, ...)". Pokud v této předkonfiguraci zatrhnete konfigurátor "
Vytvořit PmaCommMsg pro načtení proměnných z PLC automatu", pak se vytvoří správně nastavený objekt
PmaCommMsg i s obrazem, ve kterém lze zprávu spustit a vyčíst tak požadované informace z PLC automatu. V události
onEndOfTransfer tohoto objektu je skript, který přijaté textové informace uloží do souboru
"ABradleyVarCfg.txt".
V kartě "
Data-příjem" jsou proměnné:
InfoVars - Do této proměnné se uloží textové informace o dostupných proměnných v PLC automatu.