ARIES PLC110[M02]-MS4, HMI, OPC e SCADA, ovvero la quantità di camomilla di cui una persona ha bisogno. Parte 1

Buon pomeriggio, cari lettori di questo articolo. Sto scrivendo questo in formato recensione.

Un piccolo avvertimentoVorrei avvisarti che se hai capito subito dal titolo di cosa stiamo parlando, ti consiglio di cambiare il primo punto (in realtà, il nucleo PLC) in qualsiasi cosa da una categoria di prezzo un gradino più in alto.
Nessuna somma di denaro risparmiata vale così tanti nervi, soggettivamente.

Per coloro che non hanno paura di un po' di capelli grigi e dell'ampiezza di un tic nervoso, descriverò in seguito in dettaglio come è stato creato questo miracolo tecnologico. Questo articolo fornisce una breve analisi del progetto con una certa dose di critiche.

Origine. Formulazione del problema

In realtà, lavoro in un ufficio di progettazione e testiamo le apparecchiature di automazione per l'integrazione nelle nostre fabbriche chiavi in ​​mano. Recentemente, l'attrezzatura OWEN è arrivata al magazzino e si è deciso di assemblarne un banco di prova:

  • PLC110[M02]-MS4 (ambiente esecutivo MasterSCADA 4D)
  • Pannello operatore SP307
  • Modulo di ingresso segnale analogico universale МВ110-224.2А
  • Modulo di ingresso segnale estensimetrico MV110-4TD
  • Modulo di misura elettrico MV110-220.3M

