ARIES PLC110[M02]-MS4, HMI, OPC és SCADA, avagy mennyi Kamilla teára van szüksége egy embernek. 1. rész

Jó napot, e cikk kedves olvasói. Ezt felülvizsgálati formában írom.

Egy kis figyelmeztetésFigyelmeztetném, hogy ha a címből azonnal megértette, miről van szó, akkor azt tanácsolom, hogy az első pontot (igazából a PLC magot) változtassa meg bármire, ami egy fokkal magasabb árkategóriájú.
Szubjektíven egyetlen pénzmegtakarítás sem ér meg ennyi idegszálat.

Aki nem fél egy kis ősz hajtól és az ideges tic amplitúdójától, annak később részletesen leírom, hogyan jött létre ez a technológiai csoda. Ez a cikk egy rövid elemzést ad a projektről, némi kritikával.

Eredet. A probléma megfogalmazása

Valójában egy tervezőirodában dolgozom, és teszteljük az automatizálási berendezéseket a kulcsrakész gyárainkba való integráláshoz. A közelmúltban OWEN berendezések érkeztek a raktárba, és úgy döntöttek, hogy próbapadot állítanak össze belőle:

  • PLC110[M02]-MS4 (MasterSCADA 4D végrehajtó környezet)
  • Kezelőpanel SP307
  • Univerzális analóg jelbemeneti modul МВ110-224.2А
  • MV110-4TD nyúlásmérő jel bemeneti modul
  • Elektromos mérőmodul MV110-220.3M

A rendszer felépítése a hálózatok cél szerinti megkülönböztetésével választották:

  1. RS-485 alapú Modbus RTU - kommunikáció a PLC és a slave eszközök között (modulok, frekvenciaváltók, intelligens érzékelők, HMI panel SP307), PLC hálózati master.
  2. Modbus TCP Ethernet alapú - Különböző PLC-k kommunikációja egymással és az OPC szerverrel
  3. Az OPC és a SCADA rendszerű PC szerver egyszerre átjáró két különböző hálózat között (a vállalati LAN és a Modbus TCP vezérlők hálózata (két hálózati adapter adatútválasztással szabványos Windows eszközökkel)
  4. A vállalati LAN proxyszerveren keresztül internet-hozzáféréssel rendelkezik

A rendszer általános felépítése az alábbi képen látható:

ARIES PLC110[M02]-MS4, HMI, OPC és SCADA, avagy mennyi Kamilla teára van szüksége egy embernek. 1. rész

Beépített funkcionalitás

  • Adatok gyűjtése és átirányítása a PLC-ről az OPC szerverre
  • Helyi vezérlés és felügyelet HMI panelen keresztül
  • Vezérlés és felügyelet a SCADA-ból OPC szerveren keresztül
  • Vezérlés bármely számítógépről a vállalati LAN-ról és az interneten keresztül SCADA kliens segítségével
  • Mobil OPC monitorok csatlakoztatása LAN-on és interneten keresztül
  • Természetesen archiválás és jelentéskészítés

Úgy tűnik, semmi sem maradt el. Van egy általános leírás a rendszerről, és most valójában a témáról (az eltávolítási módszereket cikkekben ismertetem az egyes csomópontok megvalósításával):

Felmerült nehézségek

1. PLC dokumentáció

A gyártó 4-ben jelezte a bejelentett PLC béta tesztelését a MasterSCADA 2012D magon. A koncepció lenyűgöző élettartama ellenére 2019-ben a fejlesztő mindössze egy 28 (!?) oldalas programozási kézikönyvvel rendelkezik, amelyen valamivel kevesebb, mint semmi hasznos információ található, a kézikönyvben található képernyőképek pedig a MasterSCADA 3D-től származnak, ami elég vicces, ha figyelembe vesszük, hogy megváltozott a felület.

A 20 témából álló fórumszálat három hívő és egy értékesítési vezető is aktívan támogatja.

2. PLC modulok felépítése

Ez egy külön téma a megbeszélésre. Röviden: a PLC Modbus RTU slave eszközként kommunikál a modulokkal, amelyeket először a segédprogramnak külön kell konfigurálnia úgy, hogy mindegyiket RS-485 konverteren keresztül PC-hez csatlakoztatja.

Az okos srácok persze valószínűleg tudják, hogyan kell ezt megtenni konverter nélkül PLC-n keresztül, szekvenciálisan csatlakoztatva a modulokat a hálózathoz és megírva a szükséges regisztereket, de ez tapasztalattal és hatalmas fájdalommal jár.

Egy fejlesztő számára, aki először lát ilyen architektúrát, egyáltalán nem felhasználóbarát.
Emellett minden analóg modul szeret ismeretlen okokból meghibásodni, magával viszi a Terra Incognita teljes RS-485 hálózatát, de erről külön is szeretnék beszélni, természetesen egy egész eposzról. A probléma egyébként 10 éves, a gyártó kiröhög „El kell ismernünk, hogy a sablonok nem működtek nekünk”, azonban ez az egyetlen interfész a modulokkal való kommunikációhoz, és az emberek, nagyon komolyan, már régóta írják a Modbus RTU implementációikat.

Közben fogyott a kamilla tea... A nap lemenőben volt

3. IDE MasterSCADA

A grafikus eszközökről nem beszélünk, nem teszteltem őket alaposan, de rögtön leszögezem, hogy nem tetszett.

Az adatcsere és az IEC szabványnyelvek megvalósításáról beszélünk:

A vezérlő fizikai bemenetei és kimenetei nem globális változók, és nem érhetők el a program egyetlen részéből sem egy álnév beírásával, például „DI1”. Ezt érdemes fogantyúkkal behúzni minden programba, ott jön létre egy lokális változó, ami örökli vagy továbbítja az értéket. Azok. a PLC lényege az én elképzelésem szerint kicsit elveszett: az eszköznek le kell egyszerűsítenie a fizikai csatornák működési logikájának programozását a szintre. "Ha a DI1 bemenet aktiválódik, kapcsolja be a DO1 kimenetet"és így néz ki "DI1 bemenet - LI1 változó - LO1 változó - DO1 kimenet", ezenkívül ennek az IDE-elvnek a tudatlansága miatt elkaphat egy elragadó figyelmeztetést: „A logikai-logikai konverzió lehetetlen” (valószínűleg az egyik egy mutató, de úgy képzelem, a készítők szerkesztőiben harmonikusabb) .

Az ST, FBD, SFC nyelvek könyvtárai meglehetősen terjedelmesek, és van választási lehetőség a programozás megkönnyítésére, azonban ezek az összetevők nem függvények, hanem osztályok, amelyekbe a metódusok be vannak ágyazva, másodszor, a legtöbbnek nincs segítségük a leíráshoz. a funkcionalitás és az adattípusok. A kitartás elvezetett a CodeSys rendszermag könyvtáraihoz, ahonnan ezeket a funkciókat átvettem, a segítségük segített.

4. Csere SP307 panellel

Nagyon érdekes esemény azoknak, akiknek nincs hol eltölteni pár napot.

A szabványos GUI tesztelés (HMI vagy SCADA) számomra 6 tesztet jelent:

  1. Diszkrét jel olvasása
  2. Diszkrét jel rögzítése
  3. Egész érték olvasása
  4. Egész érték írása
  5. Valódi érték olvasása
  6. Valódi érték írása

Ennek megfelelően 6 primitív komponenst rajzolok a képernyőre, és mindegyiket sorrendben ellenőrzöm
A csere teljesen ugyanaz, mint a moduloknál, de külön RS-232/485 PLC portról, és úgy tűnik, stabilabb. Mivel ez egy HMI slave, ezért változtatással írtam neki, és 500ms lekérdezésben olvastam, hogy ne maradjak le a kezelő tevékenységéről.

Az első 4 pont tökéletesen sikerült, de az 5. és a 6. pont gondokat okozott.

Single Float típusú adatokat küldünk, megjelenítjük a képernyőn és látjuk, hogy az adatok nem azonosak, bár minden kimeneti beállítás (Float, 1. dimenzió regiszter, stb.) helyes. Hazugság lenne azt állítani, hogy a dokumentációban nincs leírva az előzmény, de próbáld meg megtalálni, melyik és hol, ez kívülről vicces.

Miután az adatokkal és azok küldésével kapcsolatos összes beállítás hisztérikus átkutatása után, Írunk a technikai támogatásnak, a válasz átlagosan 5-6 naptári nap, a szokásos technikai támogatási szkript szerint dolgozunk: "Ellenőrizze, hogy be van-e kapcsolva - ellenőrizze a szoftver verzióját - kérem várjon még egy hetet - Menjünk, találjuk ki magunk ”.

Egyébként úgy döntöttek, hogy egy kullancsot telepítettek egy abszolút nem megfelelő helyre, abszolút nem megfelelő aláírással.

A képernyő funkciójában A „Slider” formátum analóg jelbemenetét nem tartalmazza, csak számokkal írható be a szövegmezőbe. Ez egyszerűen elképesztő, vagy mi magunk írjuk a „±” gombokat és a szkriptet, vagy beírunk egy számot a billentyűzetről, és elfelejtjük néhány meghajtó lágy vezérlését.

Nem fogom túlterhelni a cikket, ezért a 2. részben leírom a felső szinttel kapcsolatos problémákat.

Összefoglalva, Szeretném megjegyezni, hogy elegendő szabadságom és sok időm volt megoldani ezeket a problémákat, amelyek első pillantásra viccesnek tűnnek, de sok fájdalmat okoznak az áldozatnak. Korlátozott idő esetén kritikus az ilyen problémákkal való szembenézés.

PS: Az itt bemutatott tézisek szubjektívek, és csak a felkészületlenek figyelmeztetésére és a gyártók diszkriminációjára tesznek kísérletet, arra kérem Önt, hogy ezt a cikket ebből a szempontból közelítse meg.

A második rész már itt van: kattintson

Forrás: will.com

Hozzászólás