ARIES PLC110[M02]-MS4, HMI, OPC kaj SCADA, aŭ kiom da Kamomila teo homo bezonas. Parto 1

Bonan posttagmezon, karaj legantoj de ĉi tiu artikolo. Mi skribas ĉi tion en recenza formato.

Iom da avertoMi ŝatus averti vin, ke se vi tuj komprenis, pri kio ni parolas el la titolo, mi konsilas al vi ŝanĝi la unuan punkton (fakte, la PLC-kernon) al io ajn de preza kategorio unu paŝon pli altan.
Neniu monŝparo valoras tiom da nervoj, subjektive.

Por tiuj, kiuj ne timas iom da grizaj haroj kaj la amplekso de nervoza tiko, poste mi detale priskribos kiel ĉi tiu teknologia miraklo estis kreita. Ĉi tiu artikolo provizas mallongan analizon de la projekto kun certa kvanto de kritiko.

Origino. Formulo de la problemo

Efektive, mi laboras en projektburoo, kaj ni testas aŭtomatigan ekipaĵon por integriĝo en niajn ŝlosilajn fabrikojn. Lastatempe, OWEN-ekipaĵo alvenis al la magazeno kaj estis decidite kunmeti testbenkon de ĝi:

  • PLC110[M02]-MS4 (administra medio MasterSCADA 4D)
  • Operaciiga panelo SP307
  • Universala analoga signala eniga modulo МВ110-224.2А
  • MV110-4TD streĉa mezurilo signala eniga modulo
  • Elektra mezura modulo MV110-220.3M

Sistemo strukturo estis elektita kun la diferencigo de retoj laŭ celo:

  1. Modbus RTU bazita sur RS-485 - komunikado inter la PLC kaj sklavaj aparatoj (moduloj, frekvenctransformiloj, inteligentaj sensiloj, HMI-panelo SP307), PLC-reto-mastro.
  2. Modbus TCP bazita sur Eterreto - Komunikado de malsamaj PLCoj inter si kaj kun la OPC-servilo
  3. La komputila servilo de la sistemo OPC kaj SCADA estas samtempe enirejo inter du malsamaj retoj (Korporacia LAN de la entrepreno kaj Modbus TCP-reto de regiloj (du retadaptiloj kun datumvojigo per normaj Vindozaj iloj)
  4. La kompania LAN havas retaliron per prokura servilo

La ĝenerala strukturo de la sistemo estas montrita en la bildo sube:

ARIES PLC110[M02]-MS4, HMI, OPC kaj SCADA, aŭ kiom da Kamomila teo homo bezonas. Parto 1

Enkonstruita funkcio

  • Kolekto kaj alidirekto de datumoj de la PLC al la OPC-servilo
  • Loka kontrolo kaj monitorado per HMI-panelo
  • Kontrolo kaj monitorado de SCADA per OPC-servilo
  • Kontrolo de iu ajn komputilo de la entreprena LAN kaj per Interreto uzante SCADA-klienton
  • Konekti poŝtelefonajn OPC-monitojn per LAN kaj Interreto
  • Kompreneble, arkivado kaj generado de raportoj

Ŝajnas, ke nenio mankis. Estas ĝenerala priskribo de la sistemo, kaj nun, fakte, pri la temo (mi priskribos metodojn de elimino en artikoloj kun la efektivigo de ĉiu nodo):

Malfacilaĵoj renkontitaj

1. PLC-dokumentado

Beta-testado de la deklarita PLC sur la MasterSCADA 4D-kerno estis indikita fare de la produktanto en 2012. Malgraŭ tia impona vivdaŭro de la koncepto, ĉio, kion la programisto havas en 2019, estas programa manlibro de 28 (!?) paĝoj, sur kiu estas iom malpli ol neniu utila informo, kaj ekrankopioj en la manlibro estas de MasterSCADA 3D, kio estas sufiĉe amuza konsiderante ke la interfaco ŝanĝiĝis.

Forumfadeno de 20 temoj ankaŭ estas aktive subtenata de tri adeptoj kaj vendisto.

2. Arkitekturo de PLC-moduloj

Ĉi tio estas aparta temo por diskuto. Mallonge: la PLC komunikas kun la moduloj kiel Modbus RTU-sklavaj aparatoj, kiuj unue devas esti agorditaj de la utileco aparte konektante ĉiun al komputilo per RS-485-konvertilo.

Saĝuloj, kompreneble, verŝajne scias kiel fari tion sen konvertilo per PLC, sinsekve ligante modulojn al la reto kaj skribante la necesajn registrojn, sed ĉi tio venas kun sperto kaj grandega kvanto da doloro.

Por programisto, kiu vidas tian arkitekturon unuafoje, ĝi tute ne estas afabla.
Ankaŭ, ĉiuj analogaj moduloj ŝatas malsukcesi pro nekonataj kialoj, kunportante la tutan RS-485-reton en Terra Incognita, sed mi ankaŭ volas paroli pri tio aparte, tuta epopeo, kompreneble. La problemo, cetere, estas 10-jara, la fabrikanto ridas ĝin "Ni devas konfesi, ke la ŝablonoj ne funkciis por ni", tamen, ĉi tiu estas la sola interfaco por komuniki kun moduloj, kaj homoj, sufiĉe serioze, verkas siajn Modbus RTU-efektivigojn dum longa tempo.

Dume, la kamomila teo elĉerpiĝis... La suno subiris

3. IDE MasterSCADA

Ni ne parolos pri grafikaj iloj; mi ne multe testis ilin, sed mi tuj diros, ke mi ne ŝatis ĝin.

Ni parolas pri la efektivigo de datumoj interŝanĝo kaj IEC normlingvoj:

Fizikaj enigaĵoj kaj eliroj de la regilo ne estas tutmondaj variabloj kaj ne povas esti aliritaj de iu parto de la programo skribante kaŝnomon, ekzemple "DI1". Vi devus treni ĉi tion en ĉiun programon uzante tenilojn, tie estas formita loka variablo, kiu heredas aŭ transdonas la valoron. Tiuj. la esenco mem de la PLC, laŭ mia vizio, estas iom perdita: la aparato simpligu programadon de la logiko de funkciado de fizikaj kanaloj al la nivelo. "Se enigo DI1 estas ekigita, ŝaltu eliron DO1"kaj ĝi aspektas tiel "Enigo DI1 - Variablo LI1 - Variablo LO1 - Eligo DO1", ankaŭ, pro nescio pri ĉi tiu IDE-principo, vi povas kapti ravan averton "Boolean-Bulea konvertiĝo estas neebla" (plej verŝajne, unu el ili estas montrilo, sed mi imagas en la redaktantoj de la kreintoj, ĝi estas pli harmonia) .

La bibliotekoj de la lingvoj ST, FBD, SFC estas sufiĉe grandaj kaj ekzistas elekto por facileco de programado, tamen ĉi tiuj komponantoj ne estas funkcioj, sed klasoj en kiuj estas enigitaj metodoj, kaj due, plej multaj ne havas helpon priskribado. la funkcieco kaj datumtipoj. Persisto kondukis min al la kernaj bibliotekoj de CodeSys, de kie ĉiuj ĉi tiuj funkcioj estis prenitaj, ilia helpo helpis.

4. Interŝanĝu kun SP307-panelo

Sufiĉe interesa evento por tiuj, kiuj ne havas kie pasigi kelkajn tagojn.

Norma GUI-testado (HMI aŭ SCADA) por mi estas fari 6 testojn:

  1. Legante Diskretan Signalon
  2. Registrante diskretan signalon
  3. Legante Entjeran Valoron
  4. Skribante Entjeran Valoron
  5. Legante realan valoron
  6. Skribante realan valoron

Sekve, mi desegnas 6 primitivajn komponantojn sur la ekrano kaj kontrolas ĉiun en ordo
La interŝanĝo estas absolute la sama kiel kun moduloj, sed de aparta RS-232/485 PLC-haveno, kaj, ŝajnas, pli stabila. Ĉar ĝi estas HMI-sklavo, mi skribis al ĝi per ŝanĝo, kaj legis ĝin en 500ms-voĉdonado, por ne maltrafi la agojn de la funkciigisto.

La unuaj 4 poentoj estis kompletigitaj perfekte, sed poentoj 5 kaj 6 kaŭzis problemojn.

Ni sendas datumojn de la tipo Single Float, montras ĝin sur la ekrano kaj vidas, ke la datumoj ne estas la samaj, kvankam ĉiuj eligo-agordoj (Float, dimensio 1-registro, ktp.) estas ĝustaj. Estus mensogo diri, ke la precedenco ne estas priskribita en la dokumentado, tamen provu trovi kiu kaj kie, ĝi estas amuza de ekstere.

Post histeria serĉo de ĉiuj agordoj pri la datumoj mem kaj ĝia sendo, Ni skribas al teknika subteno, la respondo estas averaĝe 5-6 kalendaraj tagoj, ni laboras laŭ la norma teknika subtena skripto "Kontrolu, ke la potenco estas ŝaltita - kontrolu la programaran version - bonvolu atendi alian semajnon - Ni mem iru eltrovi ĝin. ”.

Cetere, ĝi estis decidita instalante unu tick en absolute neadekvata loko kun absolute neadekvata subskribo.

En ekranfunkcio La analoga signala enigo de la formato "Slider" ne estas inkluzivita, povas esti enmetita nur en la tekstkampo per ciferoj. Ĉi tio estas simple mirinda, aŭ ni mem skribas la "±"-butonojn kaj la skripton, aŭ ni enigas nombron de la klavaro, kaj forgesas pri mola kontrolo de iu stirado.

Mi ne troŝarĝos la artikolon, do mi priskribos problemojn kun la pinta nivelo en parto 2.

Por resumi, Mi volas rimarki, ke mi havis sufiĉan liberecon kaj multe da tempo por solvi ĉi tiujn problemojn, kiuj unuavide ŝajnas amuzaj, sed kaŭzas multe da doloro por la viktimo. En kondiĉoj de limigita tempo, estas grave alfronti tiajn problemojn.

PS: Ĉiuj tezoj ĉi tie prezentitaj estas subjektivaj, kaj estas nur provo averti la nepreparitajn, kaj ne diskriminacii fabrikistojn, mi petas vin preni ĉi tiun artikolon el ĉi tiu vidpunkto.

La dua parto jam estas ĉi tie: klaku

fonto: www.habr.com

Aldoni komenton