ARIES PLC110[M02]-MS4, HMI, OPC en SCADA, oftewel hoeveel Kamillethee een mens nodig heeft. Deel 1

Goedemiddag, beste lezers van dit artikel. Ik schrijf dit in recensie-formaat.

Een kleine waarschuwingIk wil je waarschuwen dat als je uit de titel meteen begrijpt waar we het over hebben, ik je adviseer om het eerste punt (eigenlijk de PLC-kern) te veranderen naar iets van een prijscategorie die een stapje hoger ligt.
Geen enkele hoeveelheid geldbesparing is subjectief zoveel zenuwen waard.

Voor degenen die niet bang zijn voor een beetje grijs haar en de omvang van een nerveuze tic, zal ik later in detail beschrijven hoe dit technologische wonder tot stand is gekomen. Dit artikel geeft een korte analyse van het project met enige kritiek.

Oorsprong. Formulering van het probleem

Eigenlijk werk ik op een ontwerpbureau en testen we automatiseringsapparatuur voor integratie in onze kant-en-klare fabrieken. Onlangs arriveerde OWEN-apparatuur in het magazijn en er werd besloten om hieruit een testbank samen te stellen:

  • PLC110[M02]-MS4 (executieve omgeving MasterSCADA 4D)
  • Bedieningspaneel SP307
  • Universele analoge signaalingangsmodule МВ110-224.2А
  • MV110-4TD spanningsmeter signaalingangsmodule
  • Elektrische meetmodule MV110-220.3M

Systeemstructuur werd gekozen met de differentiatie van netwerken naar doel:

  1. Modbus RTU gebaseerd op RS-485 - communicatie tussen de PLC en slave-apparaten (modules, frequentieomvormers, slimme sensoren, HMI-paneel SP307), PLC-netwerkmaster.
  2. Modbus TCP gebaseerd op Ethernet - Communicatie van verschillende PLC's met elkaar en met de OPC-server
  3. De PC-server van het OPC- en SCADA-systeem is tegelijkertijd een gateway tussen twee verschillende netwerken (Corporate LAN van de onderneming en Modbus TCP-netwerk van controllers (twee netwerkadapters met dataroutering met behulp van standaard Windows-tools)
  4. Het bedrijfs-LAN heeft internettoegang via een proxyserver

De algemene structuur van het systeem wordt weergegeven in de onderstaande afbeelding:

ARIES PLC110[M02]-MS4, HMI, OPC en SCADA, oftewel hoeveel Kamillethee een mens nodig heeft. Deel 1

Ingebouwde functionaliteit

  • Verzameling en doorsturen van gegevens van de PLC naar de OPC-server
  • Lokale bediening en monitoring via HMI-paneel
  • Controle en monitoring vanuit SCADA via OPC-server
  • Bediening vanaf elke pc vanuit het bedrijfs-LAN en via internet met behulp van een SCADA-client
  • Mobiele OPC-monitoren aansluiten via LAN en internet
  • Natuurlijk archiveren en genereren van rapporten

Het lijkt alsof er niets gemist is. Er is een algemene beschrijving van het systeem, en nu eigenlijk over het onderwerp (ik zal eliminatiemethoden beschrijven in artikelen met de implementatie van elk knooppunt):

Ondervonden moeilijkheden

1. PLC-documentatie

Bètatesten van de aangegeven PLC op de MasterSCADA 4D-kern werden in 2012 door de fabrikant aangegeven. Ondanks zo'n indrukwekkende levensduur van het concept, is het enige dat de ontwikkelaar in 2019 heeft een programmeerhandleiding van 28 (!?) pagina's, waarop iets minder dan geen nuttige informatie staat, en screenshots in de handleiding zijn van MasterSCADA 3D, wat best grappig is als je bedenkt dat de interface is veranderd.

Een forumthread van 20 onderwerpen wordt bovendien actief ondersteund door drie aanhangers en een verkoopmanager.

2. Architectuur van PLC-modules

Dit is een apart onderwerp voor discussie. Kort gezegd: de PLC communiceert met de modules als Modbus RTU-slave-apparaten, die eerst afzonderlijk door het nutsbedrijf moeten worden geconfigureerd door ze allemaal via een RS-485-converter op een pc aan te sluiten.

Slimme jongens weten natuurlijk waarschijnlijk hoe ze dit moeten doen zonder een converter via een PLC, modules opeenvolgend op het netwerk aansluiten en de nodige registers schrijven, maar dit komt met ervaring en enorm veel pijn.

Voor een ontwikkelaar die zo’n architectuur voor het eerst ziet, is het helemaal niet gebruiksvriendelijk.
Bovendien falen alle analoge modules graag om onbekende redenen, waarbij ze het hele RS-485-netwerk in Terra Incognita meenemen, maar ik wil hier ook afzonderlijk over praten, een heel epos natuurlijk. Het probleem is trouwens al 10 jaar oud, de fabrikant lacht het weg “We moeten toegeven dat de sjablonen bij ons niet werkten”Dit is echter de enige interface voor communicatie met modules, en mensen, heel serieus, schrijven hun Modbus RTU-implementaties al heel lang.

Ondertussen raakte de kamillethee op... De zon ging onder

3. IDE MasterSCADA

We zullen het niet hebben over grafische tools; ik heb ze niet uitgebreid getest, maar ik zal meteen zeggen dat ik er niet van hield.

We hebben het over de implementatie van gegevensuitwisseling en IEC-standaardtalen:

Fysieke in- en uitgangen van de controller zijn geen globale variabelen en kunnen vanuit geen enkel deel van het programma worden benaderd door een alias te schrijven, bijvoorbeeld “DI1”. Je moet dit met behulp van handvatten naar elk programma slepen, daar wordt een lokale variabele gevormd die de waarde overneemt of overdraagt. Die. de essentie van de PLC is naar mijn mening een beetje verloren gegaan: het apparaat zou het programmeren van de logica van de werking van fysieke kanalen moeten vereenvoudigen tot op het niveau “Als ingang DI1 wordt geactiveerd, schakel dan uitgang DO1 in”en het ziet er zo uit "Ingang DI1 - Variabele LI1 - Variabele LO1 - Uitgang DO1", vanwege onwetendheid over dit IDE-principe, kun je ook een heerlijke waarschuwing krijgen "Boolean-Boolean-conversie is onmogelijk" (hoogstwaarschijnlijk is een van hen een aanwijzer, maar ik kan me voorstellen dat het in de redactie van de makers harmonieuzer is) .

De bibliotheken van de ST-, FBD- en SFC-talen zijn behoorlijk omvangrijk en er is keuze uit programmeergemak, maar deze componenten zijn geen functies, maar klassen waarin methoden zijn ingebed, en ten tweede hebben de meeste geen hulp bij het beschrijven de functionaliteit en gegevenstypen. Doorzettingsvermogen leidde me naar de CodeSys-kernelbibliotheken, waar al deze functies vandaan kwamen, hun hulp hielp.

4. Uitwisselen met SP307-paneel

Een heel interessant evenement voor degenen die geen tijd hebben om een ​​paar dagen door te brengen.

Standaard GUI-testen (HMI of SCADA) zijn voor mij het doen van 6 tests:

  1. Een discreet signaal lezen
  2. Een discreet signaal opnemen
  3. Een gehele waarde lezen
  4. Een gehele waarde schrijven
  5. Het lezen van een echte waarde
  6. Het schrijven van een echte waarde

Dienovereenkomstig teken ik 6 primitieve componenten op het scherm en controleer ze allemaal in volgorde
De uitwisseling is absoluut hetzelfde als bij modules, maar dan via een aparte RS-232/485 PLC-poort, en zo te zien stabieler. Omdat het een HMI-slave is, heb ik er per wijziging naar geschreven en het in een polling van 500 ms gelezen, om de acties van de operator niet te missen.

De eerste 4 punten werden perfect afgerond, maar punten 5 en 6 zorgden voor problemen.

We sturen gegevens van het type Single Float, geven deze weer op het scherm en zien dat de gegevens niet hetzelfde zijn, hoewel alle uitvoerinstellingen (Float, dimensie 1-register, enz.) correct zijn. Het zou een leugen zijn om te zeggen dat het precedent niet in de documentatie wordt beschreven, maar probeer erachter te komen welke en waar, het is grappig van buitenaf.

Na een hysterische zoektocht naar alle instellingen met betrekking tot de gegevens zelf en het verzenden ervan, We schrijven naar de technische ondersteuning, de reactie is gemiddeld 5-6 kalenderdagen, we werken volgens het standaard technische ondersteuningsscript “Controleer of de stroom is ingeschakeld - controleer de softwareversie - wacht nog een week - laten we het zelf uitzoeken ”.

Er werd trouwens besloten om één vinkje te plaatsen op een absoluut ontoereikende plaats met een absoluut ontoereikende handtekening.

In schermfunctionaliteit De analoge signaalingang van het “Slider”-formaat is niet inbegrepen, kan alleen met cijfers in het tekstveld worden ingevoerd. Dit is gewoon verbazingwekkend: we schrijven zelf de “±”-knoppen en het script, of we voeren een nummer in via het toetsenbord en vergeten de zachte bediening van een of andere schijf.

Ik zal het artikel niet overbelasten, dus ik zal de problemen met het hoogste niveau beschrijven in deel 2.

Samenvatten, Ik wil opmerken dat ik voldoende vrijheid en veel tijd had om deze problemen op te lossen, die op het eerste gezicht grappig lijken, maar veel pijn veroorzaken voor het slachtoffer. In omstandigheden van beperkte tijd is het van cruciaal belang om dergelijke problemen het hoofd te bieden.

PS: Alle hier gepresenteerde stellingen zijn subjectief en zijn slechts een poging om de onvoorbereiden te waarschuwen, en niet om fabrikanten te discrimineren. Ik vraag u dit artikel vanuit dit standpunt te bekijken.

Het tweede deel is er al: Klik

Bron: www.habr.com

Voeg een reactie