OVEN PLC110[M02]-MS4, HMI, OPC e SCADA, o quanto un uomo ha bisogno di camomilla. Parte 1

Buongiorno, cari lettori di questo articolo. Scrivo in formato di recensione

Piccola avvertenzaVoglio avvertire che se avete capito subito di cosa si tratta dal titolo, consiglio di cambiare il primo punto (in effetti, il nucleo PLC) con qualcosa di qualsiasi categoria di prezzo un gradino sopra.
Nessun risparmio economico vale tale quantità di nervi, soggettivamente.

Per coloro che non si spaventano da qualche capello grigio e dall'ampiezza di un tic nervoso, più tardi descriverò in dettaglio come è stata creata questa meraviglia tecnologica. In questo articolo, invece, un'analisi concisa del progetto con un certo grado di critica.

Origine. Definizione del compito

Infatti, lavoro in un ufficio di progettazione e testiamo attrezzature di automazione per l'integrazione nei nostri impianti chiavi in mano. Di recente è arrivata in magazzino l'attrezzatura OVEN e si è deciso di costruire un banco di prova:

  • PLC110[M02]-MS4 (ambiente operativo MasterSCADA 4D)
  • Pannello operativo SP307
  • Modulo universale di ingresso segnali analogici MV110-224.2A
  • Modulo di ingresso segnali da cellule di carico MV110-4TD
  • Modulo di misura elettrica MV110-220.3M

Struttura del sistema è stata scelta con separazione delle reti in base alla destinazione:

  1. Modbus RTU su base RS-485 — comunicazione PLC con dispositivi subordinati (moduli, inverter, sensori intelligenti, pannello HMI SP307), PLC master della rete.
  2. Modbus TCP su base Ethernet — comunicazione tra diversi PLC e con il server OPC
  3. PC-server Le sistemi OPC e SCADA fungono anche da gateway tra due reti diverse (LAN aziendale e rete Modbus TCP dei controllori (due adattatori di rete con instradamento dati tramite strumenti standard di Windows)
  4. La LAN aziendale ha accesso a Internet tramite un server proxy

La struttura del sistema è presentata in generale nell'immagine qui sotto:

OVEN PLC110[M02]-MS4, HMI, OPC e SCADA, o quanto un uomo ha bisogno di camomilla. Parte 1

Funzionalità incluse

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

Sembra che non abbiamo trascurato nulla. C'è una descrizione generale del sistema, e ora, in effetti, passiamo all'argomento (i modi per risolvere saranno descritti in articoli con l'implementazione di ciascun nodo):

Difficoltà emerse

1. Documentazione per il PLC

Il beta testing del PLC dichiarato basato su MasterSCADA 4D è stato segnalato dal produttore nel 2012. Nonostante l'impressionante durata della sua esistenza, tutto ciò che lo sviluppatore ha nel 2019 è una guida alla programmazione di 28(!?) pagine, sulla quale ci sono pochissime informazioni utili, con screenshot del manuale provenienti da MasterSCADA 3D, il che è piuttosto divertente considerando che l'interfaccia è cambiata.

Inoltre, il thread del forum è attivamente sostenuto da tre sostenitori e da un manager delle vendite, con 20 argomenti.

2. Architettura dei moduli PLC

Questo è un argomento separato da discutere. In breve: il PLC comunica con i moduli come dispositivi slave Modbus RTU, che devono essere configurati separatamente collegandoli a un PC tramite un convertitore RS-485.

I bravi ragazzi, ovviamente, sanno farlo senza convertitore tramite il PLC, collegando i moduli in serie alla rete e scrivendo i registri necessari, ma questo arriva con l'esperienza e una grande quantità di dolore.

Per uno sviluppatore che vede per la prima volta tale architettura, non è affatto user-friendly.
Inoltre, tutti i moduli analogici tendono a guastarsi per motivi sconosciuti, portando con sé tutta la rete RS-485 in un Terra Incognita, ma su questo voglio anche raccontare separatamente, è una vera e propria epos. Per inciso, il problema esiste da circa 10 anni, il produttore scherza al riguardo. «Dobbiamo ammettere, i modelli non ci sono riusciti», tuttavia, questo è l'unico modo per comunicare con i moduli e le persone, molto seriamente, da tempo scrivono le loro implementazioni Modbus RTU.

Nel frattempo, il tè alla camomilla stava finendo... Il sole stava tramontando

3. IDE MasterSCADA

Non parlerò degli strumenti grafici, non ho testato molto, ma dirò subito che non mi sono piaciuti.

Parliamo dell'implementazione dello scambio di dati e dei linguaggi dello standard IEC:

Gli ingressi fisici del controller non sono variabili globali e non possono essere richiamati da nessuna parte del programma, scrivendo un alias, ad esempio «DI1». Ogni programma deve essere composto manualmente, formando una variabile locale che eredita o trasferisce il valore. Cioè, l'essenza del PLC stessa, nella mia visione, è un po' persa: il dispositivo dovrebbe semplificare la programmazione della logica di funzionamento dei canali fisici a un livello «Se l'ingresso DI1 è attivo — accendiamo l'uscita DO1», e appare in questo modo «Ingresso DI1 — Variabile LI1 — Variabile LO1 — Uscita DO1», inoltre, a causa della mancanza di comprensione di questo principio, si può ricevere l'affascinante avviso «Conversione Boolean-Boolean impossibile» (probabilmente uno di essi è un puntatore, ma lo immagino nella versione degli autori, così armonioso).

Le librerie dei linguaggi ST, FBD, SFC sono abbastanza ampie e c'è una scelta per facilitare la programmazione, tuttavia questi componenti non sono funzioni, ma classi, all'interno delle quali sono incorporati metodi, e per la maggior parte manca documentazione con descrizioni delle funzionalità e dei tipi di dati. La mia insistenza mi ha portato alle librerie del nucleo di CodeSys, da dove sono state tratte tutte queste funzioni, la loro documentazione è stata utile.

4. Scambio con il pannello SP307

Un evento piuttosto interessante per chi non ha dove spendere un paio di giorni.

Per me, il testing standard dell'interfaccia GUI (HMI o SCADA) è effettuare 6 prove:

  1. Lettura del segnale discreto
  2. Scrittura del segnale discreto
  3. Lettura del valore intero
  4. Scrittura del valore intero
  5. Lettura del valore reale
  6. Scrittura del valore reale

Di conseguenza, disegno sullo schermo 6 componenti primitivi e ciascuno viene controllato in ordine
Lo scambio è assolutamente lo stesso che con i moduli, ma da una porta separata del PLC RS-232/485 e, a quanto pare, è più stabile. Poiché è uno slave HMI, scrivevo in esso per cambiamenti e leggevo con polling ogni 500 ms, per non perdere le azioni dell'operatore.

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

Inviamo dati di tipo Single Float, li visualizziamo sullo schermo e vediamo che i dati non sono quelli, anche se tutte le impostazioni di output (Float, dimensione 1 registro e altro) sono corrette. Sarebbe falso dire che il precedente non è descritto nella documentazione, tuttavia, prova a trovare in quale e dove, è divertente da questo punto di vista.

Dopo aver esaminato in modo frenetico tutte le impostazioni relative ai dati stessi e al loro invio, scriviamo al supporto tecnico, la risposta in media è di 5-6 giorni di calendario, lavoriamo secondo lo script standard del supporto tecnico «Controlla se l'alimentazione è accesa — controlla la versione del software — attendi ancora una settimana — andiamo a risolvere da soli».

A proposito, è stato risolto impostando una casella di spunta in un posto assolutamente inadeguato con una didascalia assolutamente inadeguata.

Nel funzionamento dello schermo non è previsto l'inserimento di un segnale analogico di tipo «Pulsante», si può scrivere solo nel campo di testo con i numeri. È semplicemente incredibile, o usiamo i pulsanti «±» e lo script autonomamente oppure inseriamo il numero con la tastiera, dimenticando il controllo morbido di qualche tipo di azionamento.

Non voglio sovraccaricare l'articolo, quindi descriverò i problemi a livello superiore nella parte 2.

In sintesi, voglio sottolineare che ho avuto sufficiente libertà e tempo per affrontare questi problemi, che a prima vista possono sembrare ridicoli, ma causano molto dolore a chi ne è colpito. In condizioni di scadenze limitate, affrontare tali problemi è critico.

P.S.: Tutti i punti esposti qui sono soggettivi e sono solo un tentativo di avvisare i non preparati, e non di discriminare i produttori; vi chiedo di considerare questo articolo proprio da questo punto di vista.

La seconda parte è già qui: clicchiamo

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster