22.6.2022

Komunikácia - EthernetIP a zapuzdrené PCCC

O protokole Ethernet/IP som už písal dva blogy. Prvý popisoval vlastnosti protokolu ako aj proprietárne služby, ktoré používa firma Rockwell na komunikáciu so svojimi zariadeniami (PLC triedy Micro, CompactLogix a ControlLogix). Druhý sa zaoberal praktickým nakonfigurovaním komunikácie s PLC triedy CompactLogix a ControlLogix.

Od doby písania už nejaký čas uplynul a medzitým bolo potrebné rozbiehať komunikáciu s dvoma staršími typmi PLC - MicroLogix 1100 a SLC 5/05.

Čo majú tieto dve PLC spoločné?

Obidve disponujú Ethernet portom, podporujú Ethernet/IP protokol, ale aby to nebolo tak jednoduché – dnes používané proprietárne služby (Read Tag Service, Write Tag Service, Read Tag Fragmented Service, Write Tag Fragmented Service), ktoré používajú PLC tried Micro/CompactLogix/ControlLogix na nich nefungujú.

Zrejme to súvisí s historickým vývojom. Staršie typy PLC (rady SLC 5, SLC 500) najskôr podporovali iba sériovú komunikáciu (po zbernici DH-485 alebo RS-485). V systéme D2000 boli pre ne vyvinuté protokoly Allen-Bradley DF1 a Allen-Bradley DH485. Aj pri pohľade do dokumentácie je vidieť príbuznosť – adresácia meraných bodov používa rovnaký formát

[$] X [file] : element [.field] [/bit]

napr. element 2 typu Integer v súbore 7 má adresu N7:2 a element 1 typu Float v súbore 29 má adresu F29:1.

Následne bola podporená komunikácia po sieti Ethernet cez TCP spojenie, ktorá nebola kompatibilná s Ethernet/IP. Vznikol tak protokol s krkolomným názvom Allen-Bradley CSP/PCCC (Client Server Protocol / Programmable Controller Communication Command). Tento protokol štandardne používa TCP port 2222. Medzi nami, pri názve CSP/PCCC ma napadá skratka PCMCIA a jej neoficiálne vysvetlenie People Can’t Memorize Computer Industry Acronyms. Za seba možem povedať len toľko, že viem dešifrovať PCMCIA, ale mám problém spomenúť si na význam PCCC :)

Spomínané PLC rady SLC 5, SLC 500 podporujú CSP/PCCC (a teda na komunikáciu s nimi postačuje tento protokol). Ale MicroLogix 1100 už nie - tento typ je novší a podporuje iba Ethernet/IP protokol. Po zadefinovaní Ethernet/IP ako štandardu vznikla snaha včleniť doň aj existujúcu PCCC komunikáciu – došlo teda k jej zabaleniu (encapsulated PCCC). Bolo teda nutné podporiť PCCC príkazy v rámci Ethernet/IP aj zo strany D2000 – a toto sme aj spravili.

Obrázok 1-Konfigurácia linky typu TCP-IP/TCP použitej na komunikáciu s MicroLogix 1100 cezEthernet/IP

Ako sa PCCC komunikácia konfiguruje? Na úrovni komunikačnej stanice je nutné zmeniť parameter protokolu PCCC Max Data Length z prednastavenej hodnoty 0 na nenulovú hodnotu. Tento parameter aktivuje PCCC príkazy a zároveň obmedzuje veľkosť dát, ktoré môžu byť vrátené v rámci jedného dotazu. Pokiaľ existujú merané body s adresami s identickým súborom a typom, je snaha ich čítať naraz. Napríklad elementy N7:1, N7:10 a N7:12 by boli čítané jedným dotazom so špecifikovanou počiatočnou adresou N7:1 a počtom elementov 12, pričom by sa načítalo 24 bajtov čistých dát (2-bajtové celočíselné hodnoty), plus niekoľko ďalších bajtov špecifikujúcich typ dát.

Aby to nebolo také jednoduché, aj protokol PCCC sa v čase vyvíjal a poskytoval rôzne služby. My sme podporili tri z nich, ktoré je možné zvoliť pomocou parametra protokolu PCCC Command Set:

  • Typed Read (68), PLC5 logical ASCII addressing
  • Typed Read (68), PLC5 logical binary addressing
  • SLC Protected Typed Logical Read (A1/A2)

Na komunikáciu s MicroLogix 1100 je treba použiť tú poslednú. Jedná sa o rovnakú službu, ako používame v protokole CSP/PCCC na čítanie. V skutočnosti sme najskôr podporili iba čítanie (september 2021) a až následne aj zápis (január 2022). Navyše, úplne bol zápis implementovaný práve pre „SLC Protected Typed Logical Read“. Ďalšie dve služby majú zápis implementovaný iba čiastočne – nefunguje zápis po bitoch, ani zápis do súborov typu Counter a Timer.

Obrázok 2- Konfigurácia parametrov stanice pre PCCC komunikáciu s MicroLogix 1100

Mimochodom, model MicroLogix 1100 je od apríla 2022 už nepredávaný ... ale to neznamená, že sa s ním ešte dlhú dobu nebudeme stretávať.

Na úrovni meraného bodu sa zadáva adresa ako symbolická adresa a následne je interpretovaná rovnako ako v protokole Allen-Bradley CSP/PCCC.

Obrázok 3- Konfigurácia meraného bodu pre encapsulated PCCC komunikácius MicroLogix 1100

Záver

Protokol Ethernet/IP a najmä implementácia proprietárnych rozšírení zo strany firmy Rockwell má dlhú históriu. Postupné pridávanie podporovanách služieb umožnuje aplikačnému serveru reálneho času Ipesoft D2000 rozširovať zoznam PLC, s ktorými dokáže komunikovať. Momentálne je podporená komunikácia s PLC triedy Micro, MicroLogix, CompactLogix, ControlLogix ako aj SLC 5/05.

10.1.2022, Ing. Peter Humaj, www.ipesoft.com

Iné blogy