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

Dobar dan, dragi čitatelji ovog članka. Ovo pišem u obliku recenzije.

Malo upozorenjeHtio bih vas upozoriti da ako ste odmah shvatili o čemu govorimo iz naslova, savjetujem vam da promijenite prvu točku (zapravo, PLC jezgru) u bilo što iz cjenovne kategorije za jedan korak više.
Nikakva ušteda nije subjektivno vrijedna toliko živaca.

Za one koji se ne boje malo sijede kose i amplitude živčanog tika, kasnije ću detaljno opisati kako je nastalo ovo tehnološko čudo. Ovaj članak daje kratku analizu projekta uz određenu dozu kritike.

Podrijetlo. Formulacija problema

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

  • PLC110[M02]-MS4 (izvršno okruženje MasterSCADA 4D)
  • Upravljačka ploča SP307
  • Univerzalni analogni signalni ulazni modul MV110-224.2A
  • MV110-4TD modul za ulazni signal mjerača naprezanja
  • Električni mjerni modul MV110-220.3M

Struktura sustava odabran je uz razlikovanje mreža prema namjeni:

  1. Modbus RTU baziran na RS-485 - komunikacija između PLC-a i slave uređaja (moduli, pretvarači frekvencije, pametni senzori, HMI panel SP307), PLC mrežni master.
  2. Modbus TCP temeljen na Ethernetu - Komunikacija različitih PLC-ova međusobno i s OPC poslužiteljem
  3. OPC i SCADA sustav PC poslužitelj je istovremeno gateway između dvije različite mreže (Corporate LAN poduzeća i Modbus TCP mreža kontrolera (dva mrežna adaptera s usmjeravanjem podataka pomoću standardnih Windows alata)
  4. Korporacijski LAN ima pristup Internetu putem proxy poslužitelja

Opća struktura sustava prikazana je na slici ispod:

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

Ugrađena funkcionalnost

  • Prikupljanje i preusmjeravanje podataka s PLC-a na OPC poslužitelj
  • Lokalno upravljanje i nadzor putem HMI ploče
  • Upravljanje i nadzor iz SCADA-e preko OPC servera
  • Kontrola s bilo kojeg osobnog računala iz LAN-a poduzeća i putem interneta pomoću SCADA klijenta
  • Povezivanje mobilnih OPC monitora putem LAN-a i Interneta
  • Naravno, arhiviranje i generiranje izvještaja

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

Naišle su poteškoće

1. PLC dokumentacija

Beta testiranje deklariranog PLC-a na jezgri MasterSCADA 4D je naznačeno od strane proizvođača 2012. godine. Unatoč tako impresivnom životnom vijeku koncepta, sve što programer ima u 2019. godini je programski priručnik od 28 (!?) stranica, na kojem nema nešto manje korisnih informacija, a screenshotovi u priručniku su iz MasterSCADA 3D, što je prilično smiješno s obzirom da se sučelje promijenilo.

Forumsku nit od 20 tema također aktivno podržavaju tri sljedbenika i voditelj prodaje.

2. Arhitektura PLC modula

Ovo je posebna tema za raspravu. Ukratko: PLC komunicira s modulima kao Modbus RTU podređeni uređaji, koje prvo mora posebno konfigurirati uslužni program spajanjem svakog na računalo preko RS-485 pretvarača.

Pametni dečki, naravno, vjerojatno znaju kako to učiniti bez pretvarača preko PLC-a, sekvencijalnog povezivanja modula s mrežom i pisanja potrebnih registara, ali to dolazi s iskustvom i velikom količinom boli.

Za programera koji prvi put vidi takvu arhitekturu, ona nije nimalo laka za korištenje.
Također, svi analogni moduli vole pokvariti iz nepoznatih razloga, noseći sa sobom cijelu RS-485 mrežu u Terra Incognita, ali o tome također želim govoriti zasebno, cijeli ep, naravno. Problem je, inače, star 10 godina, proizvođač mu se smije “Moramo priznati da predlošci nisu radili za nas”, međutim, ovo je jedino sučelje za komunikaciju s modulima, a ljudi, sasvim ozbiljno, već dugo pišu svoje Modbus RTU implementacije.

U međuvremenu, čaj od kamilice je bio na izmaku... Sunce je zalazilo

3. IDE MasterSCADA

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

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 to povući u svaki program koristeći handle, tamo se formira lokalna varijabla koja nasljeđuje ili prenosi vrijednost. Oni. sama bit PLC-a, po mojoj viziji, pomalo je izgubljena: uređaj bi trebao pojednostaviti programiranje logike rada fizičkih kanala na razinu "Ako se aktivira ulaz DI1, uključite izlaz DO1"a 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" (najvjerojatnije je jedan od njih pokazivač, ali pretpostavljam da je u uređivačima kreatora skladniji) .

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

4. Zamjena s panelom SP307

Vrlo zanimljiv događaj za one koji nemaju gdje provesti par dana.

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

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

U skladu s tim, nacrtam 6 primitivnih komponenti na ekranu i provjerim svaku redom
Razmjena je apsolutno ista kao kod modula, ali sa zasebnog RS-232/485 PLC porta, i čini se stabilnija. Budući da je HMI slave, pisao sam mu po promjeni i čitao ga u prozivanju od 500 ms, kako ne bih propustio radnje operatera.

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

Šaljemo podatke tipa Single Float, prikazujemo ih na ekranu i vidimo da podaci nisu isti, iako su sve izlazne postavke (Float, registar dimenzije 1 itd.) točne. Bilo bi laž reći da presedan nije opisan u dokumentaciji, ali pokušajte pronaći koji i gdje, izvana je smiješno.

Nakon histeričnog pretraživanja svih postavki oko samih podataka i njihovog slanja, Pišemo tehničkoj podršci, odgovor je u prosjeku 5-6 kalendarskih dana, radimo prema standardnoj skripti tehničke podrške “Provjerite je li struja uključena - provjerite verziju softvera - pričekajte još tjedan dana - Idemo to sami shvatiti ”.

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

U funkcionalnosti zaslona Ulaz analognog signala "Slider" formata nije uključen, mogu se unijeti samo u tekstualno polje pomoću brojeva. Ovo je jednostavno nevjerojatno, ili sami napišemo tipke “±” i skriptu ili unesemo broj s tipkovnice i zaboravimo na soft kontrolu nekog pogona.

Neću previše opteretiti članak, pa ću probleme s najvišom razinom opisati u 2. dijelu.

Sažeti, Napominjem da sam imao dovoljno slobode i dosta vremena za rješavanje ovih problema koji na prvi pogled izgledaju smiješno, a žrtvi nanose veliku bol. U uvjetima ograničenog vremena, kritično je suočiti se s takvim problemima.

PS: Sve ovdje iznesene teze su subjektivne, i samo su pokušaj upozorenja nespremnima, a ne diskriminacije proizvođača, molim vas da ovaj članak shvatite s tog stajališta.

Drugi dio je već tu: klik

Izvor: www.habr.com

Dodajte komentar