Jump to content
PLC Forum


drake82

Librerie per hmi

Recommended Posts

drake82

Buongiorno a tutti, a volte girando nei vari stabilimenti mi capita di vedere display con una grafica completamente diversa e decisamente più accattivante su alcuni hmi siemens. Sapete se esistono librerie già fatte oppure come crearne?? Mi piacerebbe avere a disposizione più scelte.

Grazie a tutti 

 

Share this post


Link to post
Share on other sites

pigroplc

tutto quello che vedi è creato da zero, o meglio, non ci sono librerie grafiche in aggiunta rispetto a quello che vedi nel tool di progettazione.

Per esempio nel mio caso mi sono servito di un programmatore di siti internet per generarmi le basi (sfondi schermo, icone specifiche e icone vuote) sulle quali nel tempo ho aggiunto man mano le cose che mi servivano. 
Sfrutta i template differenti e sfrutta la possibilità di generare pulsanti testuali e grafici, se poi sopra gli metti una icona a sfondo trasparente il risultato è accattivante.

 

Quello che vorrei fare adesso è invece strutturare l'interfaccia video come uno smartphone, visto che anche il bengalese sottopagato nella penisola arabica dispone di uno smartphone e acquisirebbe immediatamente dimestichezza nell'utilizzo dell'impianto. Mica chiedo molto, solamente la funzione di zoom in/out col doppio dito e lo scroll pagine come un piffero di smartphone ma .... mamma Siemens ci arriverà quando sarà altroché quota 100 per me....

Share this post


Link to post
Share on other sites
drake82

Ok grazie. Molto interessante. Speriamo di riuscire a fare qualcosa come mi hai detto

Share this post


Link to post
Share on other sites
scovit

SAlve anche a me servirebbero dei simboli grafici meccanici da inserire su di un sinottico, potrei inserire un elemento disegnato cad o 3D?

Share this post


Link to post
Share on other sites
pigroplc
1 ora fa, scovit ha scritto:

potrei inserire un elemento disegnato cad o 3D?

Io mi sono installato eDrawings proprio per poter pescare i 3D dalla progettazione meccanica e me li salvo come estensione png con sfondo trasparente. E' un gioco da ragazzi quindi integrarli nelle pagine video ed avere un aspetto decisamente professionale quando si fa accendere un pallino rosso nel caso di allarme di sensore guasto. 

Per fare il png a sfondo trasparente uso paint.net.

Edited by pigroplc

Share this post


Link to post
Share on other sites
ifachsoftware

Ti consiglio di usare IconFinder per reperire delle icone libere / a pagamento da riutilizzare (oppure puoi cercarne tranquillamente altri in rete)

e poi di usare programmi gratuiti tipo questo Paint Net Pro per ritoccarle , o dare la trasparenza o creartene di tue.

 

 

Share this post


Link to post
Share on other sites
Marco Mondin

Noi, quando il cliente lo accetta, per fare interfacce accattivanti abbiamo totalmente abbandonato gli HMI! Vanno bene per interfacce banali, anche complesse, ma molto limitate, per fare qualcosa di accattivante il rapporto di tempo di sviluppo HMI/Ambiente PC Industriale (C++/C#/Java/Javascript/Python unito .net/Qt/nodeJS) ormai non ha paragoni! Si fanno cose stratosfericamente più versatili dinamiche e riciclabili!
In riferimento a "quando il cliente lo accetta", a volte basta fare una demo con il lavoro eseguito per altri ed un confronto con una media di HMI standard ed il 90% si convincono!

I vantaggi sono:
- Costi molto più contenuti sulle licenze varie, soprattutto se si va sugli SCADA);
- Possibilità di creare interfacce in HTML5;
- Possibilità di creare interfacce con sistemi descrittivi a Layouts dinamici indipendenti dalla risoluzione video (Stile Qt o stile Android), possibilità di usare stylesheets CSS per creare i wigdet;
- Possibilità di usare grafica vettoriale;
- Una infinita disponibilità di icone importabili in una manciata di secondi;
- Possibilità di crearsi librerie di widget particolari riciclabili;
- Gestione del canale alpha, animazioni dinamiche con tendine a comparsa e scomparsa;

- Una quantità di librerie LGPL (Free ed utilizzabili in software closed source) immensa;
- Una miriade di linguaggi di programmazione che si adattano alle più particolari richieste;
- Un grandissimo supporto al PLC oltre per per semplici funzioni PLC per tutta una serie di cose secondarie che gestite su PLC sarebbero un mattone;
- Gestione di grafica 3D con texturemapping;
- Semplicità mostruosa di interfacciamento a MES/ERP etc con i sistemi usati nel loro mondo e non le porcherie propinate dai produttori di PLC (REST/MQTT/Websockets/Accesso diretto ODBC a praticamente tutti i database, remotizzazione SSL, integrazione di smartapp);
- Gestione database con programmazione "Model View Controller";
- Possibilità di interfacciarsi alle più svariate marche di prodotti con lo stesso software:
- Possibilità di creare proxy da componenti di campo con protocolli particolari verso i PLC;

- Gestione di display multitouch con gesture (Pinch, slide, etc...) per lavorare su grafici e 3D;

Alcune di queste cose si fanno anche con gli HMI, ma fa venire voglia di suicidarsi guardando il tempo richiesto.
Oggi sovente in campo su un HMI magari si legge SIEMENS, poi in realtà non è un semplice HMI, ma un PC industriale con dietro software anche molto complessi.

 

Con questi sistemi, sovente creaiamo 3D dinamici importando direttamente gli STL (Con i robot antropomorfi vengono bellissimi), creiamo sistemi ti trace grafici in realtime con accelerazione openGL che risultano fluidissimi alla vista (non serve ad un tubo, ma fa effetto) etc...

Oltre al fatto che in alcune realtà per ottenere interfacce ancora più accattivanti si lavora a quattro mani affiancati da un designer professionista!

Edited by Marco Mondin

Share this post


Link to post
Share on other sites
Cesare Nicola
Il 24/1/2019 alle 11:17 , pigroplc ha scritto:

Quello che vorrei fare adesso è invece strutturare l'interfaccia video come uno smartphone, visto che anche il bengalese sottopagato nella penisola arabica dispone di uno smartphone e acquisirebbe immediatamente dimestichezza nell'utilizzo dell'impianto

Mitsubishi lo fa, sebbene non l'ho mai usato. Anche Unitronics, che era stata qui a presentare i loro prodotti; sicuramente anche altri.
E' un discorso da non sottovalutare, in effetti: già un paio di volte mi è capitato, durante un training, di vedere l'operatore provare a scorrere o zoomare come se stesse utilizzando uno smartphone. Che ci piaccia o no, se le aspettative sono quelle, bisognerà adattarsi, quindi fai bene a guardare avanti e preoccupartene. Una difficoltà, mi spiegavano, è la tipologia di touch-screen necessaria per avere le funzionalità "tipo smartphone": devono essere touch-screen di tipo capacitivo, che sono meno precisi e che non funzionano con penne e simili ma solo con le dita (informazioni da prendere con le molle).

Share this post


Link to post
Share on other sites
Marco Mondin
1 ora fa, Cesare Nicola ha scritto:

Una difficoltà, mi spiegavano, è la tipologia di touch-screen necessaria per avere le funzionalità "tipo smartphone": devono essere touch-screen di tipo capacitivo, che sono meno precisi e che non funzionano con penne e simili ma solo con le dita (informazioni da prendere con le molle).

Più che altro per la gestione completa delle gesture devono essere multitouch!

Il fatto che siano capacitivi li rende più confortevoli, in quanto non è necessario premere come con quelli resistivi, di contro la maggior parte dei capacitivi con un terre collegate alla carlona, appena si mettono in servo on i motori fa impazzire!