Struttura del sistema è stata scelta la differenziazione delle reti in base allo scopo:

  1. Modbus RTU basato su RS-485 - comunicazione tra il PLC e i dispositivi slave (moduli, convertitori di frequenza, sensori intelligenti, pannello HMI SP307), master di rete PLC.
  2. Modbus TCP basato su Ethernet - Comunicazione di diversi PLC tra loro e con il server OPC
  3. Il server PC del sistema OPC e SCADA è contemporaneamente un gateway tra due reti diverse (LAN aziendale dell'azienda e rete di controllori Modbus TCP (due adattatori di rete con instradamento dei dati tramite strumenti Windows standard)
  4. La LAN aziendale ha accesso a Internet tramite un server proxy

La struttura generale del sistema è mostrata nell’immagine seguente:

ARIES PLC110[M02]-MS4, HMI, OPC e SCADA, ovvero la quantità di camomilla di cui una persona ha bisogno. Parte 1

Funzionalità integrata

  • Raccolta e reindirizzamento dei dati dal PLC al server OPC
  • Controllo e monitoraggio locale tramite pannello HMI
  • Controllo e monitoraggio da SCADA tramite server OPC
  • Controllo da qualsiasi PC dalla LAN aziendale e tramite Internet utilizzando un client SCADA
  • Collegamento di monitor OPC mobili tramite LAN e Internet
  • Naturalmente, archiviazione e generazione di report

Sembra che non sia mancato nulla. C'è una descrizione generale del sistema e ora, in realtà, sull'argomento (descriverò i metodi di eliminazione negli articoli con l'implementazione di ciascun nodo):

Difficoltà incontrate

1. Documentazione del PLC

Il beta testing del PLC dichiarato sul core MasterSCADA 4D è stato indicato dal produttore nel 2012. Nonostante una durata di vita così impressionante del concetto, tutto ciò che lo sviluppatore ha nel 2019 è un manuale di programmazione di 28 (!?) pagine, in cui c'è poco meno di nessuna informazione utile, e gli screenshot nel manuale provengono da MasterSCADA 3D, il che è piuttosto divertente se si tiene conto del fatto che l'interfaccia è cambiata.

Un thread del forum di 20 argomenti è inoltre supportato attivamente da tre aderenti e un responsabile delle vendite.

2. Architettura dei moduli PLC

Questo è un argomento di discussione separato. In breve: il PLC comunica con i moduli come dispositivi slave Modbus RTU, che devono prima essere configurati separatamente dall'utility collegando ciascuno ad un PC tramite un convertitore RS-485.

I ragazzi intelligenti, ovviamente, probabilmente sanno come farlo senza un convertitore tramite un PLC, collegando in sequenza i moduli alla rete e scrivendo i registri necessari, ma questo comporta esperienza e molta fatica.

Per uno sviluppatore che vede un’architettura del genere per la prima volta, non è affatto facile da usare.
Inoltre, a tutti i moduli analogici piace guastarsi per ragioni sconosciute, portando con sé l'intera rete RS-485 in Terra Incognita, ma anche di questo voglio parlare separatamente, ovviamente tutta un'epopea. Il problema, tra l'altro, ha 10 anni, il produttore ci ride sopra “Dobbiamo ammettere che i modelli non hanno funzionato per noi”, tuttavia, questa è l'unica interfaccia per comunicare con i moduli e le persone, abbastanza seriamente, scrivono le loro implementazioni Modbus RTU da molto tempo.

Intanto la camomilla stava finendo... Il sole stava tramontando

3.IDE MasterSCADA

Non parleremo di strumenti grafici, non li ho testati approfonditamente, ma dico subito che non mi sono piaciuti.

Stiamo parlando dell'implementazione dello scambio dati e dei linguaggi standard IEC:

Gli ingressi e le uscite fisici del controller non sono variabili globali e non sono accessibili da nessuna parte del programma scrivendo un alias, ad esempio "DI1". Dovresti trascinarlo in ogni programma usando le maniglie, lì si forma una variabile locale, che eredita o trasferisce il valore. Quelli. l'essenza stessa del PLC, nella mia visione, è un po' persa: il dispositivo dovrebbe semplificare la programmazione della logica di funzionamento dei canali fisici al livello "Se l'ingresso DI1 è attivato, attivare l'uscita DO1"e sembra così "Ingresso DI1 - Variabile LI1 - Variabile LO1 - Uscita DO1", inoltre, a causa dell'ignoranza di questo principio IDE, puoi ricevere un delizioso avvertimento "La conversione booleana-booleana è impossibile" (molto probabilmente, uno di questi è un puntatore, ma immagino che negli editor dei creatori sia più armonioso) .

Le librerie dei linguaggi ST, FBD, SFC sono piuttosto voluminose e c'è una scelta per facilitare la programmazione, tuttavia, questi componenti non sono funzioni, ma classi all'interno delle quali sono incorporati metodi e, in secondo luogo, la maggior parte non ha aiuto nella descrizione la funzionalità e i tipi di dati. La persistenza mi ha portato alle librerie del kernel CodeSys, da cui sono state prese tutte queste funzioni, il loro aiuto mi ha aiutato.

4. Scambio con pannello SP307

Un evento piuttosto interessante per coloro che non hanno un posto dove trascorrere un paio di giorni.

Il test GUI standard (HMI o SCADA) per me consiste nell'eseguire 6 test:

  1. Lettura di un segnale discreto
  2. Registrazione di un segnale discreto
  3. Lettura di un valore intero
  4. Scrittura di un valore intero
  5. Leggere un valore reale
  6. Scrivere un valore reale

Di conseguenza, disegno 6 componenti primitivi sullo schermo e li controllo ciascuno in ordine
Lo scambio è assolutamente identico a quello dei moduli, ma da una porta PLC RS-232/485 separata e, a quanto pare, più stabile. Poiché è uno slave HMI, l'ho scritto per modifica e l'ho letto in polling di 500 ms, in modo da non perdere le azioni dell'operatore.

I primi 4 punti sono stati completati perfettamente, ma i punti 5 e 6 hanno causato problemi.

Inviamo dati di tipo Single Float, li visualizziamo sullo schermo e vediamo che i dati non sono gli stessi, anche se tutte le impostazioni di output (Float, registro dimensione 1, ecc.) sono corrette. Sarebbe una bugia dire che il precedente non è descritto nella documentazione, però provate a scoprire quale e dove, è divertente dall’esterno.

Dopo una ricerca isterica di tutte le impostazioni riguardanti i dati stessi e il loro invio, Scriviamo al supporto tecnico, la risposta è in media 5-6 giorni di calendario, lavoriamo secondo lo script standard del supporto tecnico “Verifica che l'alimentazione sia accesa - controlla la versione del software - attendi un'altra settimana - Andiamo a capirlo da soli ".

A proposito, è stato deciso installando un segno di spunta in un luogo assolutamente inadeguato con una firma assolutamente inadeguata.

Nella funzionalità dello schermo L'ingresso del segnale analogico del formato “Slider” non è incluso, possono essere inseriti nel campo di testo solo utilizzando numeri. Questo è semplicemente fantastico, o scriviamo noi stessi i pulsanti "±" e lo script, oppure inseriamo un numero dalla tastiera e dimentichiamo il controllo morbido di qualche unità.

Non sovraccaricherò troppo l’articolo, quindi descriverò i problemi con il livello superiore nella parte 2.

In sintesi, Voglio sottolineare che ho avuto sufficiente libertà e molto tempo per risolvere questi problemi, che a prima vista sembrano divertenti, ma causano molto dolore alla vittima. In condizioni di tempo limitato, è fondamentale affrontare tali problemi.

PS: Tutte le tesi qui presentate sono soggettive, e sono solo un tentativo di mettere in guardia gli impreparati, e di non discriminare i produttori, vi chiedo di prendere questo articolo da questo punto di vista.

La seconda parte è già qui: clic

Fonte: habr.com

Aggiungi un commento