ARIES PLC110[M02]-MS4, HMI, OPC in SCADA ali koliko kamiličnega čaja človek potrebuje. 1. del

Dober dan, dragi bralci tega članka. To pišem v obliki ocene.

Malo opozoriloRad bi vas opozoril, da če ste iz naslova takoj razumeli, o čem govorimo, vam svetujem, da spremenite prvo točko (pravzaprav jedro PLC) v karkoli iz cenovne kategorije eno stopnjo višje.
Nobeno varčevanje ni subjektivno vredno toliko živcev.

Za tiste, ki se ne bojijo malo sivih las in amplitude živčnega tika, bom kasneje podrobno opisal, kako je nastal ta tehnološki čudež. Ta članek ponuja kratko analizo projekta z določeno mero kritike.

Izvor. Oblikovanje problema

Pravzaprav delam v oblikovalskem biroju in preizkušamo opremo za avtomatizacijo za integracijo v naše tovarne na ključ. Pred kratkim je oprema OWEN prispela v skladišče in odločeno je bilo, da se iz nje sestavi testno mizo:

  • PLC110[M02]-MS4 (izvršilno okolje MasterSCADA 4D)
  • Nadzorna plošča SP307
  • Univerzalni analogni signalni vhodni modul МВ110-224.2А
  • MV110-4TD vhodni modul signala merilnika napetosti
  • Električni merilni modul MV110-220.3M

Struktura sistema je bila izbrana z razlikovanjem omrežij glede na namen:

  1. Modbus RTU na osnovi RS-485 - komunikacija med PLC in podrejenimi napravami (moduli, frekvenčni pretvorniki, pametni senzorji, HMI plošča SP307), PLC omrežni master.
  2. Modbus TCP na osnovi Etherneta - Komunikacija različnih PLC-jev med seboj in s strežnikom OPC
  3. Sistem OPC in SCADA PC strežnik je hkrati prehod med dvema različnima omrežjema (Corporate LAN podjetja in Modbus TCP omrežje krmilnikov (dva omrežna adapterja z usmerjanjem podatkov s standardnimi orodji Windows)
  4. LAN podjetja ima dostop do interneta prek proxy strežnika

Splošna struktura sistema je prikazana na spodnji sliki:

ARIES PLC110[M02]-MS4, HMI, OPC in SCADA ali koliko kamiličnega čaja človek potrebuje. 1. del

Vgrajena funkcionalnost

  • Zbiranje in preusmeritev podatkov iz PLC na OPC strežnik
  • Lokalni nadzor in nadzor prek plošče HMI
  • Nadzor in nadzor iz SCADA preko OPC strežnika
  • Nadzor iz katerega koli osebnega računalnika iz LAN podjetja in prek interneta z uporabo odjemalca SCADA
  • Povezovanje mobilnih OPC monitorjev preko LAN in interneta
  • Seveda arhiviranje in generiranje poročil

Zdi se, da ni bilo nič zamujenega. Obstaja splošen opis sistema, zdaj pa pravzaprav na temo (metode odprave bom opisal v člankih z izvajanjem vsakega vozlišča):

Težave, ki so se pojavile

1. PLC dokumentacija

Proizvajalec je leta 4 navedel beta testiranje deklariranega PLC-ja na jedru MasterSCADA 2012D. Kljub tako impresivni življenjski dobi koncepta je vse, kar ima razvijalec v letu 2019 programski priročnik na 28 (!?) straneh, na katerem je malo manj kot nič uporabnih informacij, posnetki zaslona v priročniku pa so iz MasterSCADA 3D, kar je precej smešno, če upoštevamo, da se je vmesnik spremenil.

Forumsko nit 20 tem aktivno podpirajo tudi trije privrženci in vodja prodaje.

2. Arhitektura PLC modulov

To je ločena tema za razpravo. Na kratko: PLC komunicira z moduli kot podrejene naprave Modbus RTU, ki jih mora pripomoček najprej ločeno konfigurirati tako, da vsako poveže z osebnim računalnikom prek pretvornika RS-485.

Pametni fantje seveda verjetno vedo, kako to narediti brez pretvornika preko PLC-ja, zaporednega povezovanja modulov v omrežje in pisanja potrebnih registrov, vendar to pride z izkušnjami in ogromno muke.

Za razvijalca, ki takšno arhitekturo vidi prvič, ni prav nič prijazna do uporabnika.
Tudi vsi analogni moduli radi odpovejo iz neznanih razlogov, s seboj vzamejo celotno omrežje RS-485 v Terra Incognita, a tudi o tem želim govoriti ločeno, seveda cela epopeja. Mimogrede, problem je star 10 let, proizvajalec se mu posmehuje "Moramo priznati, da predloge niso delovale za nas", vendar je to edini vmesnik za komunikacijo z moduli in ljudje, čisto resno, že dolgo pišejo svoje izvedbe Modbus RTU.

Kamiličnega čaja je medtem zmanjkovalo... Sonce je zahajalo

3. IDE MasterSCADA

Ne bomo govorili o grafičnih orodjih, nisem jih preizkusil v veliki meri, vendar bom takoj rekel, da mi ni bilo všeč.

Govorimo o izvajanju izmenjave podatkov in standardnih jezikih IEC:

Fizični vhodi in izhodi krmilnika niso globalne spremenljivke in do njih ni mogoče dostopati iz katerega koli dela programa z zapisom vzdevka, na primer »DI1«. To morate povleči v vsak program z uporabo ročajev, tam se oblikuje lokalna spremenljivka, ki podeduje ali prenese vrednost. Tisti. samo bistvo PLC-ja je po mojem mnenju nekoliko izgubljeno: naprava naj poenostavi programiranje logike delovanja fizičnih kanalov na raven "Če se sproži vhod DI1, vklopite izhod DO1"in izgleda takole "Vhod DI1 - spremenljivka LI1 - spremenljivka LO1 - izhod DO1", prav tako lahko zaradi nepoznavanja tega načela IDE ujamete čudovito opozorilo "Boolean-Boolean pretvorba ni mogoča" (najverjetneje je eden od njih kazalec, vendar si predstavljam, da je v urednikih ustvarjalcev bolj harmonično) .

Knjižnice jezikov ST, FBD, SFC so precej obsežne in obstaja možnost izbire za enostavno programiranje, vendar te komponente niso funkcije, ampak razredi, znotraj katerih so vdelane metode, in drugič, večina nima pomoči pri opisovanju funkcionalnost in vrste podatkov. Vztrajnost me je pripeljala do knjižnic jedra CodeSys, od koder so bile vse te funkcije vzete, njihova pomoč je pomagala.

4. Zamenjava s ploščo SP307

Zelo zanimiv dogodek za tiste, ki nimajo kje preživeti nekaj dni.

Standardno testiranje GUI (HMI ali SCADA) je zame izvedba 6 testov:

  1. Branje diskretnega signala
  2. Snemanje diskretnega signala
  3. Branje celoštevilske vrednosti
  4. Pisanje celoštevilske vrednosti
  5. Branje prave vrednosti
  6. Pisanje prave vrednosti

V skladu s tem na zaslon narišem 6 primitivnih komponent in preverim vsako po vrsti
Izmenjava je popolnoma enaka kot pri modulih, vendar iz ločenega RS-232/485 PLC porta in, kot kaže, bolj stabilna. Ker je podrejeni HMI, sem mu pisal s spremembami in ga prebral v 500ms pollingu, da ne bi zamudil dejanj operaterja.

Prve 4 točke so bile zaključene odlično, točke 5 in 6 pa so povzročale težave.

Pošljemo podatke tipa Single Float, jih prikažemo na ekranu in vidimo, da podatki niso enaki, čeprav so vse izhodne nastavitve (Float, register dimenzije 1 itd.) pravilne. Lagali bi, če bi rekli, da precedens ni opisan v dokumentaciji, vendar poskusite najti, kateri in kje, od zunaj je smešno.

Po histeričnem preiskovanju vseh nastavitev glede samih podatkov in njihovega pošiljanja, pišemo tehnični podpori, odgovor traja v povprečju 5-6 koledarskih dni, delamo po standardnem skriptu tehnične podpore »Preverite, ali je napajanje vklopljeno - preverite različico programske opreme - počakajte še en teden - Pojdimo sami ugotoviti ”.

Mimogrede, odločilo se je z namestitvijo ene kljukice na popolnoma neustrezno mesto z absolutno neustreznim podpisom.

V funkciji zaslona Analogni signalni vhod formata "Slider" ni vključen, je mogoče v besedilno polje vnesti samo s številkami. To je preprosto neverjetno, ali sami napišemo gumbe "±" in skript ali pa vnesemo številko s tipkovnice in pozabimo na mehko upravljanje nekega pogona.

Članka ne bom preveč obremenjeval, zato bom težave z najvišjo stopnjo opisal v 2. delu.

Povzeti, Želim poudariti, da sem imel dovolj svobode in veliko časa za reševanje teh težav, ki se na prvi pogled zdijo smešne, a žrtev povzročajo veliko bolečine. V razmerah omejenega časa je kritično soočiti se s takšnimi težavami.

PS: Vse tukaj predstavljene teze so subjektivne in so zgolj poskus opozarjanja nepridipravov in ne diskriminacije proizvajalcev, prosim vas, da ta članek vzamete s tega vidika.

Drugi del je že tukaj: kliknite

Vir: www.habr.com

Dodaj komentar