ARIES PLC110[M02]-MS4, HMI, OPC i SCADA, ili koliko čaja od kamilice treba osobi. Dio 1

Dobar dan, dragi čitaoci ovog članka. Pišem ovo u obliku recenzije.

Malo upozorenjeUpozoravam vas da ako ste odmah shvatili o čemu govorimo iz naslova, savjetujem vam da promijenite prvu tačku (u stvari, PLC jezgro) u bilo šta iz cjenovne kategorije za korak više.
Nijedna ušteda nije vrijedna toliko živaca, subjektivno.

Za one koji se ne boje malo sijede kose i amplitude nervnog tika, kasnije ću detaljno opisati kako je nastalo ovo tehnološko čudo. Ovaj članak daje kratku analizu projekta sa određenom dozom kritike.

Porijeklo. Formulacija problema

Zapravo, radim u dizajnerskom birou i testiramo opremu za automatizaciju za integraciju u naše fabrike po sistemu ključ u ruke. Nedavno je u skladište stigla OWEN oprema i odlučeno je da se od nje sastavi probni sto:

  • PLC110[M02]-MS4 (izvršno okruženje MasterSCADA 4D)
  • Upravljački panel SP307
  • Univerzalni modul za ulaz analognog signala MV110-224.2A
  • MV110-4TD Ulazni modul signala mjerača naprezanja
  • Električni mjerni modul MV110-220.3M

Struktura sistema izabran je sa diferencijacijom mreža prema namjeni:

  1. Modbus RTU baziran na RS-485 - komunikacija između PLC-a i slave uređaja (moduli, frekventni pretvarači, pametni senzori, HMI panel SP307), PLC mrežni master.
  2. Modbus TCP zasnovan na Ethernetu - Komunikacija različitih PLC-ova međusobno i sa OPC serverom
  3. OPC i SCADA sistem PC server je istovremeno prolaz između dvije različite mreže (korporativni LAN preduzeća i Modbus TCP mreža kontrolera (dva mrežna adaptera sa usmjeravanjem podataka pomoću standardnih Windows alata)
  4. Korporativni LAN ima pristup Internetu preko proxy servera

Opšta struktura sistema je prikazana na slici ispod:

ARIES PLC110[M02]-MS4, HMI, OPC i SCADA, ili koliko čaja od kamilice treba osobi. Dio 1

Ugrađena funkcionalnost

  • Prikupljanje i preusmjeravanje podataka sa PLC-a na OPC server
  • Lokalna kontrola i nadzor preko HMI panela
  • Kontrola i nadzor iz SCADA preko OPC servera
  • Kontrolišite sa bilo kog računara iz LAN mreže preduzeća i preko Interneta koristeći SCADA klijent
  • Povezivanje mobilnih OPC monitora putem LAN-a i Interneta
  • Naravno, arhiviranje i generiranje izvještaja

Čini se kao da ništa nije propušteno. Postoji opći opis sistema, a sada, zapravo, na temu (opisat ću metode eliminacije u člancima s implementacijom svakog čvora):

Poteškoće

1. PLC dokumentacija

Beta testiranje deklariranog PLC-a na MasterSCADA 4D jezgru je naznačio proizvođač 2012. godine. Unatoč tako impresivnom vijeku trajanja koncepta, sve što programer ima u 2019. godini je priručnik za programiranje od 28 (!?) stranica, na kojima ima malo manje korisnih informacija, a screenshotovi u priručniku su iz MasterSCADA 3D, što je prilično smiješno s obzirom da se promijenio interfejs.

Nit na forumu od 20 tema također aktivno podržavaju tri pratioca i menadžer prodaje.

2. Arhitektura PLC modula

Ovo je posebna tema za diskusiju. Ukratko: PLC komunicira sa modulima kao Modbus RTU slave uređajima, koje prvo mora konfigurisati uslužni program posebno povezivanjem svakog na PC preko RS-485 pretvarača.

Pametni momci, naravno, to vjerovatno znaju napraviti bez pretvarača preko PLC-a, uzastopnog povezivanja modula na mrežu i upisivanja potrebnih registara, ali to dolazi s iskustvom i ogromnom mukom.

Za programera koji prvi put vidi takvu arhitekturu, ona nije nimalo laka za upotrebu.
Takođe, svi analogni moduli vole da pokvare iz nepoznatih razloga, ponevši sa sobom čitavu RS-485 mrežu u Terra Incogniti, ali o ovome želim da pričam i odvojeno, čitava epa, naravno. Problem je, inače, star 10 godina, proizvođač se smije “Moramo priznati da nam šabloni nisu radili”, međutim, ovo je jedini interfejs za komunikaciju sa modulima, a ljudi, sasvim ozbiljno, već duže vreme pišu svoje Modbus RTU implementacije.

U međuvremenu je ponestajao čaj od kamilice... Sunce je zalazilo

3. IDE MasterSCADA

Nećemo govoriti o grafičkim alatima; nisam ih opširno testirao, ali ću odmah reći da mi se nije dopao.

Riječ je o implementaciji razmjene podataka i IEC standardnih jezika:

Fizički ulazi i izlazi kontrolera nisu globalne varijable i ne može im se pristupiti iz bilo kojeg dijela programa pisanjem aliasa, na primjer “DI1”. Trebali biste ovo prevući u svaki program koristeći ručke, tamo se formira lokalna varijabla koja nasljeđuje ili prenosi vrijednost. One. sama suština PLC-a, u mojoj viziji, je malo izgubljena: uređaj bi trebao pojednostaviti programiranje logike rada fizičkih kanala do nivoa “Ako se aktivira ulaz DI1, uključite izlaz DO1”i izgleda ovako "Ulaz DI1 - Varijabla LI1 - Varijabla LO1 - Izlaz DO1", također, zbog nepoznavanja ovog IDE principa, možete uhvatiti divno upozorenje "Boolean-Boolean konverzija je nemoguća" (najvjerovatnije, jedan od njih je pokazivač, ali pretpostavljam da je u urednicima kreatora skladniji) .

Biblioteke ST, FBD, SFC jezika su prilično obimne i postoji izbor za jednostavnost programiranja, međutim, ove komponente nisu funkcije, već klase unutar kojih su metode ugrađene, a drugo, većina nema pomoć pri opisivanju funkcionalnost i tipove podataka. Upornost me je dovela do CodeSys kernel biblioteka, odakle su sve ove funkcije preuzete, njihova pomoć je pomogla.

4. Razmjena sa SP307 panelom

Prilično zanimljiv događaj za one koji nemaju gdje provesti par dana.

Standardno GUI testiranje (HMI ili SCADA) za mene je da uradim 6 testova:

  1. Čitanje diskretnog signala
  2. Snimanje diskretnog signala
  3. Čitanje cjelobrojne vrijednosti
  4. Pisanje cjelobrojne vrijednosti
  5. Čitanje prave vrijednosti
  6. Pisanje prave vrijednosti

Shodno tome, nacrtam 6 primitivnih komponenti na ekranu i provjeravam svaku po redu
Razmjena je apsolutno ista kao kod modula, ali sa posebnog RS-232/485 PLC porta i, čini se, stabilnija. Pošto je HMI slave, pisao sam mu izmjenom i pročitao ga u 500ms anketiranju, kako ne bih propustio radnje operatera.

Prve 4 tačke su odrađene savršeno, ali su tačke 5 i 6 stvarale probleme.

Šaljemo podatke tipa Single Float, prikazujemo ih na ekranu i vidimo da podaci nisu isti, iako su sva izlazna podešavanja (Float, registar dimenzija 1, itd.) ispravna. Laž bi bilo reći da presedan nije opisan u dokumentaciji, međutim, pokušajte pronaći koji i gdje, to je izvana smiješno.

Nakon histerične pretrage svih postavki u vezi samih podataka i njihovog slanja, Pišemo tehničkoj podršci, odgovor je u prosjeku 5-6 kalendarskih dana, radimo po standardnoj skripti tehničke podrške „Provjerite da li je napajanje uključeno - provjerite verziju softvera - pričekajte još tjedan dana - Idemo sami shvatiti ”.

Inače, odlučeno je postavljanjem jedne kvačice na apsolutno neadekvatno mjesto sa apsolutno neadekvatnim potpisom.

U funkcionalnosti ekrana Analogni signalni ulaz formata “Slider” nije uključen, može se unijeti samo u tekstualno polje pomoću brojeva. Ovo je jednostavno nevjerovatno, ili sami napišemo “±” dugmad i skriptu, ili unesemo broj sa tastature, a zaboravimo na meku kontrolu nekog drajva.

Neću preopteretiti članak, pa ću u drugom dijelu opisati probleme s najvišim nivoom.

Da rezimiramo, Želim da napomenem da sam imao dovoljno slobode i dosta vremena da riješim ove probleme koji na prvi pogled djeluju smiješno, ali žrtvi nanose mnogo bola. U uslovima ograničenog vremena, kritično je suočiti se sa takvim problemima.

PS: Sve teze ovdje iznesene su subjektivne, i samo su pokušaj da se upozore nespremni, a ne da se diskriminišu proizvođači, molim vas da ovaj članak uzmete sa ove tačke gledišta.

Drugi dio je već tu: kliknite

izvor: www.habr.com

Dodajte komentar