ARIES PLC110[M02]-MS4, HMI, OPC ja SCADA ehk kui palju kummeliteed inimene vajab. 1. osa

Tere pärastlõunast, kallid selle artikli lugejad. Kirjutan selle ülevaate vormingus.

Väike hoiatusHoiatan, et kui saite pealkirjast kohe aru, millest jutt, siis soovitan vahetada esimene punkt (tegelikult PLC tuum) millekski astme võrra kõrgema hinnakategooria vastu.
Ükski raha säästmine pole subjektiivselt nii palju närve väärt.

Kes veidi halli juukseid ja närvilise tiki amplituudi ei pelga, siis kirjeldan hiljem üksikasjalikult, kuidas see tehnoloogiline ime sündis. See artikkel annab projekti lühianalüüsi koos teatud hulga kriitikaga.

Päritolu. Probleemi sõnastamine

Tegelikult töötan ma projekteerimisbüroos ja me testime automatiseerimisseadmeid integreerimiseks meie võtmed-kätte tehastesse. Hiljuti jõudsid lattu OWEN-i seadmed, millest otsustati kokku panna katsestend:

  • PLC110[M02]-MS4 (täitevkeskkond MasterSCADA 4D)
  • Juhtpaneel SP307
  • Universaalne analoogsignaali sisendmoodul МВ110-224.2А
  • MV110-4TD deformatsioonimõõturi signaali sisendmoodul
  • Elektriline mõõtemoodul MV110-220.3M

Süsteemi struktuur valiti võrkude diferentseerimisega vastavalt eesmärgile:

  1. Modbus RTU RS-485 baasil - side PLC ja alamseadmete vahel (moodulid, sagedusmuundurid, nutikad andurid, HMI paneel SP307), PLC võrgu ülem.
  2. Ethernetil põhinev Modbus TCP – erinevate PLC-de suhtlus omavahel ja OPC serveriga
  3. OPC ja SCADA süsteemi arvutiserver on samaaegselt lüüsiks kahe erineva võrgu vahel (ettevõtte ettevõtte kohtvõrk ja Modbus TCP kontrollerite võrk (kaks võrguadapterit andmete marsruutimisega standardsete Windowsi tööriistade abil)
  4. Ettevõtte LAN-il on puhverserveri kaudu juurdepääs Internetile

Süsteemi üldine struktuur on näidatud alloleval pildil:

ARIES PLC110[M02]-MS4, HMI, OPC ja SCADA ehk kui palju kummeliteed inimene vajab. 1. osa

Sisseehitatud funktsionaalsus

  • Andmete kogumine ja ümbersuunamine PLC-st OPC serverisse
  • Kohalik juhtimine ja jälgimine HMI paneeli kaudu
  • Juhtimine ja jälgimine SCADA-st OPC serveri kaudu
  • Juhtige mis tahes arvutist ettevõtte kohtvõrgust ja Interneti kaudu, kasutades SCADA klienti
  • Mobiilsete OPC monitoride ühendamine kohtvõrgu ja Interneti kaudu
  • Muidugi arhiveerimine ja aruannete genereerimine

Tundub, et midagi ei jäänud kahe silma vahele. Seal on süsteemi üldine kirjeldus ja nüüd tegelikult ka sellel teemal (kirjeldan elimineerimismeetodeid artiklites iga sõlme rakendamisega):

Esinenud raskused

1. PLC dokumentatsioon

Tootja märkis 4. aastal deklareeritud PLC beetatestimist MasterSCADA 2012D tuumal. Vaatamata kontseptsiooni muljetavaldavale elueale on arendajal 2019. aastal vaid 28 (!?) leheküljeline programmeerimisjuhend, millel on kasulikku teavet veidi vähem kui üldse ning juhendis olevad ekraanipildid on pärit MasterSCADA 3D-st, mis on päris naljakas, kui arvestada, et liides on muutunud.

20 teemast koosnevat foorumi lõime toetavad aktiivselt ka kolm järgijat ja müügijuht.

2. PLC moodulite arhitektuur

See on eraldi teema aruteluks. Lühidalt: PLC suhtleb moodulitega Modbus RTU alluvseadmetena, mis tuleb esmalt utiliidi poolt eraldi konfigureerida, ühendades mõlemad RS-485 muunduri kaudu arvutiga.

Targad poisid muidugi ilmselt oskavad seda teha ilma konverterita PLC kaudu, mooduleid järjest võrku ühendades ja vajalikke registreid kirjutades, aga sellega kaasneb kogemus ja tohutu valu.

Arendaja jaoks, kes näeb sellist arhitektuuri esimest korda, pole see sugugi kasutajasõbralik.
Samuti meeldib kõigile analoogmoodulitele teadmata põhjustel ebaõnnestuda, võttes endaga kaasa kogu RS-485 võrgu Terra Incognitas, aga sellest tahan ka eraldi rääkida, terve eepos muidugi. Probleem, muide, on 10 aastat vana, tootja naerab selle välja "Peame tunnistama, et mallid meie jaoks ei töötanud", aga see on ainuke liides moodulitega suhtlemiseks ja inimesed, päris tõsiselt, on oma Modbus RTU juurutusi kirjutanud juba pikemat aega.

Vahepeal sai kummelitee otsa... Päike oli loojumas

3. IDE MasterSCADA

Graafilistest tööriistadest me ei räägi, ma pole neid laialdaselt testinud, kuid ütlen kohe, et see mulle ei meeldinud.

Räägime andmevahetuse ja IEC standardkeelte rakendamisest:

Kontrolleri füüsilised sisendid ja väljundid ei ole globaalsed muutujad ning neile ei pääse ligi ühestki programmi osast, kirjutades varjunime, näiteks “DI1”. See tuleks pidemetega igasse programmi lohistada, sinna moodustatakse lokaalne muutuja, mis pärib või kannab üle väärtuse. Need. PLC olemus on minu nägemuses veidi kadunud: seade peaks lihtsustama füüsiliste kanalite tööloogika programmeerimist tasemele "Kui sisend DI1 käivitatakse, lülitage sisse väljund DO1"ja see näeb välja selline "Sisend DI1 - muutuja LI1 - muutuja LO1 - väljund DO1", samuti võite selle IDE põhimõtte teadmatuse tõttu tabada veetlevat hoiatust "Tõve-tõve teisendamine on võimatu" (tõenäoliselt on üks neist osuti, kuid ma kujutan ette, et loojate toimetajates on see harmoonilisem) .

ST, FBD, SFC keelte raamatukogud on üsna mahukad ja programmeerimise hõlbustamiseks on valik, kuid need komponendid ei ole funktsioonid, vaid klassid, millesse meetodid on manustatud, ja teiseks pole enamikul neist abi kirjeldamiseks. funktsioonid ja andmetüübid. Püsivus viis mind CodeSysi kerneli teekideni, kust kõik need funktsioonid võeti, nende abi aitas.

4. Vahetage SP307 paneeliga

Päris huvitav üritus neile, kel pole kuskil paar päeva veeta.

Standardne GUI testimine (HMI või SCADA) on minu jaoks 6 testi tegemine:

  1. Diskreetse signaali lugemine
  2. Diskreetse signaali salvestamine
  3. Täisarvu väärtuse lugemine
  4. Täisarvulise väärtuse kirjutamine
  5. Tõelise väärtuse lugemine
  6. Tõelise väärtuse kirjutamine

Vastavalt sellele joonistan ekraanile 6 primitiivset komponenti ja kontrollin igaüks järjekorras
Vahetus on absoluutselt sama, mis moodulitega, kuid eraldi RS-232/485 PLC pordist ja tundub, et stabiilsem. Kuna tegemist on HMI alluvaga, kirjutasin sellele muutmise teel ja lugesin seda 500 ms küsitluses, et mitte operaatori tegevustest ilma jääda.

Esimesed 4 punkti täideti ideaalselt, kuid punktid 5 ja 6 tekitasid probleeme.

Saadame Single Float tüüpi andmed, kuvame need ekraanile ja vaatame, et andmed pole samad, kuigi kõik väljundseaded (Float, dimension 1 register jne) on õiged. Oleks vale väita, et pretsedenti pole dokumentatsioonis kirjeldatud, kuid proovige leida, milline ja kus, see on väljastpoolt naljakas.

Pärast kõigi andmete ja nende saatmise sätete hüsteerilist otsimist, kirjutame tehnilisele toele, vastamine võtab keskmiselt 5-6 kalendripäeva, töötame standardse tehnilise toe skripti järgi “Kontrolli, kas toide on sisse lülitatud – kontrolli tarkvara versiooni – palun oota veel nädal – Lähme mõtleme ise välja ”.

Muide, see otsustati ühe puugi paigaldamisega absoluutselt ebaadekvaatsesse kohta absoluutselt ebaadekvaatse allkirjaga.

Ekraani funktsionaalsuses "Slider" vormingu analoogsignaali sisend ei kuulu komplekti, saab tekstiväljale sisestada ainult numbrite abil. See on lihtsalt hämmastav, kas kirjutame ise nupud "±" ja skripti või sisestame klaviatuurilt numbri ja unustame mõne draivi pehme juhtimise.

Ma ei koorma artiklit üle, seega kirjeldan tipptasemega seotud probleeme 2. osas.

Kokku võtma, Tahan märkida, et mul oli piisavalt vabadust ja palju aega nende esmapilgul naljakatena tunduvate, kuid ohvrile palju valu tekitavate probleemide lahendamiseks. Piiratud aja tingimustes on selliste probleemidega silmitsi seismine ülioluline.

PS: Kõik siin esitatud teesid on subjektiivsed ja on vaid katse hoiatada ettevalmistamatuid ja mitte diskrimineerida tootjaid, palun teil seda artiklit sellest vaatenurgast võtta.

Teine osa on juba siin: klõpsa

Allikas: www.habr.com

Lisa kommentaar