Promotic

PmABradleyCIP - Ovladač pro komunikaci s PLC automaty Allen Bradley protokolem EtherNetIP/CIP

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č je začleněn do systému PROMOTIC pomocí objektu PmaComm.
Ovladač podporuje použití objektu PmaCommGroup (pro čtení i zápis proměnných v PLC automatu). Objekt PmaCommMsg se používá pouze pro speciální pomocnou zprávu, která zjistí názvy proměnných, které lze vyčítat z PLC automatu (viz dále).
Pro snadné přidání tohoto ovladače do aplikace je vhodné použít: Předkonfigurace ve skupině "Allen Bradley - PLC automat"
- 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:

Doporučené hodnoty pro Parametry Ethernet-klient:
Číslo vzdáleného TCP/UDP portu44818
 
Viz: Wikipedia: Seznam čísel portů TCP a UDP používaných protokoly pro provoz síťových aplikací.
Typ Ethernet přenosuTCP
Připojit až při prvním přenosuNEzatrhnout (povinné)
Zavřít spojení po každém přenosuNEzatrhnout (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.
Popis a doporučené hodnoty pro Parametry protokolu:
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 automatu1 (nastavte v návaznosti na dokumentaci).
Tento konfigurátor není pro PLC typu Micro850/870.
Číslo slotu v PLC automatu0, čí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 timeout247 (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


Popis konfigurátoru "PmaCommGroup > Parametry > Speciální parametry":
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-zaslání" není žádná proměnná.
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.

Historie:
Pm9.00.28: Zobecnění pro komunikaci s PLC automaty typu Micro850. V parametrech protokolu v konfigurátoru "Typ PLC" je nová položka 2 = Micro850/870 firmware22+.
Pm9.00.26: Zobecnění pro komunikaci s PLC automaty typu Micro850. V parametrech protokolu je nový konfigurátor "Typ PLC".
Pm9.00.25: Opravená chyba: Pokud v názvu položky struktury byl jen 1 znak pak nefungoval přenost této položky.
Pm9.00.21: Opravená chyba: Nefungoval příjem hodnoty typu $STRING když byl v podobě struktury.
Pm8.03.10: Opravená chyba: Nefungoval příjem 2-rozměrné pole.
Pm8.03.02: Opravená chyba: Někdy nefungoval přenos zprávy typu Čtení jmen všech dostupných proměnných z PLC automatu.
Pm8.02.16: Opravená chyba:
- Nešlo se připojit dvěma aplikacemi PROMOTIC na jeden PLC automat.
Pm8.02.03: Opravená chyba: Zpráva typu Čtení jmen všech dostupných proměnných z PLC automatu někdy vytvořila špatný seznam jmen.
Pm8.02.00: Vytvořeno
© MICROSYS, spol. s r.o.