Dobrý deň, vážení čitatelia tohto článku. Píšem to v formáte recenzie
Malé upozornenieChcem varovať, že ak ste hneď pochopili, o čom je reč z názvu, odporúčam zmeniť prvý bod (vlastne PLC-jadro) na čokoľvek z cenovej kategórie o úroveň vyššie.
Žiadna úspora peňazí nestojí za toľko nervov, subjektívne.
Pre tých, ktorých neodstrašuje trochu šediny a amplitúda nervového tiku, neskôr podrobne opíšem, ako sa tento technologický zázrak vytvoril. V tomto článku je však stručná analýza projektu s určitým stupňom kritiky.
Vznik. Stanovenie úlohy
Vlastne pracujem v konštrukčnom úrade a testujeme zariadenia automatizácie na integráciu do našich výrobných závodov na kľúč. Nedávno prišlo na sklad zariadenie OVEN a rozhodlo sa postaviť skúšobnú stanicu:
- PLC110[M02]-MS4 (výkonnostné prostredie MasterSCADA 4D)
- Panel operátora SP307
- Modul univerzálneho vstupu analógových signálov MV110-224.2A
- Modul vstupu signálov tenzodetektorov MV110-4TD
- Merací modul MV110-220.3M
Štruktúra systému bola vybraná s rozdelením sietí podľa určenia:
- Modbus RTU na báze RS-485 — komunikácia PLC s podriadenými zariadeniami (moduly, frekvenčné meniče, inteligentné senzory, HMI panel SP307), PLC-master siete.
- Modbus TCP na báze Ethernet — komunikácia rôznych PLC medzi sebou a s OPC-serverom
- PC-server OPC a SCADA-systémy sú zároveň bránou medzi dvoma rôznymi sieťami (Korporátna LAN podniku a Modbus TCP sieťou regulátorov (dvaja sieťoví adaptéri s smerovaním dát štandardnými prostriedkami Windows))
- Korporátna LAN má výstup na internet cez proxy-server
Štruktúra systému je v obecných kontúrach znázornená na obrázku nižšie:
![OVEN PLC110[M02]-MS4, HMI, OPC a SCADA, alebo koľko človeku treba Rúžového čaju. Časť 1.](/wp-content/uploads/2019/10/18cb2554a35fbb11111a78572d0f2bf9.png)
Zabudovaná funkcionalita
- Zbieranie a presmerovávanie dát z PLC na OPC-server
- Lokálne riadenie a monitorovanie prostredníctvom HMI-panela
- Riadenie a monitorovanie z SCADA cez OPC-server
- Riadenie z akéhokoľvek PC v LAN podniku a cez internet pomocou SCADA-klienta
- Pripojenie mobilných OPC-monitorov cez LAN a internet
- Samozrejme, archivácia a generovanie správ
Zdá sa, že nič nebolo vynechané. Obyčajný popis systému je, a teraz, vlastne k téme (spôsoby odstránenia budem popisovať v článkoch s realizáciou každého uzla):
Vzniknuté komplikácie
1. Dokumentácia k PLC
Beta testovanie deklarovaného PLC na jadre MasterSCADA 4D bolo výrobcom oznámené v roku 2012. Napriek tomu, že koncepcia existuje už tak dlhý čas, to, čo má vývojár v roku 2019, je len 28-stranové programátorské manuál s takmer žiadnymi užitočnými informáciami, pričom snímky obrazovky v manuáli sú z MasterSCADA 3D, čo je dosť vtipné vzhľadom na to, že rozhranie sa zmenilo.
Taktiež je aktívne podporovaná tromi zástancami a predajcom sekcia fóra s 20 témami.
2. Architektúra PLC-moduly
Toto je samostatná téma na diskusiu. Stručne: PLC komunikuje s modulmi ako s Modbus RTU slave zariadeniami, ktoré je potrebné predtým konfigurovať nástrojom pripojením každého k PC cez prevodník RS-485.
Chytrí chlapci, samozrejme, určite vedia robiť to bez prevodníka cez PLC, sériovo pripojovať moduly v sieti a zapisovať potrebné registre, ale to prichádza s praxou a obrovským množstvom bolesti.
Pre vývojára, ktorý prvýkrát vidí takúto architektúru, je to vôbec nie užívateľsky priateľské.
Taktiež všetky analógové moduly radi zlyhávajú z neznámych dôvodov, berúc so sebou celú sieť RS-485 do Terra Incognita, ale o tom chcem tiež porozprávať osobitne, určite je to celá epopeja. Problém má mimochodom už asi 10 rokov, výrobca sa len šučí. „Treba uznať, naše šablóny sa nám nepodarili“, avšak to je jediný rozhranie komunikácie s modulmi, a ľudia, celkom vážne, už dávno zapisujú svoje implementácie Modbus RTU.
Medzitým sa kamilkový čaj končil... Slnko sa chystalo na západ.
3. IDE MasterSCADA
O grafických nástrojoch sa nebudeme rozprávať, veľa som netestoval, ale poviem hneď, že sa mi to nepáčilo.
Hovoríme o implementácii výmeny údajov a jazykoch štandardu IEC:
Fyzické vstupy a výstupy ovládača nie sú globálne premenné a nemožno na ne pristupovať z ktorejkoľvek časti programu, ak napíšete alias, napríklad „DI1“. Do každého programu je potrebné ťahať to ručne, tam sa vytvára lokálna premenná, ktorá dedí alebo prenáša hodnotu. T.j. sama podstata PLC, v mojom pohľade, je trochu stratená: zariadenie by malo zjednodušiť programovanie logiky fungovania fyzických kanálov na úroveň „Ak sa spustí vstup DI1 — Zapneme výstup DO1“, a vyzerá to tak „Vstup DI1 — Premenná LI1 — Premenná LO1 - Výstup DO1“, tiež z neznalosti tohto princípu IDE môže nastať pôsobivé upozornenie „Prevod Boolean-Boolean nie je možný“ (pravdepodobne preto, že jeden z nich je ukazovateľ, ale predstavujem si, že v redakcii autorov to tak vyzerá harmonicky).
Knižnice jazykov ST, FBD, SFC sú dostatočne rozsiahle a je tu výber pre pohodlné programovanie, avšak tieto komponenty nie sú funkciami, ale triedami, v ktorých sú zabudované metódy, a na väčšinu z nich chýba dokumentácia s popisom funkčnosti a typov údajov. Moja neústupnosť ma priviedla k knižniciam jadra CodeSys, odkiaľ boli tieto funkcie prevzaté, ich dokumentácia pomohla.
4. Výmena s panelom SP307
Celkom zaujímavá akcia pre tých, ktorí majú voľné dni.
Štandardné testovanie GUI (HMI alebo SCADA) pre mňa znamená uskutočniť 6 pokusov:
- Čítanie diskrétneho signálu
- Zápis diskrétneho signálu
- Čítanie celočíselnej hodnoty
- Zápis celočíselnej hodnoty
- Čítanie reálnej hodnoty
- Zápis reálnej hodnoty
Podľa toho nakreslím na obrazovku 6 komponentov - primitivov a každý po poriadku overím
Výmena je úplne rovnaká ako s modulmi, ale z oddeleného portu PLC RS-232/485 a zdá sa, že je stabilnejšia. Pretože HMI-ot Slave, písal som do neho pri zmene a čítal som polingom každých 500 ms, aby som nezmeškal akcie operátora.
Prvé 4 body boli splnené na výbornú, ale 5 a 6 spôsobili problémy.
Posielame údaje typu Single Float, na obrazovke ich zobrazuje a vidíme, že údaje nie sú tie, hoci všetky nastavenia výstupu (Float, rozmer 1 register a podobne) sú nastavené správne. Bolo by nepravdivé povedať, že v dokumentácii nie je tento precedent opísaný, avšak skúste nájsť, v ktorom a kde, je to z pohľadu zábavné.
Po hysterickom prechádzaní všetkých nastavení týkajúcich sa samotných údajov a ich odosielania, píšeme do technickej podpory, odpoveď 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 — prosím, čakajte ešte týždeň - ideme sa snažiť sami“.
Mimochodom, vyriešilo sa to nastavením jednej zaškrtávacej možnosti na absolútne neadekvátnom mieste s absolútne neadekvátnym názvom.
Vo funkčnosti obrazovky nie je zahrnutý vstup analógového signálu formátu „Posúvač“, môžeme zadať len do textového poľa číslicami. Je to jednoducho úžasné, buď napíšeme tlačidlá „±“ a skript sami, alebo zadáme číslo z klávesnice, na jemné ovládanie nejakého pohonu zabudneme.
Nebudem príliš zaťažovať článok, takže opíšem problémy s vrcholovou úrovňou v časti 2.
Zhrnúť, chcem zdôrazniť, že som mal dostatok slobody a veľa času na riešenie týchto problémov, ktoré sa na prvý pohľad zdajú smiešne, ale spôsobujú veľa bolesti postihnutej strane. V podmienkach obmedzených termínov je stretávanie s takými problémami kritické.
P.S.: Všetky tu uvedené tézy sú subjektívne a sú len pokusom varovať nepripravených, nie diskriminovať výrobcov, prosím, venujte tejto článku presne z tohto hľadiska.
Druhá časť už je tu:
Zdroj: habr.com
