OVEN PLC110[M02]-MS4, HMI, OPC ja SCADA, või kui palju inimesel on vaja Rukkilille teed. Osa 1

Tere päevast, kallid artikli lugejad. Kirjutan seda ülevaatena.

Väike hoiatav sõnumSoovin hoiatada, et kui te kohe pealkirjast aru saite, siis soovitan esimest punkti (tõepoolest, PLC süda) vahetada millegi muu vastu, mis on hinnaklassis astme võrra kõrgem.
Ükski raha kokkuhoid ei tasu sellist närvipinge hulka, subjektiivselt.

Neile, keda ei hirmuta väike hallus ja närviline tiksumine, kirjeldan hiljem üksikasjalikult, kuidas seda tehnoloogilist imet loodi. Käesolevas artiklis on lühike analüüs projektist teatud kriitilise varjundiga.

Algus. Ülesande seadmine

Tõepoolest, töötan ma inseneribüroos, ja me testime automaatika seadmeid nende integreerimiseks meie võtmed kätte tehastes. Hiljuti saabus laoseenusele OVENi seadmed, millest otsustati kokku panna testimise seade:

  • PLC110[M02]-MS4 (töökeskkond MasterSCADA 4D)
  • Operaatoripaneel SP307
  • Universaalne analoogsignaalide sisendi moodul MV110-224.2A
  • Tenzodetektorite signaalide sisendi moodul MV110-4TD
  • Elektro mõõtmise moodul MV110-220.3M

