Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedenteProssima revisioneEntrambe le parti successive la revisione |
hmi [2020/01/27 13:39] – admin | hmi [2020/11/22 20:58] – [Tia Portal e HMI] admin |
---|
* collegarlo al PLC con un cavo Ethernet (meglio attraverso uno [[wpi>Switch]] per poter collegare contemporaneamente anche il PC per programmare PLC e HMI) | * collegarlo al PLC con un cavo Ethernet (meglio attraverso uno [[wpi>Switch]] per poter collegare contemporaneamente anche il PC per programmare PLC e HMI) |
| |
All'accensione il pannello presenta mostra una schermata che permette di scegliere se: | All'accensione il pannello mostra una schermata che permette di scegliere se: |
* trasferire un progetto (pagine, ecc.) dal PC all'HMI | * trasferire un progetto (pagine, ecc.) dal PC all'HMI |
* avviare il progetto caricato nell'HMI | * avviare il progetto caricato nell'HMI |
* modificare una variabile del PLC in seguito alla pressione di un pulsante sul pannello touchscreen | * modificare una variabile del PLC in seguito alla pressione di un pulsante sul pannello touchscreen |
| |
L'associazione viene fatta dalle proprietà dell'oggetto. Ad esempio è possibile associare una PlotLight (spia) ad una variabile del PLC indicando nella sezione //Generale// delle proprietà dell'oggetto il nome della variabile e l'aspetto desiderato quando questa vale 0 o 1. Un'operazione analoga si può fare con i pulsanti indicando quale variabile del PLC si vuole comandare e in seguito a quale evento. Per i pulsanti (disponibili tra gli //Elementi// della //Casella degli strumenti// nella sezione //Click// della scheda //Eventi// si può associare una funzione associata alla pressione del pulsante sul touchscreen. Ad esempio scegliendo la //Elaborazione di bit//|//Imposta bit// si può selezionare dal menu a tendina una variabile del PLC che si vuole comandare (NB quando il pannello HMI comanda il PLC bisogna agire sui merker e non direttamente sulle uscite!). | L'associazione viene fatta dalle proprietà dell'oggetto. Ad esempio è possibile associare una PilotLight (spia) ad una variabile del PLC indicando nella sezione //Generale// delle proprietà dell'oggetto il nome della variabile e l'aspetto desiderato quando questa vale 0 o 1. Un'operazione analoga si può fare con i pulsanti indicando quale variabile del PLC si vuole comandare e in seguito a quale evento. Per i pulsanti (disponibili tra gli //Elementi// della //Casella degli strumenti// nella sezione //Click// della scheda //Eventi// si può associare una funzione associata alla pressione del pulsante sul touchscreen. Ad esempio scegliendo la //Elaborazione di bit//|//Imposta bit// si può selezionare dal menu a tendina una variabile del PLC che si vuole comandare (NB quando il pannello HMI comanda il PLC bisogna agire sui merker e non direttamente sulle uscite!). |
| |
Quando l'interfaccia grafica è completa il progetto va compilato e caricato sul pannello HMI. Per farlo si procede come per i PLC con la funzione //Carica nel dispositivo//. | Quando l'interfaccia grafica è completa il progetto va compilato e caricato sul pannello HMI. Per farlo si procede come per i PLC con la funzione //Carica nel dispositivo//. |
===== HMI e manipolatore ===== | ===== HMI e manipolatore ===== |
| |
Il progetto del [[manipolatore]] si presta ad essere integrato con un pannello HMI | Il progetto del [[manipolatore]] si presta ad essere integrato con un pannello HMI che svolga funzioni di: |
| * supervisione |
| * configurazione |
| |
| {{ ::manipolatore-hmi-2020.zip |Questa versione aggiornata del progetto}} contiene un pannello HMI Basic che svolge queste funzioni oltre ad un software aggiornato che permette l'interazione tra PLC e HMI. |
| |
| ==== Hardware ==== |
| |
| Il pannello HMI ha un'alimentazione separata a 24V e comunica con PLC e PC grazie a uno switch((per i PLC 1215C non serve perché hanno due porte di rete e uno switch integrato)). Quando si aggiunge un HMI al progetto è bene controllare - e eventualmente modificare - l'indirizzo IP che non deve essere in conflitto con PLC (192.168.0.1) o PC (192.168.0.2). |
| |
| ==== HMI ==== |
| |
| L'interfaccia comprende tre pagine navigabili con un menu a tendina o con dei bottoni. La finestra principale contiene solo un'immagine del modellino. La pagina di supervisione permette di avviare il ciclo anche con un pulsante "start" virtuale e di interrompere il movimento con pulsante di emergenza (premendolo si fermano tutti i motori, disarmandolo si ha l'homing). I movimenti sono monitorati in due modi: |
| * con dei campi I/O che mostrano il valore dei contatori dei quattro encoder |
| * con delle rappresentazioni schematiche delle parti del manipolatore associate a delle animazioni |
| In questa pagina i campi I/O sono solo uscite e le variabili associate sono copiate dal PLC all'HMI ogni 100ms. Le animazioni sono: |
| * movimenti orizzontali o verticali definiti in pixel dato un range di valori di variabili del PLC (ad esempio da 0 a 12 -> spostamento da 0 a 24 pixel) |
| * movimenti diretti (orizzontali e verticali) che producono uno spostamento lungo l'asse X e l'asse Y pari al valore di due variabili |
| * un elenco di grafiche per la rotazione del braccio dove si associa associata una determinata immagine a un intervallo di valori del conteggio legato alla rotazione((questa soluzione è dovuta al fatto che i pannelli Basic non permettono di ruotare le grafiche)) |
| |
| La pagina per la configurazione contiene dei campi I/O associati alle variabili delle impostazioni e dei pulsanti che ripristinano il valore di default. Il range di valori ammesso è definito nella tabella delle variabili standard dell'HMI (nella sezione Area); i pulsanti scrivono un valore predefinito in una variabile del PLC in corrispondenza dell'evento "rilascia". |
| |
| ==== Software ==== |
| |
| Il programma è modificato così: |
| * l'emergenza è gestita con un nuovo stato attivato dalla pressione del pulsante su HMI; il fronte di discesa del segnale associato al pulsante porta al passo P0 (homing) |
| * le coordinate dei movimenti non sono più valori numerici costanti inseriti nel programma ma dei valori contenuti in apposite variabili a ritenzione((il valore si conserva anche quando manca l'alimentazione)) contenute in un blocco dati (DB) apposito |
| * per gestire correttamente le animazioni dell'HMI si utilizzano contatori CTUD per i sensori a impulsi (l'informazione sul verso viene ottenuta dallo stato dei motori) e con una variabile che contiene il valore del conteggio diviso per 10 (per ottenere uno spostamento in pixel non troppo grande) |
| |
| |
==== Riferimenti ==== | ==== Riferimenti ==== |