Per alcune cose le gesture sono molto comode ed intuitive, come la rotazione e lo zoom di un 3D diagnostico!
Io sto notando che si sta creando una enorme voragine tra due tipologie di committenti.
-Quelli che vogliono cose ultra light semplicissime (non da usare intendo) con nessun fronzolo e vuole spendere un quasi nulla nelle interfacce.
-Quelli che volgiono una macchina molto smart, in stile tablet/telefono moderno, con tutti i fronzoli del caso e tutta l'interconnettività IoT. Spendendo anche cifre molto consistenti. DOve a volte si tocca un rapport di costo automazione/hmi(e IoT) fino a 1/5 ed a volte di supera.

I primi trovano assurda la spesa, i secondi no, in quanto la usano veramente per ottimizzare la produzione e ridurre i costi.

Da un lato una corretta raccolta dei dati con una corretta sorgente di dati ben categorizzata, permette di analizzare i risultati di un KPI estrapolando le vere cause di un basso OEE e permettendo di agire in modo molto mirato per alzarlo. Dall'altro un'interfaccia molto smart permette con magari una gestione ricette guidata con tip, con grafica drag & drop, etc permette di avere dipendenti con qualifica più bassa in linea (Non uccidetemi con discorsi etici), con conseguente riduzione dei costi. Ovviamente tutto ciò ha un costo, non si può pretendere che una integrazione di un certo livello possa essere regalata come un HMI fatto al volo giusto per accontentare il cliente anche perché il monte ore di differenza non è nemmeno paragonabile.

I primi non lo capiscono o non hanno le risorse per gestire il tutto, i secondi la fruttano a pieno.

Trovo manchino un po' le vie di mezzo!

Share this post


Link to post
Share on other sites
batta
12 ore fa, Marco Mondin ha scritto:

I primi non lo capiscono o non hanno le risorse per gestire il tutto, i secondi la fruttano a pieno.

Non fraintendermi, non sono contrario al tuo discorso in linea di principio e, se un programma, oltre che funzionale, è anche bello, ben venga. Troppo spesso però arrivano richieste che, sinceramente, sembrano dettate più dalla moda che dalla funzionalità. I fronzoli a volte sono solo inutili fronzoli. Ruotare un trend con due dita è sicuramente coreografico, ma la vera utilità, dove sta? Più di una volta, a certe richieste, mi è capitato di rispondere: "Ma vuoi una supervisione o un videogame?" .

Sul fatto che una gestione tipo smartphone sia migliore rispetto a quella più tradizionale, c'è parecchio da discutere. Per dire, Win10, anche per i desktop, si presenta con un'interfaccia da tablet. Quanti usano Win10 in questa modalità e quanti, invece, l'hanno impostato alla "vecchia maniera"?

Poi, una cosa è un pannello sulla linea di produzione, che sarà sicuramente un touch, altra un supervisore in ufficio, dove il vecchio mouse rimane infinitamente più pratico di qualsiasi multitouch e di qualsiasi gesture. E sarà su questo pc che farai tutte le analisi di produzione, non certo sul pannello operatore. E nemmeno sullo smartphone. Non prendiamoci in giro. Poter accedere anche da smartphone per controllare lo stato generale è sicuramente utile, ma non sarà certo dallo smartphone che mi metterò a fare analisi approfondite.

Per me, il requisito principale che deve avere un HMI o un supervisore, è la semplicità di utilizzo, che non sempre va di pari passo con i fronzoli.

In quanto poi ai dipendenti con qualifica più bassa, sono in totale disaccordo: un imprenditore che punta sulla bassa manovalanza anziché sulla formazione, è indegno di fare l'imprenditore. Poi, non sono certo i fronzoli che ti permettono di far gestire una linea ad un incompetente.

 

Share this post


Link to post
Share on other sites
Marco Mondin
3 ore fa, batta ha scritto:

Non fraintendermi, non sono contrario al tuo discorso in linea di principio e, se un programma, oltre che funzionale, è anche bello, ben venga. ...

 

"Ma vuoi una supervisione o un videogame?" .


Ciao Batta.
Il discorso videogame, effettivamente riguarda l'ultimo punto che commento dopo.
Le persone prive di particolari qualifiche (Non dico stupide con questo), sono sovente abituate ad interagire proprio con giochini sul telefono. Facendo cose in un certo senso "simili" dal punto di vista funzionale si possono trovare più a loro agio. 
 

Quote

Sul fatto che una gestione tipo smartphone sia migliore rispetto a quella più tradizionale, c'è parecchio da discutere. Per dire, Win10, anche per i desktop, si presenta con un'interfaccia da tablet. Quanti usano Win10 in questa modalità e quanti, invece, l'hanno impostato alla "vecchia maniera"?


Beh... L'esempio windows10 non è l'ideale. Microsoft ha deposto le armi ed abbandonato la strada, la loro interfaccia è stata bocciata anche sui telefoni.
Android invece ha un sistema molto intuitivo per la massa (Non per tutti ovviamente)

 

Quote

Poi, una cosa è un pannello sulla linea di produzione.....


Senza dubbio, ma oggi vedo molte volte i capi turno passare e dare una lettura anche all'HMI.
Tuttavia c'è da dire che non ci limitiamo alla raccolta dati, ma creiamo già tutto ciò che è un KPI storicizzato su varie tabelle di un db SQL presente sulla macchina, con lista eventi ed un minimo di statistica, occorrenze, tempi medi e tempi massimi, per singoli eventi e per parzializzazioni in gruppi, sottomachine etc... (Cosa che ci hanno imposto nel mondo del tabacco, dove ci impongono di arrivare fino al calcolo dell'OEE con la triangolazione del calcolo effettuato da loro)
Poi ci richiedono sovente di esportare da HMI/PLC web service in SSL con API REST, o servizi WCF, senza un PC e software un minimo più spinto è difficile.
Altre cose più semplici come invio di email, messaggi su telefono etc si fanno anche con prodotti tradizionali e metodi preconfezionati, ma si ha meno spazio di verticalizzazione ed integrazione omogenea. 
 

Quote

Per me, il requisito principale che deve avere un HMI o un supervisore, è la semplicità di utilizzo, che non sempre va di pari passo con i fronzoli.

 

Qua ti faccio un esempio sulla pallettizzazione, noi abbiamo sviluppato un software su HMI che permette di comporre le ricette in drag & drop con il dito in stile videogeame di puzzle sul telefono. Questo permette di creare le ricette senza perdere tempo a calcolare la posizione delle scatole o usare software esterni su PC per poi inportare i soliti e scomodi csv, il database delle ricette vive in SQL su HMI, ma si sincronizza con un db centralizzato che permette la ridistribuzione ricette su più macchine.

Tale software ha visualizzazione 3d in realtime del processo produttivo, e permette di ruotare e zoomare il pallet in 3D con le dita, osservando alla ripresa se il pallet in macchina ed il 3D che si aspetta il software combaciano evitando danni. Contare il numero di layer e scatole come negli altri software, causava e causa frequenti errori e collisioni, in quanto un pallettizzatore non ha occhi per vedere cosa fa un operatore. 
Ora vedo che ogni operatore macchina è in grado si aggiustare le ricette, con quasi tutti i software che ho visto di pallettizzazione (e ne ho visti molti) sono costretti a chiamare il manutentore, che deve avere un foglio di carta o un laptop, usare un secondo software o farsi i calcoli a mano (il 90% delle colte per altro) e caricare scomodissime tabelle, che anche se a noi di questo forum sembrano banali tabelle per chi è davanti ad una macchina non lo sono. 
 

Quote

In quanto poi ai dipendenti con qualifica più bassa, sono in totale disaccordo: un imprenditore che punta sulla bassa manovalanza anziché sulla formazione, è indegno di fare l'imprenditore. Poi, non sono certo i fronzoli che ti permettono di far gestire una linea ad un incompetente.


Non intendo mettere una sciammia ad una macchina, intendo mettere una persona che anche se intelligente magari non avendo a che fare tutti i giorni con un PC non sa cosa sia una tabella ricette e come compilarla, parlando una lingua più simile alla sua e non imponendo una ricetta gli si semplifica non poco la vita. Non tutti sono come noi abituati a vivere in un mondo di numeri. Con questo non li intendo stupidi.

In ultimo, ma non meno importante, se mi pagano per tutto questo, io mi diverto come una scimmia ad integrare i vari fronzoli... Lo trovo molto divertente e piacevole...

Edited by Marco Mondin

Share this post


Link to post
Share on other sites
batta
Il 29/2/2020 alle 09:23 , Marco Mondin ha scritto:

In ultimo, ma non meno importante, se mi pagano per tutto questo, io mi diverto come una scimmia ad integrare i vari fronzoli...

Beato te.

 

Il 29/2/2020 alle 09:23 , Marco Mondin ha scritto:

Qua ti faccio un esempio sulla pallettizzazione,

Questo è un esempio un po' particolare. I calcoli per ottimizzare la palettizzazione(1) sono complessi, di solito fuori dalla portata di normali HMI (il vero argomento della discussione), a meno che non si tratti di modelli semplici.
C'è chi usa software dedicati. Se tu sei in grado (e hai il tempo) di creartelo, buon per te.


Per controllare lo stato di una linea, non serve cambiare pagina facendo scorrere il dito. Per visualizzare l'andamento di una temperatura, non serve un trend 3D da ruotare con due dita. Sì, certo, lo puoi fare. Ma quanto ti costa come tempo? E cosa aggiunge alla funzionalità vera e propria? Migliora solo l'estetica. Io non ho ancora trovato un solo cliente disposto a spendere cifre considerevoli solo per migliorare l'estetica.

 

Nota (1) - Il termine, in italiano, deriva da "paletta", e sarebbe più corretto con una sola elle, anche se i dizionari accettano pure la forma con due elle 😉 .
È un po' come la brutta abitudine di scrivere "silos". Se si scrive in inglese, "silos" è il plurale, mentre il singolare è "silo". Se si scrive in italiano, singolare è "silo" e plurale è "sili".

Scusate il fuori tema.

Edited by Fulvio Persano
corretto (involontario) errore ortografico

Share this post


Link to post
Share on other sites
Livio Orsini
13 ore fa, batta ha scritto:

Scusate il fuori tema.

 

Ogni tanto ci vuole un richiamo alla lingua nazionale sempre più maltratta.

Fa piacere, almeno a me, leggendo capire che c'è ancora qualcuno che sa usare un lessico non banale, ortografia e sintassi corrette.

Share this post


Link to post
Share on other sites
Marco Mondin

Estetica a parte, un HMI evoluto, anche se forse non è più corretto chiamarlo HMI (e si va fuori tema), può andare anche incontro ai PLC nello svolgimento del processo vero e proprio.
Soprattutto sulla matematica, che seppur discretamente più semplice da gestire in ST, non ha paragoni con le librerie che oggi si trovano in C++ piuttosto che python, ci si fa praticamente tutto quello che si può fare con matlab integrandolo nel processo!
Oppure si può (come dissi da qualche altra parte) sfruttare come gateway verso dispositivi embedded di campo, piuttosto che per semplificare non poco la vita nell'accesso ed integrazione dei database per i dati non di sola tracciabilità etc, ma anche per dati necessari al processo del PLC vero e proprio. Non di rado noi abbiamo applicativi PLC che non usano più nessuna ritentiva ma pescano tutto su strutture mappate da un HMI che gestisce un suo database MySQL, piuttosto che SQLite, evitando la gestione di tali database al PLC che sovente risulta tedioso oltre che limitativo, oltre a portare via risorse ad un dispositivo che deve occuparsi di altro.

Permette una più semplice integrazione IoT senza passare da un OPC UA, che anche se costruito come standard per noi che facciamo automazione, non viene accettato di buon grado da chi si occupa di IoT dall'altro lato dove esistono standard di tipo diverso da lunga data. Purtroppo gestire un WebService REST o WebSocket (I più usati nel mondo IoT) con un PLC è un'impresa titanica, mentre con un HMI evoluto, non proprio una passeggiata, ma quasi.
Alla fine se si deve fare un semplice HMI con tool e librerie di questo tipo si spende poco tempo in più (a volte meno), disegnare a layout(stile android o Qt) è molto più veloce che posizionare staticamente oggetti su uno schermo e non ci si deve quasi preoccupare della risoluzione del dispositivo di visualizzazione. La parte di disegno per un HMI base fa risparmiare tanto tempo, che poi si perde in parte nella maggior difficoltà di mappatura dei dati, ma si ha il vantaggio che appena le cose cambiano si ha nascosto sotto al cofano uno strumento molto potente che permette di fare tante cose in più!
Poi ci sono cose molto particolari che si possono fare, per esempio la generazione automatica di codice di mappatura per il PLC, solo da copiare ed incollare. Molto comodo per esempio nella gestione delle parametrizzazioni macchina. Una delle parti più noiose su un HMI. Sfruttando librerie di parsing del codice PLC si possono catturare per esempio commenti speciali che risultano poi direttive ber il builder dell'HMI, il quale può costruire in autonomia tutta la visualizzazione del setup macchina organizzata in treeview e generare il codice da incollare su PLC per la mappatura automatica di tali parametri. È una cosa molto complessa, ma fa risparmiare decine di ore, in quanto tutta la parte di parametrizzazione si fa mentre si scrive il codice PLC semplicemente aggiungendo commenti nei posti giusti, che in realtà sono comandi e direttive per il builder HMI. Quando i parametri diventano 3-400 le ore risparmiate diventano davvero tantissime.

Questi sono solo alcuni degli automatismi per creare HMI che si possono integrare in un framework più o meno complesso.

 

 

Quote

Io non ho ancora trovato un solo cliente disposto a spendere cifre considerevoli solo per migliorare l'estetica.

Noi, ne troviamo alcuni, anche se certo sono una piccola percentuale. Ne trovammo uno in particolare per cui ci fermammo ad una demo (Per altro apprezzata), in quanto non avevamo tempo essendo in due per realizzare quanto volevano nei tempi richiesti. Non era un problema di budget, ma solo di tempi con due risorse. Oggi stanno portando avanti quel progetto con un team di sviluppatori solo per l'HMI affiancati da un designer professionista che detta come devono essere fatte le cose. Si tratta di una macchina che viene esposta nelle fiere, la prima fiera la fece con la nostra demo.
Fare interfacce animate con gestione di trasparenze, oggetti con forme irregolari, grafica vettoriale, oggetti 3D(in quella avevamo il modello 3D del robot antropomorfo con gli STL forniti dal produttore del robot e di tutta la tavola girevole con mandrini etc il tutto in texture mapping) richiede una quantità di tempo mostruosa. 

Tuttavia quest'anno abbiamo già detto no a due lavori di questo tipo molto interessanti, in quanto anche se molto divertenti, come mi pare di aver già detto altrove non va bene impegnarsi troppi mesi solo ed esclusivamente su un cliente/lavoro, si rischia di perdere il contatto con il mercato, soprattutto quando si è solo in due.

 

Quote

Nota (1) - Il termine, in italiano, deriva da "paletta"...

🙂 Hai ragione, e purtroppo anche il mio socio sovente mi tira le orecchie! Il problema è che su Internet un sacco di siti li chiamano pallettizzatori e non palettizzatori, questo mi crea non poca confusione. 🙂 🙂 🙂

Share this post


Link to post
Share on other sites
batta
Il 29/2/2020 alle 17:42 , batta ha scritto:

singolare è "silo" è plurale è "sili".

Rileggendo mi sono accorto di una "è" al posto di una "e".
Giuro che è stato un banale errore di battitura, non confonderei mai un verbo con una congiunzione.
Qualche amministratore potrebbe, gentilmente, correggere? Grazie. Un simile errore, mi fa orrore ;-)
 

Share this post


Link to post
Share on other sites
Fulvio Persano

Ciao.

 

48 minuti fa, batta ha scritto:

Rileggendo mi sono accorto di una "è" al posto di una "e".
Giuro che è stato un banale errore di battitura, non confonderei mai un verbo con una congiunzione.
Qualche amministratore potrebbe, gentilmente, correggere? Grazie. Un simile errore, mi fa orrore 😉

Corretto. ;)

 

Share this post


Link to post
Share on other sites
batta

Grazie.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...