ARIES PLC110[M02]-MS4, HMI, OPC a SCADA, alebo koľko Harmančekového čaju človek potrebuje. Časť 1

Dobrý deň, milí čitatelia tohto článku. Píšem to vo forme recenzie.

Malé upozornenieUpozorňujem, že ak ste hneď z nadpisu pochopili, o čom hovoríme, radím vám zmeniť prvý bod (v skutočnosti jadro PLC) na čokoľvek z cenovej kategórie o stupienok vyššie.
Žiadna úspora peňazí subjektívne nestojí za toľko nervov.

Pre tých, ktorí sa neboja trochy šedín a amplitúdy nervózneho tiku, neskôr podrobne popíšem, ako tento technologický zázrak vznikol. Tento článok poskytuje stručnú analýzu projektu s istou dávkou kritiky.

Pôvod. Formulácia problému

V skutočnosti pracujem v dizajnérskej kancelárii a testujeme automatizačné zariadenia na integráciu do našich tovární na kľúč. Nedávno do skladu dorazilo vybavenie OWEN a rozhodlo sa z neho zostaviť skúšobnú stolicu:

  • PLC110[M02]-MS4 (výkonné prostredie MasterSCADA 4D)
  • Ovládací panel SP307
  • Univerzálny modul vstupu analógového signálu МВ110-224.2А
  • Vstupný modul signálu tenzometra MV110-4TD
  • Elektrický merací modul MV110-220.3M

Štruktúra systému bola zvolená s diferenciáciou sietí podľa účelu:

  1. Modbus RTU na báze RS-485 - komunikácia medzi PLC a podriadenými zariadeniami (moduly, frekvenčné meniče, smart senzory, HMI panel SP307), master siete PLC.
  2. Modbus TCP založený na Ethernete - Komunikácia rôznych PLC medzi sebou a s OPC serverom
  3. OPC a SCADA systémový PC server je súčasne bránou medzi dvoma rôznymi sieťami (Corporate LAN of enterprise a Modbus TCP sieť radičov (dva sieťové adaptéry so smerovaním dát pomocou štandardných nástrojov Windows)
  4. Firemná LAN má prístup na internet cez proxy server

Všeobecná štruktúra systému je znázornená na obrázku nižšie:

ARIES PLC110[M02]-MS4, HMI, OPC a SCADA, alebo koľko Harmančekového čaju človek potrebuje. Časť 1

Zabudovaná funkčnosť

  • Zber a presmerovanie dát z PLC na OPC server
  • Lokálne ovládanie a monitorovanie cez HMI panel
  • Ovládanie a monitorovanie zo SCADA cez OPC server
  • Ovládanie z akéhokoľvek PC z podnikovej LAN a cez internet pomocou SCADA klienta
  • Pripojenie mobilných OPC monitorov cez LAN a internet
  • Samozrejmosťou je archivácia a generovanie reportov

Zdá sa, že nič nechýbalo. Existuje všeobecný popis systému a teraz vlastne k téme (metódy eliminácie popíšem v článkoch s implementáciou každého uzla):

Vyskytli sa ťažkosti

1. Dokumentácia PLC

Beta testovanie deklarovaného PLC na jadre MasterSCADA 4D naznačil výrobca už v roku 2012. Napriek takej pôsobivej životnosti konceptu, všetko, čo má vývojár v roku 2019, je programovací manuál s 28 (!?) stranami, na ktorom je o niečo menej ako žiadne užitočné informácie a screenshoty v príručke sú z MasterSCADA 3D, čo je celkom zábavné, ak vezmeme do úvahy, že sa zmenilo rozhranie.

Vlákno fóra s 20 témami je tiež aktívne podporované tromi prívržencami a manažérom predaja.

2. Architektúra PLC modulov

Toto je samostatná téma na diskusiu. Stručne: PLC komunikuje s modulmi ako Modbus RTU slave zariadenia, ktoré musí obslužný program najprv samostatne nakonfigurovať pripojením každého k PC cez prevodník RS-485.

Chytrí chlapi to samozrejme asi vedia robiť bez prevodníka cez PLC, sekvenčne pripájať moduly do siete a zapisovať potrebné registre, no prichádza to so skúsenosťami a obrovskou dávkou bolesti.

Pre vývojára, ktorý vidí takúto architektúru prvýkrát, nie je vôbec užívateľsky prívetivá.
Všetky analógové moduly tiež z neznámych dôvodov radi zlyhávajú a berú so sebou celú sieť RS-485 v Terra Incognita, ale o tom chcem hovoriť aj samostatne, samozrejme, o celej epose. Problém je mimochodom starý 10 rokov, výrobca sa tomu smeje "Musíme priznať, že šablóny pre nás nefungovali"Toto je však jediné rozhranie na komunikáciu s modulmi a ľudia, celkom vážne, už dlho píšu svoje implementácie Modbus RTU.

Harmančekový čaj medzitým dochádzal... Slnko zapadalo

3. IDE MasterSCADA

Nebudeme sa baviť o grafických nástrojoch, netestoval som ich vo veľkom rozsahu, ale hneď poviem, že sa mi to nepáčilo.

Hovoríme o implementácii výmeny údajov a štandardných jazykov IEC:

Fyzické vstupy a výstupy regulátora nie sú globálne premenné a nemožno k nim pristupovať zo žiadnej časti programu zapísaním aliasu, napríklad „DI1“. To by ste mali do každého programu pretiahnuť pomocou handle, vytvorí sa tam lokálna premenná, ktorá hodnotu zdedí alebo prenáša. Tie. samotná podstata PLC sa v mojej vízii trochu stráca: zariadenie by malo zjednodušiť programovanie logiky prevádzky fyzických kanálov na úroveň "Ak sa spustí vstup DI1, zapnite výstup DO1"a vyzerá to takto "Vstup DI1 - premenná LI1 - premenná LO1 - výstup DO1", tiež kvôli neznalosti tohto princípu IDE môžete zachytiť rozkošné varovanie „Boolean-Boolean conversion is nemožný“ (s najväčšou pravdepodobnosťou je jedným z nich ukazovateľ, ale v editoroch tvorcov si myslím, že je to harmonickejšie) .

Knižnice jazykov ST, FBD, SFC sú pomerne rozsiahle a existuje možnosť výberu pre jednoduché programovanie, tieto komponenty však nie sú funkciami, ale triedami, v ktorých sú vložené metódy, a po druhé, väčšina z nich nemá pomoc pri popise funkčnosť a dátové typy. Vytrvalosť ma priviedla do knižníc jadra CodeSys, odkiaľ boli všetky tieto funkcie prevzaté, pomohla ich pomoc.

4. Výmena s panelom SP307

Celkom zaujímavá akcia pre tých, ktorí nemajú kde stráviť pár dní.

Štandardné testovanie GUI (HMI alebo SCADA) pre mňa znamená vykonať 6 testov:

  1. Čítanie diskrétneho signálu
  2. Nahrávanie diskrétneho signálu
  3. Čítanie celočíselnej hodnoty
  4. Zápis celočíselnej hodnoty
  5. Čítanie skutočnej hodnoty
  6. Písanie skutočnej hodnoty

Podľa toho nakreslím na obrazovku 6 primitívnych komponentov a každú skontrolujem v poradí
Výmena je úplne rovnaká ako pri moduloch, ale zo samostatného PLC portu RS-232/485 a zdá sa, že stabilnejšia. Keďže ide o HMI slave, napísal som doňho zmenou a prečítal som ho za 500 ms, aby som nezmeškal akcie operátora.

Prvé 4 body boli dokončené perfektne, ale body 5 a 6 spôsobovali problémy.

Pošleme dáta typu Single Float, zobrazíme ich na obrazovke a vidíme, že dáta nie sú rovnaké, hoci všetky nastavenia výstupu (Float, register dimenzie 1 atď.) sú správne. Bolo by klamstvom tvrdiť, že precedens nie je opísaný v dokumentácii, skúste však nájsť ktorý a kde, zvonku je to smiešne.

Po hysterickom prehľadaní všetkých nastavení ohľadom samotných dát a ich odosielania, Píšeme technickej podpore, odpoveď je v priemere 5-6 kalendárnych dní, pracujeme podľa štandardného skriptu technickej podpory „Skontrolujte, či je napájanie zapnuté – skontrolujte verziu softvéru – počkajte prosím ešte týždeň – Poďme na to sami “.

Mimochodom, rozhodlo o tom nainštalovanie jedného kliešťa na absolútne neadekvátne miesto s absolútne neadekvátnym podpisom.

Vo funkcii obrazovky Vstup analógového signálu vo formáte „Slider“ nie je zahrnutý, je možné zadať do textového poľa iba pomocou čísel. To je jednoducho úžasné, buď si tlačidlá „±“ a skript napíšeme sami, alebo zadáme číslo z klávesnice a zabudneme na mäkké ovládanie nejakého disku.

Nebudem článok príliš preťažovať, takže problémy s najvyššou úrovňou popíšem v časti 2.

Zhrnúť, Chcem poznamenať, že som mal dostatočnú slobodu a veľa času na vyriešenie týchto problémov, ktoré na prvý pohľad vyzerajú vtipne, ale obeti spôsobujú veľa bolesti. V podmienkach obmedzeného času je nevyhnutné čeliť takýmto problémom.

PS: Všetky tu prezentované tézy sú subjektívne, a sú len snahou varovať nepripravených, a nie diskriminovať výrobcov, žiadam vás, aby ste tento článok brali z tohto pohľadu.

Druhá časť je už tu: kliknite

Zdroj: hab.com

Pridať komentár