Promotic
WikipediaLinkedInYoutubeTwitterFacebook

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

Tento ovladač slouží pro komunikaci s PLC automaty Allen Bradley firmy Rockwell Automation protokolem EtherNetIP/CIP. Viz také Komunikace s PLC automaty Allen Bradley 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 většinou 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.

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 automaty Allen Bradley firmy Rockwell Automation řad:
- ControlLogix
- CompactLogix
- SoftLogix
- DriveLogix
- GuardLogix
 
Před použitím tohoto ovladače v aplikaci PROMOTIC je vhodné přečíst kapitolu: Komunikace pomocí PROMOTIC ovladačů.
 
Základní vlastnosti ovladače:
- Použití tohoto ovladače vyžaduje zakoupení licence PmABradley. S freeeware verzí PmFree nebo při vývoji aplikace (s vývojovou licencí pro testovací účely) je tato komponenta funkční vždy.
- Komunikace je pro Ethernet-klienta.
- Aplikace PROMOTIC je z hlediska této komunikace vždy MASTER (tzn. že dává podnět k přenosu 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: reprezentován 1 bitem. V aplikaci PROMOTIC je reprezentován datovým typem: Boolean.
- SINT: v PLC: 8-bitové celé číslo se znaménkem (signed integer). V aplikaci PROMOTIC je reprezentován datovým typem: Integer.
- INT: v PLC: 16-bitové celé číslo se znaménkem (signed integer). V aplikaci PROMOTIC je reprezentován datovým typem: Integer.
- DINT: v PLC: 32-bitové celé číslo se znaménkem (signed integer). V aplikaci PROMOTIC je reprezentován datovým typem: Long.
- LINT: v PLC: 64-bitové celé číslo se znaménkem (signed integer). V aplikaci PROMOTIC je reprezentován datovým typem: Double.
- REAL: v PLC: 32-bitové reálné číslo (float). V aplikaci PROMOTIC je reprezentován datovým typem: Single.
- DWORD: v PLC: 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: 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. 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 konfigurující aplikaci na SW Promotic pak pracuje právě s těmito jmény. Jména proměnných jsou u tohoto protokolu často 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ů:

Doporučené hodnoty pro Parametry Ethernet-klient:
Číslo TCP/UDP portu44818
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í s PLC 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:
Číslo portu v PLC automatu1 (nastavit v návaznosti na dokumentaci)
Číslo slotu v PLC automatu0, číslo pozice ve vaně (nastavit v návaznosti na dokumentaci)
Priorita tiků5 (nastavit v návaznosti na dokumentaci)
Počet tiků na timeout247 (nastavit v návaznosti na dokumentaci)

Popis komunikace pomocí objektů 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í.

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 pomocí okna, 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 pomocí tlačítka 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 ("Nač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 (.). Indexy polí (indexováno od 0) jsou uzavřeny 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 stringu: 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í objektů PmaCommMsg

Objekty 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:
 
- Načtení jmen všech dostupných proměnných z PLC automatu:

Pro správné nastavení konfigurátoru ItemId v proměnných pro objekt PmaCommGroup je nutno znát jména uživatelsky definovaných proměnných, položek struktur či dimenzí polí v PLC automatu. Tyto informace lze z PLC automatu vyčíst a právě to dělá tato zpráva:

Zpráva vyčte informace a uloží je do textového řetězce v záložce "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 ve tvaru stromové struktury ze které lze vybírat 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 záložce "Data-zaslání" není žádná proměnná.
V záložce "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:
Pm8.03.10: Opravená chyba: Nešlo přijímat 2-rozměrné pole
Pm8.03.02: Opravená chyba: Někdy nefungoval přenos zprávy typu Nač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 jedno PLC.
Pm8.02.03: Opravená chyba: Zpráva typu Načtení jmen všech dostupných proměnných z PLC automatu někdy vytvořila špatný seznam jmen.
Pm8.02.00: nový ovladač pro komunikaci s vyššími řadami PLC Allen-Bradley protokolem EtherNet/IP-CIP.
Pm8.02.00: Vytvořeno
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice