ARIES PLC110[M02]-MS4, HMI, OPC og SCADA, eller hvor mye kamillete en person trenger. Del 1

God ettermiddag, kjære lesere av denne artikkelen. Jeg skriver dette i anmeldelsesformat.

En liten advarselJeg vil advare deg om at hvis du umiddelbart forsto hva vi snakker om fra tittelen, anbefaler jeg deg å endre det første punktet (faktisk PLC-kjernen) til alt fra en priskategori ett trinn høyere.
Ingen sum penger å spare er verdt så mye nerver, subjektivt.

For de som ikke er redd for litt grått hår og amplituden til en nervøs tic, vil jeg senere beskrive i detalj hvordan dette teknologiske miraklet ble skapt. Denne artikkelen gir en kort analyse av prosjektet med en viss kritikk.

Opprinnelse. Formulering av problemet

Egentlig jobber jeg i et designbyrå, og vi tester automatiseringsutstyr for integrering i våre nøkkelferdige fabrikker. Nylig kom OWEN-utstyr til lageret og det ble besluttet å sette sammen en testbenk fra det:

  • PLC110[M02]-MS4 (ledermiljø MasterSCADA 4D)
  • Operatørpanel SP307
  • Universell analog signalinngangsmodul МВ110-224.2А
  • MV110-4TD strain gauge signal inngangsmodul
  • Elektrisk målemodul MV110-220.3M

Systemstruktur ble valgt med differensiering av nettverk etter formål:

  1. Modbus RTU basert på RS-485 - kommunikasjon mellom PLS og slaveenheter (moduler, frekvensomformere, smarte sensorer, HMI panel SP307), PLS nettverksmaster.
  2. Modbus TCP basert på Ethernet - Kommunikasjon av forskjellige PLSer med hverandre og med OPC-serveren
  3. OPC- og SCADA-system-PC-serveren er samtidig en gateway mellom to forskjellige nettverk (Bedrifts-LAN for bedriften og Modbus TCP-nettverk av kontrollere (to nettverkskort med dataruting ved bruk av standard Windows-verktøy)
  4. Bedriftens LAN har Internett-tilgang via en proxy-server

Den generelle strukturen til systemet er vist på bildet nedenfor:

ARIES PLC110[M02]-MS4, HMI, OPC og SCADA, eller hvor mye kamillete en person trenger. Del 1

Innebygd funksjonalitet

  • Innsamling og omdirigering av data fra PLS til OPC server
  • Lokal kontroll og overvåking via HMI panel
  • Kontroll og overvåking fra SCADA via OPC server
  • Kontroll fra hvilken som helst PC fra bedriftens LAN og via Internett ved hjelp av en SCADA-klient
  • Koble til mobile OPC-skjermer via LAN og Internett
  • Selvfølgelig, arkivering og rapportgenerering

Det virker som ingenting ble savnet. Det er en generell beskrivelse av systemet, og nå, faktisk, om emnet (jeg vil beskrive metoder for eliminering i artikler med implementeringen av hver node):

Vanskeligheter

1. PLS-dokumentasjon

Betatesting av den deklarerte PLS-en på MasterSCADA 4D-kjernen ble indikert av produsenten i 2012. Til tross for en så imponerende levetid på konseptet, er alt utvikleren har i 2019 en programmeringsmanual på 28 (!?) sider, hvor det er litt mindre enn ingen nyttig informasjon, og skjermbilder i manualen er fra MasterSCADA 3D, som er ganske morsomt med å ta i betraktning at grensesnittet har endret seg.

En forumtråd med 20 emner støttes også aktivt av tre tilhengere og en salgssjef.

2. Arkitektur av PLS-moduler

Dette er et eget tema for diskusjon. Kort fortalt: PLS-en kommuniserer med modulene som Modbus RTU-slaveenheter, som først må konfigureres av verktøyet separat ved å koble hver til en PC via en RS-485-omformer.

Smarte gutter, selvfølgelig, vet sannsynligvis hvordan man gjør dette uten en omformer via en PLS, kobler moduler sekvensielt til nettverket og skriver de nødvendige registre, men dette kommer med erfaring og en enorm mengde smerte.

For en utvikler som ser en slik arkitektur for første gang, er den slett ikke brukervennlig.
Dessuten liker alle analoge moduler å mislykkes av ukjente årsaker, og tar med seg hele RS-485-nettverket i Terra Incognita, men jeg vil også snakke om dette separat, selvfølgelig et helt epos. Problemet er forresten 10 år gammelt, ler produsenten av det "Vi må innrømme at malene ikke fungerte for oss", men dette er det eneste grensesnittet for å kommunisere med moduler, og folk, helt seriøst, har skrevet sine Modbus RTU-implementeringer i lang tid.

I mellomtiden tok kamilleteen slutt... Solen var i ferd med å gå ned

3. IDE MasterSCADA

Vi vil ikke snakke om grafiske verktøy; Jeg har ikke testet dem mye, men jeg vil si med en gang at jeg ikke likte det.

Vi snakker om implementering av datautveksling og IEC-standardspråk:

Fysiske innganger og utganger til kontrolleren er ikke globale variabler og kan ikke nås fra noen del av programmet ved å skrive et alias, for eksempel "DI1". Du bør dra dette inn i hvert program ved hjelp av håndtak, det dannes en lokal variabel der, som arver eller overfører verdien. De. selve essensen av PLS, i min visjon, er litt tapt: enheten skal forenkle programmering av logikken for driften av fysiske kanaler til nivået "Hvis inngang DI1 utløses, slå på utgang DO1"og det ser slik ut "Inngang DI1 - Variabel LI1 - Variabel LO1 - Utgang DO1", også, på grunn av uvitenhet om dette IDE-prinsippet, kan du få en herlig advarsel "Boolsk-boolsk konvertering er umulig" (mest sannsynlig er en av dem en pekepinn, men jeg forestiller meg at i redaksjonen til skaperne er den mer harmonisk) .

Bibliotekene til ST, FBD, SFC-språkene er ganske omfangsrike og det er et valg for enkel programmering, men disse komponentene er ikke funksjoner, men klasser som metodene er innebygd i, og for det andre har de fleste ikke hjelp til å beskrive funksjonaliteten og datatypene. Utholdenhet førte meg til CodeSys-kjernebibliotekene, hvor alle disse funksjonene ble hentet fra, deres hjelp hjalp.

4. Bytt med SP307 panel

Ganske interessant arrangement for de som ikke har noe sted å tilbringe et par dager.

Standard GUI-testing (HMI eller SCADA) for meg er å gjøre 6 tester:

  1. Lese et diskret signal
  2. Ta opp et diskret signal
  3. Lese en heltallsverdi
  4. Skrive en heltallsverdi
  5. Å lese en reell verdi
  6. Å skrive en reell verdi

Følgelig tegner jeg 6 primitive komponenter på skjermen og sjekker hver enkelt i rekkefølge
Utvekslingen er helt den samme som med moduler, men fra en separat RS-232/485 PLC-port, og, ser det ut til, mer stabil. Siden det er en HMI-slave, skrev jeg til den ved endring, og leste den i 500ms polling, for ikke å gå glipp av operatørens handlinger.

De første 4 poengene ble fullført perfekt, men punktene 5 og 6 skapte problemer.

Vi sender data av typen Single Float, viser dem på skjermen og ser at dataene ikke er de samme, selv om alle utgangsinnstillinger (Float, dimensjon 1 register osv.) er korrekte. Det ville være løgn å si at presedensen ikke er beskrevet i dokumentasjonen, men prøv å finne hvilken og hvor, det er morsomt fra utsiden.

Etter et hysterisk søk ​​av alle innstillingene angående selve dataene og sendingen, Vi skriver til teknisk støtte, svaret er i gjennomsnitt 5-6 kalenderdager, vi jobber i henhold til standard teknisk støtteskript "Sjekk at strømmen er på - sjekk programvareversjonen - vennligst vent en uke til - La oss finne ut av det selv ”.

Det ble forresten bestemt ved å installere en hake på et absolutt utilstrekkelig sted med en absolutt utilstrekkelig signatur.

I skjermfunksjonalitet Den analoge signalinngangen til "Slider"-formatet er ikke inkludert, kan bare skrives inn i tekstfeltet med tall. Dette er rett og slett fantastisk, enten skriver vi "±"-knappene og skriptet selv, eller så skriver vi inn et tall fra tastaturet og glemmer myk kontroll av en eller annen stasjon.

Jeg vil ikke overbelaste artikkelen, så jeg vil beskrive problemer med toppnivået i del 2.

Å oppsummere, Jeg vil merke meg at jeg hadde tilstrekkelig frihet og mye tid til å løse disse problemene, som ved første øyekast virker morsomme, men forårsaker mye smerte for offeret. Under forhold med begrenset tid er det avgjørende å møte slike problemer.

PS: Alle tesene som presenteres her er subjektive, og er kun et forsøk på å advare de uforberedte, og ikke å diskriminere produsenter, jeg ber deg ta denne artikkelen fra dette synspunktet.

Den andre delen er allerede her: klikk

Kilde: www.habr.com

Legg til en kommentar