Süsteemi struktuur valiti võrgud nende otstarbe järgi eristades:

  1. Modbus RTU RS-485 põhjal — PLC suhtlemine alamseadmetega (moodulid, sagedusmuundurid, intelligentsed andurid, HMI paneel SP307), PLC master võrgus.
  2. Modbus TCP Etherneti põhjal — Erinevate PLC-de suhtlemine omavahel ja OPC-serveriga.
  3. PC-server OPC ja SCADA-süsteemid on samal ajal värav kahe erineva võrgu vahel (Ettevõtte ettevõtte LAN ja Modbus TCP juhtimisseadmete võrgud (kaks võrgusidet andmete suunamiseks Windowsi tavaliste vahenditega).
  4. Ettevõtte LAN-l on välju internetti läbi proksiserveri.

Süsteemi struktuur on üldiselt esitatud alloleval pildil:

OVEN PLC110[M02]-MS4, HMI, OPC ja SCADA, või kui palju inimesel on vaja Rukkilille teed. Osa 1

Tehtud funktsioonid

  • Andmete kogumine ja edastamine PLC-lt OPC-serverile.
  • Kohalik juhtimine ja jälgimine HMI-paneeli kaudu.
  • Juhtimine ja jälgimine SCADA kaudu OPC-serveri kaudu.
  • Juhtimine igalt PC-lt ettevõtte LAN-is ja läbi interneti SCADA-kliendi abil.
  • Mobiilsete OPC-monitoorijate ühendamine läbi LAN ja interneti.
  • Muidugi, arhiivimine ja aruannete genereerimine.

Tundub, et ei ole midagi unustatud. Üldine süsteemi kirjeldus on olemas, ja nüüd, tõeliselt, teemasse (meetodid probleemide lahendamiseks kirjeldan artiklites, kus iga sõlme teostamine):

Tekkinud raskused

1. Dokumentatsioon PLC kohta.

Beta-testi, mis põhineb MasterSCADA 4D tuumal, sai tootjalt kutse 2012. aastal. Hoolimata sellisest muljetavaldavast kontseptsiooni eksisteerimise ajast, on arendajal 2019. aastal ainsaks, mis tal on, 28(!?) lehekülge programmeerimise juhendit, kus kasulikku teavet on peaaegu olematu, lisaks veel on manuaali ekraanipildid MasterSCADA 3D-st, mis on üsna naljakas, arvestades, et liides on muutunud.

Foorumi teema, mida toetavad aktiivselt kolm fännide ja müügijuhiga, sisaldab 20 teemat.

2. PLC-arhitektuur

See on eraldi arutelu teema. Lühidalt: PLC suhtleb moodulitega Modbus RTU orja seadmetena, mis tuleb eelnevalt konfigureerida utiliidiga, ühendades igaühe arvutiga RS-485 konverteri kaudu.

Ahned vennad oskavad seda kindlasti teha ka ilma konverterita läbi PLC, järjestikuste moodulite ühendamisega ning vajalikud registrid salvestades, kuid see tuleb kogemusega ja tohutu valu kaudu.

Esmakordselt sellist arhitektuuri näinud arendajale ei ole see sugugi kasutajasõbralik.
Samuti armastavad kõik analoogmoodulid kaduda teadmata põhjustel, viies kogu RS-485 võrgu Terra Incognita'sse, kuid sellest tahaksin ka eraldi rääkida, see on tõeliselt pikk lugu. Probleem on, muide, olnud juba 10 aastat, tootja nendib naljaga. „Peame tunnistama, et malli ei tulnud välja“, kuid see on ainus suhtlemise liides moodulitega, ja inimesed, täiesti tõsiselt, on juba ammu kirjutanud oma rahuldavaid rakendusi Modbus RTU kohta.

Samas, kummelitee hakkas otsa saama... Päike loojus horisondi taha.

3. IDE MasterSCADA

Graafika tööriistadest ei hakka rääkima, ma ei ole neid palju testinud, kuid ütlen kohe, et ei meeldinud.

Räägime andmevahetuse rakendamisest ja IEC standardi keeltest:

Kontrolleri füüsilised sisendid-väljundid ei ole globaalmuutujad ja neile ei saa rakendustes kirjutanud aliasi, näiteks „DI1“, ligi. Iga programmi tuleb need käsitsi tõmmata, seal luuakse lokaalne muutuja, mis pärib või edastab väärtuse. Seega on PLC olemus, minu nägemuses, veidi kadunud: seade peab lihtsustama füüsiliste kanalite töö loogika programmeerimist tasemeni „Kui DI1 sisend töötab — lülitame DO1 väljundi sisse“, kuid see näeb välja nii "Sisend DI1 - Muutuja LI1 - Muutuja LO1 - Väljund DO1", samuti ei tea IDE selle printsiibi tõttu, et võib saada üllatava hoiatuse "Boolean-Boolean konversioon ei õnnestu" (tõenäoliselt on see üks neist viitajatest, kuid esitan seda, nagu loojad on soovinud, see kõlab harmoonilisemalt).

ST, FBD ja SFC keelte raamatukogud on piisavalt ulatuslikud, ja programmimise mugavuse jaoks on valik olemas, kuid need komponendid ei ole funktsioonid, vaid klassid, mille sees on meetodid, ja enamiku puhul puudub dokumentatsioon funktsionaalsuse ja andmetüüpide kohta. Jätkuv püüdlus viis mind CodeSys'i põhiraamatukogudesse, kust need funktsioonid on pärit, ja nende dokumentatsioon aitas.

4. Vahetus SP307 paneeliga

Üsna huvitav üritus neile, kellel pole kahte päeva kuhugi üle anda.

Minu jaoks on standardne GUI (HMI või SCADA) testimine kuue proovi tegemine:

  1. Diskreetse signaali lugemine
  2. Diskreetse signaali kirjutamine
  3. Täisarvu lugemine
  4. Täisarvu kirjutamine
  5. Reaalnumbri lugemine
  6. Reaalnumbri kirjutamine

Seega joonistan ekraanile 6 komponenti-priimiti ja kontrollin igaüht järjestikku
Vahetus on täpselt sama nagu moodulitega, kuid eraldi PLC RS-232/485 porti kaudu ja tundub, et see on stabiilsem. Kuna HMI on orja režiimis, siis kirjutasin sellele muutustele ja lugesin polling'uga iga 500 ms, et mitte jätta kasutaja tegutsemist vahele.

Esimesed 4 punkti said suurepäraselt täidetud, kuid 5. ja 6. punktid tekitasid probleeme.

Saadame andmed tüüpi Single Float, kuvame need ekraanil ja näeme, et andmed ei ole õiged, kuigi kõik väljundiseaded (Float, mõõtmed 1 register jne.) on õigesti seadistatud. Oleks vale öelda, et dokumentatsioonis ei ole sellist juhtumit kirjeldatud, aga proovige leida, kus ja milles, see on nauditav.

Pärast emotsionaalset seadete väikest tüpeldamist, mis puudutab andmeid ja nende saatmist, kirjutame tehnilisse tugi ja vastus tuleb keskmiselt 5-6 kalendripäeva jooksul, töötame standardse tehnilise toe skripti põhjal "Kontrollige, kas toit on sisse lülitatud — kontrollige tarkvara versiooni — palun oodake veel nädal — hakkame ise asja uurima".

Muide, probleem lahendati ühe märgise seadistamise teel täiesti ebaloomuliku koha kaudu täiesti ebaõige allkirjaga.

Ekraani funktsionaalsuses ei ole sisse ehitatud analoogsignaali sisestamine vormingus "Liugur", saab sisestada ainult numbreid tekstiväljale. See on lihtsalt imeline, kas me kirjutame nuppude «±» ja skripti ise või sisestame numbri klaviatuurilt, pehme juhtimise unustame mingisugusele seadmele.

Ma ei soovinud artiklit üle koormata, seega kirjeldan probleeme ülemisel tasemel osas 2.

Kokkuvõttes, tahan märkida, et mul oli piisavalt vabadust ja palju aega nende probleemide lahendamiseks, mis esmapilgul tunduvad tobedad, kuid põhjustavad palju valu kannatajatele. Ajavajaduses on selliste probleemidega silmitsi seismine kriitiline.

P.S.: Kõik siin esitatud väited on subjektiivsed ja on lihtsalt katse hoiatada ette valmistamata inimesi, mitte diskrimineerida tootjaid, palun vaadake sellele artiklile just sellise pilguga.

Teine osa on juba siin: klõpsake

Allikas: habr.com

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster