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 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 je vázáno na 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 přes Ethernet.
- 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 PmComm.

Ovladač podporuje použití objektu PmCommData (pro čtení i zápis proměnných v PLC). Objekt PmCommMsg 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"

- 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í.
 
Ovladač podporuje následující datové typy:
- BOOL: v PLC je 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ďto 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:
Číslo TCP/UDP portu44818
Typ Ethernet přenosuTCP
Popis a doporučené hodnoty pro Parametry protokolu:
číslo portu v PLC1 (nastavit v návaznosti na dokumentaci)
číslo slotu v PLC0, čí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ů PmCommData

Proměnné v objektu PmCommData (nebo ještě lépe proměnné v objektu PmData 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 je povolen konfigurátor Obnovování dat povoleno). Při zápisu do proměnné se posílá do zařízení jen tato jedna proměnná (pokud je povolen konfigurátor Automaticky zasílat při zápisu do položky).

 
Popis konfigurátoru ItemID:

ItemId je textový identifikátor položky, který slouží k adresaci veličiny 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 při spouštění aplikace).

Zadávat ItemId pomocí tlačítka vpravo od konfigurátoru lze jen v případě, že je vytvořen soubor s informacemi o proměnných v PLC. Tento soubor lze vytvořit pomocí zprávy PmCommMsg ("Načtení jmen všech dostupných proměnných z PLC") - viz dále.

 
Mezi jménem 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 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 je struktura s názvem "station" a v ní je pole se jménem "data". Pokud chceme číst/zapisovat 23. položku tohoto pole, pak ItemId bude mít tvar:
station.data[23]
3) V PLC 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 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 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 PmCommData > Parametry > Speciální parametry:
Tento konfigurátor se pro daný ovladač nevyužívá.

Popis komunikace pomocí objektů PmCommMsg

Objekty PmCommMsg lze použít pro speciální komunikace, které nelze provést objektem PmCommData. 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:

Pro správné nastavení konfigurátoru ItemId v proměnných pro objekt PmCommData je nutná znalost jmen uživatelsky definovaných proměnných, položek struktur či dimenzí polí v PLC. Tyto informace lze z PLC 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 lze u konfigurátoru ItemId 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 PmCommMsg je doporučeno 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 PmCommMsg pro načtení proměnných z PLC", pak se vytvoří správně nastavený objekt PmCommMsg i s obrazem, ve kterém lze zprávu spustit a vyčíst tak požadované informace z PLC. 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.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice