ARIES PLC110[M02]-MS4, HMI, OPC och SCADA, eller hur mycket kamomillte en person behöver. Del 1

God eftermiddag, kära läsare av denna artikel. Jag skriver detta i recensionsformat.

En liten varningJag skulle vilja varna dig för att om du omedelbart förstod vad vi pratar om från titeln, råder jag dig att ändra den första punkten (faktiskt PLC-kärnan) till allt från en priskategori ett steg högre.
Ingen summa pengar att spara är värt så mycket nerver, subjektivt.

För dem som inte är rädda för lite grått hår och amplituden hos en nervös tic, kommer jag senare att beskriva i detalj hur detta tekniska mirakel skapades. Denna artikel ger en kort analys av projektet med en viss kritik.

Ursprung. Formulering av problemet

Egentligen arbetar jag på en designbyrå och vi testar automationsutrustning för integration i våra nyckelfärdiga fabriker. Nyligen kom OWEN-utrustning till lagret och det beslutades att montera en testbänk från den:

  • PLC110[M02]-MS4 (exekutiv miljö MasterSCADA 4D)
  • Operatörspanel SP307
  • Universell analog signalingångsmodul МВ110-224.2А
  • MV110-4TD signalingångsmodul för trådtöjningsgivare
  • Elektrisk mätmodul MV110-220.3M

Systemstruktur valdes med differentiering av nätverk efter syfte:

  1. Modbus RTU baserad på RS-485 - kommunikation mellan PLC och slavenheter (moduler, frekvensomvandlare, smarta sensorer, HMI panel SP307), PLC nätverksmaster.
  2. Modbus TCP baserad på Ethernet - Kommunikation av olika PLC:er med varandra och med OPC-servern
  3. OPC- och SCADA-systemets PC-server är samtidigt en gateway mellan två olika nätverk (företagets LAN och Modbus TCP-nätverk av styrenheter (två nätverksadaptrar med datarouting med standardverktyg för Windows)
  4. Företagets LAN har tillgång till Internet via en proxyserver

Systemets allmänna struktur visas i bilden nedan:

ARIES PLC110[M02]-MS4, HMI, OPC och SCADA, eller hur mycket kamomillte en person behöver. Del 1

Inbyggd funktionalitet

  • Insamling och omdirigering av data från PLC:n till OPC-servern
  • Lokal styrning och övervakning via HMI-panel
  • Styrning och övervakning från SCADA via OPC-server
  • Styr från vilken dator som helst från företagets LAN och via Internet med hjälp av en SCADA-klient
  • Anslut mobila OPC-monitorer via LAN och Internet
  • Självklart arkivering och rapportgenerering

Det verkar som om ingenting har missats. Det finns en allmän beskrivning av systemet, och nu faktiskt om ämnet (jag kommer att beskriva metoder för eliminering i artiklar med implementeringen av varje nod):

Svårigheter som uppstått

1. PLC-dokumentation

Betatestning av den deklarerade PLC:n på MasterSCADA 4D-kärnan indikerades av tillverkaren 2012. Trots en så imponerande livslängd för konceptet, är allt som utvecklaren har under 2019 en programmeringsmanual på 28 (!?) sidor, där det finns lite mindre än ingen användbar information, och skärmdumpar i manualen är från MasterSCADA 3D, vilket är ganska roligt med att ta hänsyn till att gränssnittet har förändrats.

En forumtråd med 20 ämnen stöds också aktivt av tre anhängare och en försäljningschef.

2. Arkitektur av PLC-moduler

Detta är ett separat ämne för diskussion. Kortfattat: PLC:n kommunicerar med modulerna som Modbus RTU-slavenheter, som först måste konfigureras av verktyget separat genom att ansluta var och en till en PC via en RS-485-omvandlare.

Smarta killar vet förstås säkert hur man gör detta utan omvandlare via en PLC, kopplar moduler sekventiellt till nätverket och skriver nödvändiga register, men detta kommer med erfarenhet och en enorm smärta.

För en utvecklare som ser en sådan arkitektur för första gången är den inte alls användarvänlig.
Alla analoga moduler gillar också att misslyckas av okända anledningar och tar med sig hela RS-485-nätverket i Terra Incognita, men jag vill också prata om detta separat, ett helt epos, förstås. Problemet är förresten 10 år gammalt, skrattar tillverkaren bort "Vi måste erkänna att mallarna inte fungerade för oss", dock är detta det enda gränssnittet för att kommunicera med moduler, och folk, helt seriöst, har skrivit sina Modbus RTU-implementeringar under lång tid.

Under tiden tog kamomillteet slut... Solen höll på att gå ner

3. IDE MasterSCADA

Vi kommer inte att prata om grafiska verktyg; jag har inte testat dem så mycket, men jag ska genast säga att jag inte gillade det.

Vi pratar om implementeringen av datautbyte och IEC-standardspråk:

Fysiska in- och utgångar från styrenheten är inte globala variabler och kan inte nås från någon del av programmet genom att skriva ett alias, till exempel "DI1". Du bör dra in detta i varje program med hjälp av handtag, där bildas en lokal variabel som ärver eller överför värdet. De där. själva kärnan i PLC:n, i min vision, är lite förlorad: enheten ska förenkla programmering av logiken för driften av fysiska kanaler till nivån "Om ingång DI1 utlöses, slå på utgång DO1"och det ser ut så här "Ingång DI1 - Variabel LI1 - Variabel LO1 - Utgång DO1"På grund av okunnighet om denna IDE-princip kan du också få en förtjusande varning "Boolesk-boolesk konvertering är omöjlig" (troligtvis är en av dem en pekare, men jag föreställer mig att det är mer harmoniskt i skaparnas redaktörer) .

Biblioteken för ST, FBD, SFC-språken är ganska voluminösa och det finns ett val för enkel programmering, men dessa komponenter är inte funktioner, utan klasser inom vilka metoder är inbäddade, och för det andra har de flesta inte hjälp med att beskriva funktionalitet och datatyper. Envishet ledde mig till CodeSys kärnbibliotek, där alla dessa funktioner togs ifrån, deras hjälp hjälpte.

4. Byt ut mot SP307 panel

Ett ganska intressant evenemang för dem som inte har någonstans att tillbringa ett par dagar.

Standard GUI-testning (HMI eller SCADA) för mig är att göra 6 tester:

  1. Läser en diskret signal
  2. Spela in en diskret signal
  3. Läsa ett heltalsvärde
  4. Skriva ett heltalsvärde
  5. Att läsa ett verkligt värde
  6. Att skriva ett verkligt värde

Följaktligen ritar jag 6 primitiva komponenter på skärmen och kontrollerar var och en i ordning
Utbytet är absolut detsamma som med moduler, men från en separat RS-232/485 PLC-port, och, det verkar, mer stabil. Eftersom det är en HMI-slav skrev jag till den genom att ändra och läste den i 500ms polling, för att inte missa operatörens handlingar.

De första 4 poängen genomfördes perfekt, men punkterna 5 och 6 orsakade problem.

Vi skickar data av typen Single Float, visar det på skärmen och ser att data inte är samma, även om alla utgångsinställningar (Float, dimension 1 register, etc.) är korrekta. Det skulle vara lögn att säga att prejudikatet inte beskrivs i dokumentationen, men försök hitta vilken och var, det är roligt utifrån.

Efter en hysterisk sökning av alla inställningar angående själva data och dess sändning, Vi skriver till teknisk support, svaret är i genomsnitt 5-6 kalenderdagar, vi arbetar enligt standard teknisk support script "Kontrollera att strömmen är på - kontrollera mjukvaruversionen - vänligen vänta en vecka till - Låt oss ta reda på det själva ”.

Förresten, det bestämdes genom att installera en bock på en absolut otillräcklig plats med en absolut otillräcklig signatur.

I skärmfunktionalitet Den analoga signalingången för "Slider"-formatet ingår inte, kan endast anges i textfältet med siffror. Det här är helt enkelt fantastiskt, antingen skriver vi "±"-knapparna och skriptet själva, eller så anger vi ett nummer från tangentbordet och glömmer mjuk kontroll av någon enhet.

Jag kommer inte att överbelasta artikeln, så jag kommer att beskriva problem med toppnivån i del 2.

Sammanfattningsvis, Jag vill notera att jag hade tillräcklig frihet och mycket tid för att lösa dessa problem, som vid första anblicken verkar roliga, men orsakar mycket smärta för offret. Under förhållanden med begränsad tid är det avgörande att möta sådana problem.

PS: Alla teser som presenteras här är subjektiva och är bara ett försök att varna oförberedda, och inte diskriminera tillverkare, jag ber dig att ta den här artikeln ur denna synvinkel.

Den andra delen är redan här: klick

Källa: will.com

Lägg en kommentar