OVEN PLC110[M02]-MS4, HMI, OPC și SCADA, sau cât de multă ceai de mușețel îi trebuie unei persoane. Partea 1

Bună ziua, dragi cititori ai acestui articol. Scriu aceasta sub forma unei recenzii

O mică atenționareVreau să vă avertizez că, dacă ați înțeles imediat despre ce este vorba din titlu, vă sfătuiesc să schimbați primul punct (de fapt, nucleul PLC) cu ceva din categoria de preț de un nivel superior.
Nici o economie de bani nu merită atâtea nervi, subiectiv.

Pentru cei pe care nu îi sperie câteva fire albe și o amplitudine a ticurilor nervoase, mai târziu voi descrie în detaliu cum a fost creat această minune tehnologică. În acest articol, voi face o analiză scurtă a proiectului cu un anumit grad de critică.

Nașterea. Definirea sarcinii

De fapt, lucrez într-un birou de proiectare, și testăm echipamente de automatizare pentru integrarea în fabricile noastre turn-key. Recent, a sosit echipamentul OVEN și am decis să montăm un stand de testare din acesta:

  • PLC110[M02]-MS4 (mediul de execuție MasterSCADA 4D)
  • Panoul operator SP307
  • Modulul universal de intrare a semnalelor analogice MV110-224.2A
  • Modulul de intrare pentru semnalele senzoriale MV110-4TD
  • Modulul de măsurare electrică MV110-220.3M

Structura sistemului a fost aleasă cu delimitarea rețelelor pe baza destinației:

  1. Modbus RTU pe bază de RS-485 — comunicarea PLC cu dispozitivele subordonate (module, convertizoare de frecvență, senzori inteligenți, panoul HMI SP307), PLC-maestru al rețelei.
  2. Modbus TCP pe bază de Ethernet — Comunicarea diferitelor PLC între ele și cu serverul OPC
  3. PC-serverul OPC și sistemele SCADA constituie simultan un gateway între două rețele diferite (LAN corporate și rețeaua Modbus TCP a controllerelor (două adaptoare de rețea cu rutare de date prin intermediul instrumentelor standard Windows)
  4. LAN corporate are ieșire pe internet prin intermediul unui server proxy

Structura sistemului în imagine generală este prezentată în imaginea de mai jos:

OVEN PLC110[M02]-MS4, HMI, OPC și SCADA, sau cât de multă ceai de mușețel îi trebuie unei persoane. Partea 1

Funcționalitatea încorporată

  • Colectarea și redirecționarea datelor de la PLC către serverul OPC
  • Control local și monitorizare prin intermediul panoului HMI
  • Control și monitorizare din SCADA prin serverul OPC
  • Control de pe orice PC din LAN-ul companiei și prin internet cu ajutorul clientului SCADA
  • Conectarea monitorilor OPC mobile prin LAN și internet
  • Desigur, arhivarea și generarea rapoartelor

Se pare că nu am omis nimic. Există o descriere generală a sistemului, iar acum, de fapt, pe tema noastră (metodele de soluționare vor fi descrise în articole cu implementarea fiecărui nod):

Dificultățile întâmpinate

1. Documentația pentru PLC

Beta-testing of the declared PLC based on MasterSCADA 4D was indicated by the manufacturer in 2012. Despite such an impressive lifespan of the concept, all the developer has in 2019 is a programming manual of 28 pages, which contains almost no useful information, and the screenshots in the manual are from MasterSCADA 3D, which is quite amusing considering the interface has changed.

The forum thread is also actively supported by three advocates and a sales manager in 20 topics.

2. PLC Architecture

This is a separate topic for discussion. Briefly: the PLC communicates with modules as Modbus RTU slave devices, which must be configured separately using a utility by connecting each to a PC through an RS-485 converter.

Smart uncles, of course, can surely do this without a converter through the PLC, connecting the modules in sequence to the network and writing the necessary registers, but this comes with experience and a lot of pain.

For a developer seeing such architecture for the first time, it is not very user-friendly.
Also, all analog modules tend to fail for unknown reasons, taking the entire RS-485 network into Terra Incognita with them, but I also want to discuss this separately; it is quite an epic, of course. This issue, by the way, has been around for about 10 years; the manufacturer jokes about it. «It must be acknowledged, our templates did not succeed», however, this is the only interface for communication with the modules, and people, quite seriously, have long written their implementations of Modbus RTU.

Meanwhile, the chamomile tea was running out… The sun was setting

3. IDE MasterSCADA

I won't talk about graphic tools, I didn't test them extensively, but I will say right away that I didn't like them.

We are talking about the implementation of data exchange and the languages of the IEC standard:

The physical inputs and outputs of the controller are not global variables, and one cannot access them from any part of the program by merely writing an alias, like «DI1». Each program must manually drag this in, there a local variable is formed which inherits or transmits the value. That is, the essence of the PLC, in my view, is somewhat lost: the device should simplify programming the logic of physical channel operation to the level «If input DI1 is triggered — Turn on output DO1», and it looks like this «Intrare DI1 — Variabilă LI1 — Variabilă LO1-Căutare DO1», de asemenea, din ignoranța acestui principiu IDE se poate obține un avertisment uimitor „Conversia Boolean-Boolean este imposibilă” (cel mai probabil, unul dintre ele este un pointer, dar îmi imaginez în redacția creatorilor, așa pare mai armonios).

Bibliotecile limbajelor ST, FBD, SFC sunt destul de voluminoase și există opțiuni pentru comoditatea programării, totuși aceste componente nu sunt funcții, ci clase, în interiorul cărora sunt încorporate metode, iar la majoritatea lipsesc informații cu descrierea funcționalității și tipurilor de date. Perseverența m-a condus în bibliotecile nucleului CodeSys, de unde au fost preluate toate aceste funcții, asistența lor m-a ajutat.

4. Schimb de date cu panoul SP307

O activitate destul de interesantă pentru cei care nu au unde să-și petreacă câteva zile.

Testarea standard a GUI (HMI sau SCADA) pentru mine este să fac 6 probe:

  1. Citirea semnalului discret
  2. Scrierea semnalului discret
  3. Citirea valorii întregi
  4. Scrierea valorii întregi
  5. Citirea valorii în virgulă mobilă
  6. Scrierea valorii în virgulă mobilă

Prin urmare, desenez pe ecran 6 componente-primitiv și le verific fiecare în ordine.
Schimbul este exact același ca și cu modulele, dar dintr-un port separat al PLC RS-232/485 și, se pare, mai stabil. Deoarece este un HMI-slave, am scris în el pe baza modificărilor, iar citirea am făcut-o prin polling la 500 ms, pentru a nu pierde acțiunile operatorului.

Primele 4 puncte au fost realizate excelent, dar 5 și 6 au creat probleme.

Trimitem date de tip Single Float, le afișăm pe ecran și vedem că datele nu sunt cele corecte, deși toate setările de ieșire (Float, dimensiune 1 registru și altele) sunt corecte. Ar fi incorect să spun că în documentație cazul nu este descris, totuși, încercați să găsiți în care și unde, din partea aceasta e amuzant.

După o căutare frenetica a tuturor setărilor referitoare la date și la trimiterea acestora, scriem la suportul tehnic, răspunsul durează în medie 5-6 zile calendaristice, lucrăm conform scriptului standard al suportului tehnic „Verificați dacă alimentarea este pornită — verificați versiunea software-ului — vă rugăm, așteptați încă o săptămână - Ne apucăm să ne descurcăm singuri”.

Ca un cuvânt la subiect, s-a rezolvat prin activarea unui bife într-un loc absolut inadecvat cu o etichetă absolut inadecvată.

În funcționalitatea ecranului nu este prevăzută introducerea semnalului analogic de tip „Glisare”, se poate completa doar în câmpul de text cu cifre. Este pur și simplu uimitor, fie apăsăm butoanele „±” și scriptul se realizează singur, fie introducem cifra de pe tastatură, uitând de un control moale al vreunei unități.

Nu voi încărca prea mult articolul, așa că voi descrie problemele cu nivelul superior în partea 2.

În concluzie, vreau să subliniez că am avut suficientă libertate și mult timp pentru a rezolva aceste probleme, care la prima vedere par ridicole, dar cauzează multe dureri celor afectați. În condiții de termene limită, a face față acestor probleme este critic.

P.S.: Toate tezele prezentate aici sunt subiective și reprezintă doar o încercare de a avertiza neexperimentații, nu de a discrimina producătorii, vă rog să priviți acest articol din această perspectivă.

Partea a doua este deja aici: facem clic

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster