Buongiorno, cari lettori di questo articolo. Scrivo in formato di recensione
Una piccola avvertenzaVoglio avvertire che se hai subito capito di cosa si tratta dal titolo, ti consiglio di cambiare il primo punto (ossia il nucleo PLC) con qualcosa della categoria di prezzo di un gradino superiore.
Nessun risparmio vale una quantità così alta di nervi, a livello soggettivo.
Per coloro che non temono un po' di canizie e l'ampiezza di un tic nervoso, più avanti descriverò nei dettagli come è stato creato questo miracolo tecnologico. In questo articolo, invece, fornisco un'analisi breve del progetto con una certa dose di critica.
Origine. Impostazione del compito
In effetti, lavoro in un ufficio di progettazione e testiamo l'attrezzatura di automazione per integrazioni chiavi in mano nelle nostre fabbriche. Recentemente è arrivata in magazzino l'attrezzatura OVEN ed è stato deciso di assemblare una piastra di prova:
- PLC110[M02]-MS4 (ambiente esecutivo MasterSCADA 4D)
- Pannello operatore SP307
- Modulo universale di ingresso segnali analogici MV110-224.2A
- Modulo ingresso segnali di celle di carico MV110-4TD
- Modulo di misurazione elettrica MV110-220.3M
Struttura del sistema è stata scelta con la suddivisione delle reti in base alla destinazione:
- Modbus RTU su base RS-485 — comunicazione PLC con dispositivi secondari (moduli, inverter, sensori intelligenti, pannello HMI SP307), PLC master della rete.
- Modbus TCP su base Ethernet — comunicazione tra diversi PLC e server OPC.
- PC-un server Le soluzioni OPC e SCADA fungono anche da gateway tra due reti differenti (la LAN aziendale e la rete Modbus TCP dei controllori, con due adattatori di rete che gestiscono la routizzazione dei dati tramite standard Windows).
- La LAN aziendale ha accesso a Internet tramite un server proxy.
La struttura del sistema è mostrata in modo generale nell'immagine seguente:
![OVEN PLC110[M02]-MS4, HMI, OPC e SCADA, o quanta camomilla è necessaria per l'uomo. Parte 1](/wp-content/uploads/2019/10/18cb2554a35fbb11111a78572d0f2bf9.png)
Funzionalità integrate
- Raccolta e reindirizzamento dei dati dai PLC al server OPC.
- Controllo locale e monitoraggio tramite il pannello HMI.
- Controllo e monitoraggio tramite SCADA attraverso il server OPC.
- Controllo da qualsiasi PC nella LAN aziendale e via Internet con il cliente SCADA.
- Connessione 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, nello specifico, tratterò (i metodi di risoluzione saranno descritti in articoli con l'implementazione di ciascun modulo):
Le difficoltà emerse
1. Documentazione PLC
Il beta testing del PLC annunciato basato su MasterSCADA 4D è stato segnalato dal produttore nel 2012. Nonostante il lungo periodo di esistenza del concetto, tutto ciò che il developer ha nel 2019 è un manuale di programmazione di 28 (!) pagine, con informazioni utili che sono praticamente nulle, e le schermate nel manuale provengono da MasterSCADA 3D, il che è piuttosto divertente dato che l'interfaccia è cambiata.
Inoltre, il forum è attivamente supportato da tre appassionati e un responsabile vendite con 20 argomenti.
2. Architettura dei moduli PLC
Questa è una questione a parte da discutere. In breve: il PLC comunica con i moduli come dispositivi slave Modbus RTU, che devono essere configurati in precedenza utilizzando un'utilità collegando ciascuno al PC tramite un convertitore RS-485.
Gli esperti, naturalmente, possono farlo senza il convertitore attraverso il PLC, collegando in serie i moduli nella rete e registrando i registri necessari, ma ciò arriva con esperienza e un'enorme quantità di dolore.
Per un sviluppatore che vede per la prima volta un'architettura di questo tipo, non è affatto user-friendly.
Anche tutti i moduli analogici tendono a guastarsi per motivi sconosciuti, portando con sé l'intera rete RS-485 in Terra Incognita, ma di questo voglio parlare a parte; è tutta un'epopea, naturalmente. Il problema, per inciso, esiste da circa 10 anni e il produttore scherza. "Bisogna ammettere che i modelli non sono riusciti.", tuttavia è l'unico modo di comunicare con i moduli, e le persone, piuttosto seriamente, hanno a lungo descritto le loro implementazioni di Modbus RTU.
Nel frattempo, il tè alla camomilla stava finendo... Il sole stava tramontando.
3. IDE MasterSCADA
Non parlerò degli strumenti grafici, non li ho testati a fondo, ma posso dire subito che non mi sono piaciuti.
Parliamo dell'implementazione dello scambio di dati e dei linguaggi dello standard IEC:
Le uscite fisiche del controllore non sono variabili globali e non possono essere accedute da qualsiasi parte del programma semplicemente scrivendo un alias, ad esempio "DI1". Ogni programma deve essere trascinato manualmente, dove si forma una variabile locale che eredita o trasferisce un valore. Cioè, la stessa entità PLC, nella mia visione, è un po' persa: il dispositivo dovrebbe semplificare la programmazione della logica di funzionamento dei canali fisici a livello. «Se il segnale DI1 è attivo — Attiviamo l'uscita DO1», e appare così «Ingresso DI1 — Variabile LI1 — Variabile LO1 — Uscita DO1», inoltre, senza conoscere questo principio, l'IDE può restituire un avviso sorprendente: «Conversione Boolean-Boolean impossibile» (probabilmente uno di essi è un puntatore, ma immagino che nella visione dei creatori ciò risulti più armonioso).
Le librerie dei linguaggi ST, FBD, SFC sono piuttosto ampie e hanno opzioni per un'agevole programmazione; tuttavia, questi componenti non sono funzioni, ma classi, all'interno delle quali sono implementati metodi, mentre la maggior parte di questi manca della documentazione con descrizioni delle funzionalità e dei tipi di dati. La mia tenacia mi ha portato alle librerie del nucleo CodeSys, da cui sono state tratte tutte queste funzioni, e la loro documentazione è stata utile.
4. Scambio con il pannello SP307
Un'esperienza piuttosto interessante per chi non ha nulla da fare in due giorni.
Il test GUI standard (HMI o SCADA) per me consiste nel fare 6 prove:
- Lettura di un segnale discreto
- Scrittura di un segnale discreto
- Lettura di un valore intero
- Scrittura di un valore intero
- Lettura di un valore reale
- Scrittura di un valore reale
Di conseguenza, disegno 6 componenti primitivi sullo schermo e li controllo uno per uno.
Lo scambio è esattamente lo stesso che con i moduli, ma da una porta PLC RS-232/485 dedicata e sembra essere più stabile. Poiché è uno slave HMI, ho scritto in esso al variare, mentre ho letto a polling ogni 500 ms per non perdere le azioni dell'operatore.
I primi 4 punti sono stati eseguiti alla perfezione, 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 corretti, anche se tutte le impostazioni di output (Float, dimensione 1 registro e altro) sono corrette. Sarebbe falso dire che non c'è un precedente descritto nella documentazione, tuttavia, provate a trovare in quale e dove, è divertente da un certo punto di vista.
Dopo una frenetica esplorazione di tutte le impostazioni relative ai dati stessi e al loro invio, scriviamo al supporto tecnico, la risposta richiede in media 5-6 giorni lavorativi, seguiamo lo script standard del supporto tecnico ‘Controlla che l'alimentazione sia accesa — controlla la versione del software — attendi un'altra settimana — ci mettiamo a indagare da soli’.
A proposito, si è risolto mettendo un flag in un posto assolutamente inadeguato con una dicitura totalmente inappropriata.
Nella funzionalità dello schermo l'ingresso del segnale analogico di tipo "Scorrevole" non è impostato, può essere inserito solo nel campo di testo come numero. È semplicemente fantastico, o scriviamo i pulsanti "±" e facciamo lo script da soli oppure inseriamo il numero da tastiera, dimenticando il soft control di qualche tipo di attuatore.
Non voglio appesantire troppo l'articolo, quindi descriverò i problemi con il livello superiore nella parte 2.
In sintesi, voglio sottolineare che ho avuto una libertà sufficiente e molto tempo per risolvere questi problemi, che a prima vista sembrano ridicoli, ma causano molta sofferenza a chi ne é colpito. In condizioni di scadenze strette, affrontare tali problemi è critico.
P.S.: Tutti i punti esposti qui sono soggettivi e rappresentano solo un tentativo di avvertire gli inesperti, non di discriminare i produttori; vi prego di considerare questo articolo proprio da questa prospettiva.
La seconda parte è già qui:
Fonte: habr.com
