22.11.2024

Komunikácia - optimalizácia v protokole Ethernet/IP

Komunikácia - optimalizácia v protokole Ethernet/IP

Existujúca implementácia komunikačného protokolu Ethernet/IP pre aplikačný server Ipesoft D2000 má už takmer šesť rokov. Za ten čas boli pridané rôzne vylepšenia – podpora proprietárnych Rockwell služieb Read/Write Tag spolu s ich Fragmented variantami, optimalizácia práce so symbolickou adresou, práca s redundantnými PLC, browsovanie, dokonca zapuzdrenie PCCC správ do Ethernet/IP protokolu, ktoré používajú staršie PLC.

Dnes by som chcel spomenúť výkonnostnú optimalizáciu čítania.

Požiadavka z praxe

Keď sme v roku 2023 upgradovali šesť vodárenských SCADA systémov a pripájali ich cez transparentný gateway do MES systému, zároveň sme zjednodušovali aj komunikácie – okrem iného sme na nové servery už nedávali Rockwell OPC server RSLinx, ale vystačili sme si s našou implementáciou Ethernet/IP protokolu. Výhodou bolo, že zákazník nepotrebuje ďalší softvér (ktorý je nutné zakúpiť, aktualizovať, atď). Potenciálnou výhodou je, že v prípade potreby dokážeme aplikačný server (prípadne jeho komunikačný subsystém) prevádzkovať aj na platforme Linux.

Upgrade bol úspešný, komunikácia dlhodobo stabilná, ale bolo tu jedno ALE – OPC server RSLinx dokázal vyčítavať hodnoty rýchlejšie ako D2000. Krátkodobo sme realizovali dočasné riešenie – niekoľko desiatok meraných bodov, ktoré museli byť „rýchle“, sme presunuli na samostatnú komunikačnú linku a stanicu - t.j. D2000 Kom proces pre ne vytvoril dedikované TCP spojenie a rýchlosť čítania bola niečo vyše 2 sekúnd (z toho 1 sekunda bolo nakonfigurované oneskorenie medzi čítaniami). Zvyšných vyše 1000 objektov bolo na pôvodnej stanici, ich periodické vyčítanie trvalo okolo 15 sekúnd.

Optimalizácia

Následne sme začali riešiť optimalizáciu v implementácii Ethernet/IP protokolu. Namiesto toho, aby každý meraný bod bol vyčítavaný samostatnou správou (Read Tag Service), použije sa zabalenie viacerých požiadaviek na čítanie do jedného paketu Multiple Service Packet Service.

Každá takáto „hromadná“ požiadavka na čítanie a každá „hromadná“ odpoveď navyše musí splniť podmienku, že jej veľkosť neprekročí Max Packet Size (štandardne 504 bajtov). Aby bola táto podmienka splnená, tak je prvé čítanie po štarte D2000 Kom procesu štandardné – a po prijatí odpovede sa poznačia veľkosti dát (keďže Ethernet/IP protokol umožňuje aj čítanie celých polí alebo štruktúr). Následne, pokiaľ je optimalizácia zapnutá parametrom stanice Use Multiple Service Packet Service, začne sa používať spájanie správ na čítanie.

Nasadenie

Pred pár dňami bol D2000 Kom proces s optimalizáciou nasadený u zákazníka. Výsledok – redukcia čítacieho cyklu pre vyše 1000 meraných bodov z 15 sekúnd na 2.2 sekundy. A z toho jedna sekunda je nakonfigurované oneskorenie na stanici.

Čo na to PLC, konkrétne CompactLogix 1769-L36ERM? V diagnostickom webovom rozhraní sa využitie komunikačného modulu nezmenilo a ostalo medzi 7.1-7.2%.

Obrázok 1 – Diagnostický prehľad CompactLogix po zapnutí optimalizovaného čítania

Komunikácia by sa dala ešte ďalej zrýchľovať – parameter Send Delay špecifikujúci oneskorenie medzi posielaniami jednotlivých čítaní, je u zákazníka nastavený na 10 ms s cieľom nepreťažiť komunikačne príslušný CompactLogix -v minulosti sme mali v konkrétnom prípade problémy so stabilitou viacerých CompactLogix PLC, pokiaľ sme išli na ne príliš „zostra“.

Dosiahnuté dve sekundy sú ale pre zákazníka úplne postačujúce a ďalšie zrýchľovanie dnes jednoducho nie je potrebné.

Záver

Optimalizácia rýchlosti čítania v implementácii Ethernet/IP protokolu v aplikačnom serveri reálneho času Ipesoft D2000 poteší viacerých našich zákazníkov a OEM partnerov, ktorí potrebujú komunikovať s PLC firmy Rockwell - jedného z troch najväčších výrobcov PLC na svete. A mňa osobne teší, že D2000 Kom proces je opäť o čosi lepší.

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

Iné blogy