ARIES PLC110[M02]-MS4, HMI, OPC ir SCADA, arba kiek žmogui reikia Ramunėlių arbatos. 1 dalis

Laba diena, mieli šio straipsnio skaitytojai. Rašau tai apžvalgos formatu.

Mažas įspėjimasNoriu perspėti, kad jei iš pavadinimo iš karto supratote apie ką mes kalbame, patariu pirmą tašką (faktiškai PLC branduolį) pakeisti į bet ką iš laipteliu aukštesnės kainos kategorijos.
Joks pinigų taupymas nėra vertas tiek nervų, subjektyviai.

Tiems, kurie nebijo šiek tiek žilų plaukų ir nervinio tiko amplitudės, vėliau išsamiai aprašysiu, kaip buvo sukurtas šis technologinis stebuklas. Šiame straipsnyje pateikiama trumpa projekto analizė su tam tikra kritika.

Kilmė. Problemos formulavimas

Tiesą sakant, aš dirbu projektavimo biure ir mes testuojame automatikos įrangą, skirtą integruoti į mūsų gamyklas iki galo. Neseniai į sandėlį atkeliavo OWEN įranga ir buvo nuspręsta iš jos surinkti bandymų stendą:

  • PLC110[M02]-MS4 (vykdomoji aplinka MasterSCADA 4D)
  • Operatoriaus skydelis SP307
  • Universalus analoginio signalo įvesties modulis МВ110-224.2А
  • MV110-4TD deformacijos matuoklio signalo įvesties modulis
  • Elektros matavimo modulis MV110-220.3M

Sistemos struktūra buvo pasirinktas diferencijuojant tinklus pagal paskirtį:

  1. Modbus RTU RS-485 pagrindu - ryšys tarp PLC ir pavaldinių įrenginių (modulių, dažnio keitiklių, išmaniųjų jutiklių, HMI skydelio SP307), PLC tinklo valdiklio.
  2. Modbus TCP, pagrįstas Ethernet - skirtingų PLC ryšys tarpusavyje ir su OPC serveriu
  3. OPC ir SCADA sistemos PC serveris vienu metu yra vartai tarp dviejų skirtingų tinklų (įmonės LAN ir Modbus TCP valdiklių tinklas (du tinklo adapteriai su duomenų nukreipimu naudojant standartinius Windows įrankius)
  4. Įmonės LAN turi prieigą prie interneto per tarpinį serverį

Bendra sistemos struktūra parodyta paveikslėlyje žemiau:

ARIES PLC110[M02]-MS4, HMI, OPC ir SCADA, arba kiek žmogui reikia Ramunėlių arbatos. 1 dalis

Integruotas funkcionalumas

  • Duomenų rinkimas ir peradresavimas iš PLC į OPC serverį
  • Vietinis valdymas ir stebėjimas per HMI skydelį
  • Valdymas ir stebėjimas iš SCADA per OPC serverį
  • Valdymas iš bet kurio kompiuterio iš įmonės LAN ir internetu naudojant SCADA klientą
  • Mobiliųjų OPC monitorių prijungimas per LAN ir internetą
  • Žinoma, archyvavimas ir ataskaitų generavimas

Atrodo, nieko nepraleista. Yra bendras sistemos aprašymas, o dabar iš tikrųjų tema (straipsniuose aprašysiu pašalinimo būdus su kiekvieno mazgo įgyvendinimu):

Susidūrę sunkumai

1. PLC dokumentacija

Deklaruoto PLC beta testavimą MasterSCADA 4D branduolyje gamintojas nurodė 2012 m. Nepaisant tokios įspūdingos koncepcijos gyvavimo trukmės, 2019 m. kūrėjas turi tik 28 (!?) puslapių programavimo vadovą, kuriame yra šiek tiek mažiau nei jokios naudingos informacijos, o vadove esančios ekrano nuotraukos yra iš MasterSCADA 3D, o tai gana juokinga atsižvelgiant į tai, kad sąsaja pasikeitė.

20 temų forumo giją taip pat aktyviai palaiko trys šalininkai ir pardavimų vadybininkas.

2. PLC modulių architektūra

Tai atskira tema diskusijoms. Trumpai: PLC bendrauja su moduliais kaip Modbus RTU pagalbiniais įrenginiais, kuriuos pirmiausia turi sukonfigūruoti paslaugų programa atskirai, kiekvieną prijungiant prie kompiuterio per RS-485 keitiklį.

Protingi vyrukai, žinoma, tikriausiai žino, kaip tai padaryti be keitiklio per PLC, nuosekliai jungiant modulius prie tinklo ir rašant reikiamus registrus, tačiau tai ateina su patirtimi ir didžiuliu skausmu.

Kūrėjui, kuris tokią architektūrą mato pirmą kartą, ji visai nėra patogi.
Be to, visi analoginiai moduliai mėgsta sugesti dėl neaiškių priežasčių, pasiėmę su jais visą RS-485 tinklą Terra Incognita, bet apie tai noriu pakalbėti ir atskirai, žinoma, visa epopėja. Problema, beje, 10 metų senumo, gamintojas juokiasi „Turime pripažinti, kad šablonai mums netiko“, tačiau tai vienintelė sąsaja, skirta bendrauti su moduliais, o žmonės, gana rimtai, jau seniai rašo savo Modbus RTU diegimus.

Tuo tarpu ramunėlių arbata baigėsi... Saulė leidosi

3. IDE MasterSCADA

Apie grafinius įrankius nekalbėsime, aš jų daug neišbandžiau, bet iš karto pasakysiu, kad nepatiko.

Kalbame apie duomenų mainų ir IEC standartinių kalbų įgyvendinimą:

Valdiklio fiziniai įėjimai ir išėjimai nėra globalūs kintamieji ir jų negalima pasiekti iš bet kurios programos dalies įrašant slapyvardį, pavyzdžiui, „DI1“. Turėtumėte tai vilkti į kiekvieną programą naudodami rankenas, ten susidaro vietinis kintamasis, kuris paveldi arba perduoda reikšmę. Tie. pati PLC esmė, mano vizija, yra šiek tiek prarasta: įrenginys turėtų supaprastinti fizinių kanalų veikimo logikos programavimą iki lygio „Jei suveikia įėjimas DI1, įjunkite išėjimą DO1“ir atrodo taip „Įvestis DI1 – kintamasis LI1 – kintamasis LO1 – išvestis DO1“, taip pat dėl ​​šio IDE principo nežinojimo galite pagauti puikų įspėjimą „Boolean-Boolean konvertavimas neįmanomas“ (greičiausiai vienas iš jų yra rodyklė, bet aš įsivaizduoju, kad kūrėjų redaktoriuose jis yra harmoningesnis) .

ST, FBD, SFC kalbų bibliotekos yra gana didelės ir yra galimybė lengviau programuoti, tačiau šie komponentai yra ne funkcijos, o klasės, kuriose yra įterpti metodai, ir, antra, dauguma jų neturi pagalbos apibūdinti. funkcionalumą ir duomenų tipus. Atkaklumas mane atvedė į CodeSys branduolio bibliotekas, iš kur buvo paimtos visos šios funkcijos, jų pagalba padėjo.

4. Keisti su SP307 skydeliu

Gana įdomus renginys tiems, kurie neturi kur praleisti porą dienų.

Standartinis GUI testavimas (HMI arba SCADA) man yra atlikti 6 testus:

  1. Diskretaus signalo skaitymas
  2. Diskretaus signalo įrašymas
  3. Sveikojo skaičiaus reikšmės skaitymas
  4. Sveikojo skaičiaus reikšmės rašymas
  5. Skaityti tikrą vertę
  6. Rašyti tikrą vertę

Atitinkamai ekrane nupiešiu 6 primityvius komponentus ir kiekvieną patikrinu eilės tvarka
Keitimas absoliučiai toks pat kaip ir su moduliais, bet iš atskiro RS-232/485 PLC prievado ir, atrodo, stabilesnis. Kadangi tai yra HMI vergas, parašiau jai pakeisdamas ir perskaičiau 500 ms apklausoje, kad nepraleisčiau operatoriaus veiksmų.

Pirmi 4 taškai buvo atlikti puikiai, tačiau 5 ir 6 punktai sukėlė problemų.

Siunčiame Single Float tipo duomenis, atvaizduojame juos ekrane ir matome, kad duomenys nėra vienodi, nors visi išvesties nustatymai (Float, 1 dimensijos registras ir kt.) yra teisingi. Teigti, kad precedentas dokumentacijoje neaprašytas, būtų melas, tačiau pabandykite surasti, kuris ir kur, juokinga iš šalies.

Po isteriškos visų nustatymų, susijusių su pačiais duomenimis ir jų siuntimu, paieškos, Rašome į techninę pagalbą, atsakymas yra vidutiniškai 5-6 kalendorinės dienos, dirbame pagal standartinį techninio palaikymo scenarijų „Patikrinkite ar įjungtas maitinimas - patikrinkite programinės įrangos versiją - palaukite dar savaitę - Eikime patys išsiaiškinti “.

Beje, taip nuspręsta įmontavus vieną varnelę absoliučiai neadekvačioje vietoje su absoliučiai neadekvačiu parašu.

Ekrano funkcionalumo atžvilgiu „Slider“ formato analoginio signalo įvestis neįtraukta, teksto lauke galima įvesti tik naudojant skaičius. Tai tiesiog nuostabu, arba patys rašome „±“ mygtukus ir scenarijų, arba įvedame skaičių iš klaviatūros ir pamirštame apie minkštą kurio nors disko valdymą.

Per daug neapkrausiu straipsnio, todėl 2 dalyje aprašysiu aukščiausio lygio problemas.

Apibendrinti, Noriu pastebėti, kad turėjau pakankamai laisvės ir daug laiko išspręsti šias problemas, kurios iš pirmo žvilgsnio atrodo juokingos, bet sukelia aukai daug skausmo. Riboto laiko sąlygomis labai svarbu susidurti su tokiomis problemomis.

PS: Visos čia pateiktos tezės yra subjektyvios ir yra tik bandymas perspėti nepasiruošusius, o ne diskriminuoti gamintojus, prašau pažvelgti į šį straipsnį šiuo požiūriu.

Antroji dalis jau čia: spustelėkite

Šaltinis: www.habr.com

Добавить комментарий