Quick Start Mect Suite Starter Kit M7045_03 10/15 INDICE 1 PRIMI PASSI ................................................................................................................................... 1 1.1 PREPARAZIONE DEL PC ....................................................................................................... 1 1.2 COLLEGARE IL KIT ................................................................................................................ 1 1.3 GIOCHIAMO! ........................................................................................................................... 1 1.3.1 Connessione LAN tra PC e TPAC ....................................................................................... 1 2 MECT SUITE SOFTWARE ............................................................................................................ 2 2.1 CREAZIONE DELL’APPLICAZIONE GRAFICA (HMI) ...................................................... 3 2.1.1 Nuovo progetto .................................................................................................................... 3 2.1.2 Configurazione per TPAC1006/TPAC1007/TPAC1008 ..................................................... 4 2.1.3 Modifica pagina “splash” ..................................................................................................... 4 2.1.4 Gestione Variabili – Dispositivo .......................................................................................... 5 2.1.5 Aggiungere una nuova pagina.............................................................................................. 5 2.1.6 Aggiungere contenuti alla pagina ........................................................................................ 6 2.1.7 Associazione degli elementi grafici alle variabili ................................................................ 7 2.1.8 Inserimento codice sorgente................................................................................................. 9 2.1.9 Attivare il cambio pagina ................................................................................................... 10 2.1.10 Aggiungere icone ai bottoni ............................................................................................. 11 2.1.11 ATCMgraph ..................................................................................................................... 12 2.1.12 Generazione dell’eseguibile (Build) ................................................................................ 12 2.1.13 Copia sul pannello operatore e lancio dell’eseguibile (Deploy &Run) ........................... 13 2.1.13.1 Configurazione “Run Settings” ................................................................................. 13 2.1.14 Configurazione indirizzo IP del pannello ........................................................................ 14 2.1.15 Copia e lancio................................................................................................................... 14 2.1.16 Attivazione VNC e rotazione ........................................................................................... 14 2.1.16.1 Configurazione temporanea di VNC e della rotazione .............................................. 15 2.1.16.2 Configurazione permanente della rotazione .............................................................. 15 2.2 APRIRE UN PROGETTO HMI ESISTENTE (QtCreator) ..................................................... 15 2.3 APRIRE UN PROGETTO PLC ESISTENTE (ATCMcontrol Engineering) .......................... 16 2.4 ESEMPI APPLICATIVI (MectApps) ...................................................................................... 17 Quick Start – Starter Kit Mect srl 1 PRIMI PASSI 1.1 PREPARAZIONE DEL PC Installare sul PC il software Mect Suite: • Mect Configurator (vedere istruzioni veloci “Install_Mect_Configurator_it”) • ATCM Control (vedere istruzioni veloci “Install_ATCM_Control_it”) • QT Creator (vedere istruzioni veloci “Install_QT_Creator_it”) 1.2 COLLEGARE IL KIT Collegare il TPAC1007 alla Scheda STK con il flat in dotazione. Collegare l’alimentazione alla Scheda STK. 1.3 GIOCHIAMO! Le applicazioni precaricate sul TPAC1007 permettono già di giocare: la grafica riporta lo stato delle interfacce analogiche e digitali, inoltre i 4 pulsanti in alto a sinistra comandano i 4 relé. Nel seguito mostriamo i semplici passi per ricreare e modificare le applicazioni. 1.3.1 Connessione LAN tra PC e TPAC La programmazione dei pannelli avviene da PC / Laptop usando i software QtCreator e ATCMcontrol. Il collegamento da PC ai TP/TPAC è via LAN (Ethernet). Collegamento fisico (Ethernet): Nello Starter Kit è in dotazione il cavo LAN per connettere direttamente il PC al TPAC1007. In caso di connessione WiFi bisogna usare uno Switch/Router Ethernet/WiFi. Collegamento logico (configurazione IP): La configurazione IP (Internet Protocol) di default dei pannelli è: • addr 192.168.5.211 mask 255.255.255.0 Per connettersi bisogna che il PC abbia una configurazione coerente, per esempio: • addr 192.168.5.100 mask 255.255.255.0 Seguire le istruzioni del sistema operativo del PC per configurare la rete. M7045_03 10/15 1 Quick Start – Starter Kit Mect srl Verificare la connessione (ping): Per verificare la connessione lanciare “Prompt dei comandi” e scrivere: • ping 192.168.5.211 Premere invio e controllare di ricevere le risposte corrette. 2 MECT SUITE SOFTWARE Il software in ogni pannello Mect (TP e TPAC), basato sulla scheda MPX28, è strutturato come in figura. Sul pannello TP /TPAC girano principalmente due applicazioni che comunicano fra loro e condividono la configurazione: - HMI Application: è l'applicazione grafica che gestisce il display e il touchscreen - PLC Application: è l'applicazione PLC (IEC-61131-3) che gestisce gli ingressi e le uscite con i vari fieldbus (Modbus RTU, Modbus TCP, CANopen, ...) M7045_03 10/15 2 Quick Start – Starter Kit Mect srl Grazie all'elevata integrazione è possibile programmare un'interfaccia grafica anche senza essere dei programmatori. D'altro canto il sistema è aperto ed è possibile, se necessario, costruire applicazioni complesse. Nel caso dello Starter Kit, usando gli I/O locali al TPAC1007, il tutto è già configurato quindi basta usare QtCreator per creare l'applicazione grafica. 2.1 CREAZIONE DELL’APPLICAZIONE GRAFICA (HMI) QtCreator viene utilizzato per creare l’applicazione grafica (HMI = Human to Machine Interface). 2.1.1 Nuovo progetto Aprire Qt Creator e seguire pochi e semplici passi: 1. Dal menu cliccare su File New File or Project. 2. Quindi scegliere ”Mect Projects”, cliccare su “Choose”. 3. Inserire il nome del progetto, senza spazi e senza caratteri speciali eccetto underscore ‘_’. 4. Selezionare “Next” alla richiesta del “kit selection”. 5. Alla schermata “Project Management” cliccare su “Finish”. M7045_03 10/15 3 Quick Start – Starter Kit Mect srl 2.1.2 Configurazione per TPAC1006/TPAC1007/TPAC1008 I template sono già preconfigurati per poter usare gli I/O locali dei TPAC (TPAC1007, ma anche TPAC1006 e TPAC1008): bisogna solo modificare il file di testo “application.conf”, che si trova in: [Edit] template Other files config TPAC1007 TPAC1006 TPAC1008 [MODBUS0] enabled = 1 enabled = 0 [MODBUS1] enabled = 0 enabled = 0 [CAN0] enabled = 0 enabled = 1 [CAN1] enabled = 0 enabled = 0 application.conf 2.1.3 Modifica pagina “splash” Il nuovo progetto si presenta con la pagina iniziale page0.ui, nella quale viene visualizzata la splash screen “splash.png” del template. L'immagine si trova in [Edit] template Other files config splash.png. Si può aprire la cartella che contiene il file dal popup “Show in Explorer” e quindi modificare l'immagine con un editor grafico di propria scelta (può essere necessario riaprire QtCreator per vedere i cambiamenti). NOTA: per creare l'applicazione grafica bisogna aggiungere una nuova pagina (come descritto dopo) e non modificare la pagina page0. M7045_03 10/15 4 Quick Start – Starter Kit Mect srl 2.1.4 Gestione Variabili – Dispositivo Da Qt Creator: Tools External Mect Configurator è possibile modificare alcune delle impostazioni del progetto: 1. Crosstable Generazione e gestione delle variabili; 2. Commpar Generazione e configurazione dei parametri di comunicazione; 3. Settings Impostazioni preliminari del Pannello Operatore; 4. Alarms Generazione e gestione degli allarmi; 5. Trends Configurazione delle variabili storicizzate per la visualizzazione di grafici in funzione del tempo. 2.1.5 Aggiungere una nuova pagina Scegliere [Edit] e dal popup del progetto fare click su Add New.. Quindi scegliere il corretto modello di TPAC (per lo StarterKit è TPAC1007). M7045_03 10/15 5 Quick Start – Starter Kit Mect srl Il nome della pagina deve cominciare con 'page' e finire con un identificatore esadecimale (cioè si possono usare solo i caratteri in “0123456789abcdef”). Usate “page100” per la prima e quindi usate nomi univoci, per esempio: page101, page200, page1ab. Quindi confermate le seguenti dialog box. Si può aprire la pagina appena creata facendo doppio click sul corrispondente file.ui sotto “Forms”. 2.1.6 Aggiungere contenuti alla pagina Per aggiungere contenuti alle pagine basta trascinare gli elementi desiderati sulla modificarne le proprietà nei riquadri colorati a destra. pagina e quindi È possibile creare l'applicazione senza scrivere codice C++, infatti l'elemento caratteristico della MectSuite è proprio l'ATCM plugin. L'interazione con il PLC avviene associando agli elementi grafici le variabili della Crosstable (cioè ingressi, uscite e variabili PLC). Per esempio se si usa un “ATCMbutton” (invece di un Qt “Push Button”) e lo si associa al quarto output digitale (PLC_DigOut_4), allora quando si preme il bottone viene comandata l'uscita. L'ATCM plugin prevede diversi elementi grafici e nell'esempio dello starter kit sono usati quelli evidenziati in grassetto: ATCManimation, ATCMbutton, ATCMcombobox, ATCMdate, ATCMgraph, ATCMlabel, ATCMled, ATCMprogressbar, ATCMslider, ATCMspinbox, ATCMtime. Si possono naturalmente usare anche gli elementi grafici standard di Qt (scrivendo dove necessario il codice C++). M7045_03 10/15 6 Quick Start – Starter Kit Mect srl 2.1.7 Associazione degli elementi grafici alle variabili Per effettuare l’associazione degli elementi grafici alle variabili di Crosstable occorre fare doppio click sull’elemento stesso e selezionare la variabile che si desidera, le variabili locali dei TPAC sono precaricate, in particolare: Variabile Significato TPAC1007 TPAC1006 / TPAC1008 ingressi digitali 12 8 PLC_DigOut_.. uscite digitali 8 12 PLC_DigDir_.. direzione digitali 8* - PLC_AnIn_.. ingressi analogici 2 4 PLC_AnOut_.. uscite analogiche 1 2 PLC_AnInConf_.. configurazione ingressi analogici 2 ** 4 ** PLC_AnOutConf_.. configurazione uscite analogiche 1 *** 2 *** PLC_Tamb temperatura di giunto freddo 1 1 PLC_EncoderLo lettura encoder (parte bassa) 1 1 PLC_EncoderHi lettura encoder (parte alta) 1 1 PLC_StatusReg stato scheda I/O - 1 PLC_ControlWord reserved - - PLC_EncPreset_Lo valore di encoder preset (parte bassa) - 1 PLC_EncPreset_Hi valore di encoder preset (parte alta) - 1 PLC_EncoderReset azzeramento encoder 1 - PLC_EncEnable abilitazione encoder 1 **** 1 **** PLC_RPM ingresso giri/minuto - 1 PLC_time secondi dall'inizio del programma 1 1 PLC_timeMin inizio finestra di 10 secondi 1 1 PLC_timeMax fine finestra di 10 secondi 1 1 PLC_DigIn_.. M7045_03 10/15 7 Quick Start – Starter Kit Mect srl Configurazione delle variabili di sistema: Variabile TPAC1007 * PLC_DigDir_1 PLC_DigDir_2 PLC_DigDir_3 PLC_DigDir_4 PLC_DigDir_5 PLC_DigDir_6 PLC_DigDir_7 PLC_DigDir_8 ** PLC_AnInConf_1 PLC_AnInConf_2 PLC_AnInConf_3 PLC_AnInConf_4 Configurazione 8 I/O: • 0 ingresso • 1 uscita Es°: ch3 = uscita PLC_DigDir_3 := 1; - Configurazione input analogici: • 0 non configurato • 1 corrente • 2 tensione • 3 TCJ • 4 TCK • 5 TCT • 6 PT100E • 7 PT100R Es°: ch1 = TCT PLC_AnInConf_1 := 5; Configurazione uscite analogiche: • 0 non configurato ***PLC_AnOutConf_1 • 1 corrente PLC_AnOutConf_2 • 2 tensione Es°: ch1= non configurato PLC_AnOutConf_1 := 0; **** PLC_EncEnable TPAC1006 / TPAC1008 Abilitazione encoder: • 0 encoder disabilitato • 1 encoder bidirezionale abilitato Es°: Encoder = disabilitato PLC_EncEnable := 0; Configurazione input analogici: • 0 non configurato • 1 corrente • 2 tensione • 3 TCJ • 4 TCK/TCS (solo canale 1) • 5 TCT • 6 PT100E • 7 PT100R (n.d. su canale 1) Es°: ch1 = corrente PLC_AnInConf_1 := 1; Configurazione uscite analogiche: • 0 non configurato • 1 corrente • 2 tensione Es°: ch1= tensione PLC_AnOutConf_1 := 2; Abilitazione encoder: • 0 encoder disabilitato • 1 encoder bidirezionale abilitato Es°: Encoder = disabilitato PLC_EncEnable := 0; ATTENZIONE: Il nome di queste variabili non deve essere modificato. Le variabili PLC_time.. sono gestite automaticamente e servono per fare i grafici temporali (sono numeri reali con unità in secondi e granularità di 50 ms). M7045_03 10/15 8 Quick Start – Starter Kit Mect srl 2.1.8 Inserimento codice sorgente Nonostante non sia necessario scrivere codice C++, questo è però possibile. Come esempio di manipolazione diretta delle variabili PLC da applicazione HMI, inseriamo la configurazione dei digitali nel codice sorgente della pagina (NOTA: normalmente questo viene fatto nell'applicazione PLC stessa). Per scrivere una variabile da C++ basta chiamare la funzione writeVar(), ad esempio per configurare in output il primo i/o digitale si può scrivere nella funzione page100:reload(): int value = 1; writeVar("PLC_DigDir_1", &value); Per ogni pagina, un altro posto dove si possono chiamare le writeVar() è la funzione page100:updateData(): questa funzione viene chiamata ogni 500 ms, quando la pagina è visualizzata. Nell'esempio scriviamo nella prima uscita analogica il prodotto dei valori dei primi due ingressi analogici. float AnIn_1, AnIn_2, AnOut_1; if (getFormattedVar("PLC_AnIn_1", &AnIn_1, NULL) && getFormattedVar("PLC_AnIn_2", &AnIn_2, NULL)) { AnOut_1 = AnIn_1 * AnIn_2 / 10.0; writeVar("PLC_AnOut_1", &AnOut_1); } M7045_03 10/15 9 Quick Start – Starter Kit Mect srl 2.1.9 Attivare il cambio pagina Gli ATCMbutton possono essere usati anche per fare un cambio pagina. Inoltre nel template del progetto sono precaricate alcune pagine standard (menu. info, ..). Nella page100 la scritta lunga “SPS 2015” è un ATCMbutton, configurato per andare al menu delle pagine predefinite. Si crea in questo modo: 1. Trascinare nella finestra un ATCMbutton; 2. Mettersi in modalità “Edit signals/slots” premendo il tasto F4; 3. Cliccare sul bottone e trascinare il mouse; la linea rossa termina col simbolo terra; 4. Nella finestra che nel frattempo si è aperta, selezionare “newPage(const char *, bool)” e “goto_page(const char *, bool)”; 5. Tornare in modalità “Edit” premendo il tasto F3; 6. Selezionare il bottone e mettere il nome della pagina a cui si vuole andare nel campo azzurro Property, ATCMbutton “pageName”, esempio “page101” oppure “menu”. M7045_03 10/15 10 Quick Start – Starter Kit Mect srl Esistono alcuni nomi speciali di pagina: • “HOME”: fa ritornare alla pagina home definita nel file atn01.conf; • “BACK”: fa ritornare alla pagina precedentemente visitata; • “menu”: manda all'indice delle pagina predefinite (per tornare alla page100 scegliere PAGES1); • “trend”: apre la pagina precostruita sui grafici degli storici; • “store”: apre la pagina precostruita sulle tabelle degli storici. 2.1.10 Aggiungere icone ai bottoni Se vogliamo inserire un’icona all’interno di un ATCMbutton occorre selezionare il bottone e andare a selezionare l’immagine voluta nella Property: “icon”. M7045_03 10/15 11 Quick Start – Starter Kit Mect srl 2.1.11 ATCMgraph Per utilizzare i grafici tipo oscilloscopio è necessario trascinare all’interno della pagina l’ATCMgraph e cliccare due volte all’interno del grafico. Assi Y1 e Y2: primi 2 ingressi analogici “PLC_AnIn_1” e “PLC_AnIn_2”(entrambe sono 0-10V e sfalsando i valori Ymin e Ymax facciamo in modo di separare i segnali). Assi X1 e X2: per entrambi usiamo le variabili di tempo generate automaticamente “PLC_time”, “PLC_timeMin” e “PLC_timeMax”, che forniscono semplicemente una finestra temporale di 10 secondi. 2.1.12 Generazione dell’eseguibile (Build) Una volta completato il progetto bisogna creare un eseguibile per l’architettura del pannello e quindi scaricarlo sul pannello stesso. • • • Configurare QtCreator in modalità “Release”; Premere l’icona di “Build” (“martello” in basso a sinistra); Se la compilazione ha esito positivo deve apparire la barra verde in basso a destra. M7045_03 10/15 12 Quick Start – Starter Kit Mect srl 2.1.13 Copia sul pannello operatore e lancio dell’eseguibile (Deploy &Run) Per usare configurazione e applicazione grafica bisogna copiarle sul pannello nei posti giusti (questo si chiama fare il “Deploy”): QtCreator permette di gestire molto bene questo, ma richiede un passo di configurazione ulteriore del progetto. 2.1.13.1 Configurazione “Run Settings” In [Projects] selezionare [IMX28 Run] e configurare in “Run Settings”: “Deployment” e “Run”. Il testo dei passi è riportato nella tabella qui sotto: Deployment Run custom remote command /etc/rc.d/init.d/autoexec stop Upload files via SFTP (Deselezionare il flag “Incremental deployment”: la lista dei file è specificata nel template nel file template.pri) Run custom remote command chmod -x safe_hmi Run custom remote command dos2unix /local/etc/sysconfig/*.csv /local/etc/sysconfig/*.conf /local/data/custom*/*.csv Run custom remote command /etc/rc.d/init.d/autoexec start Run custom remote command chmod +x safe_hmi Run Arguments M7045_03 10/15 -qws (vedi anche oltre per l'eventuale rotazione e uso di VNC) 13 Quick Start – Starter Kit Mect srl 2.1.14 Configurazione indirizzo IP del pannello Se avete cambiato l'indirizzo IP del pannello, dovete specificarlo nella dialog “Tools Devices”. Options 2.1.15 Copia e lancio Ora basta premere l’icona di “Run” (“triangolo verde” in basso a sinistra) In “[4] Compile Output” appaiono i messaggi di copia (Deploy). In “[3] Application Output” appaiono gli eventuali messaggi dell'applicazione. 2.1.16 Attivazione VNC e rotazione I pannelli possono essere montati sia orizzontali sia verticali. Inoltre è abilitato di default VNC: cioè si può replicare lo schermo del pannello sul proprio PC (usando un VNC viewer come per esempio UltraVNC Viewer). Perché la grafica appaia corretta è sufficiente una semplice configurazione software. M7045_03 10/15 14 Quick Start – Starter Kit Mect srl 2.1.16.1 Configurazione temporanea di VNC e della rotazione La configurazione è nei “Run Settings” Run Arguments. Il parametro”480x272” deve corrispondere alla risoluzione del pannello operatore (480x272 pixel è quella del TPAC1007). Le rotazioni possibili sono: rot0, rot90, rot180, rot270. Run Arguments -qws -display “Multi: VNC:0:size=480x272 Transformed:rot0” VNC:0size=480x272 Transformed:rot0 Nessuna rotazione VNC:0size=480x272 Transformed:rot180 Rotazione di 180° VNC:0size=272x480 Transformed:rot90 Rotazione di 90° VNC:0size=272x480 Transformed:rot270 Rotazione di 270° 2.1.16.2 Configurazione permanente della rotazione Bisogna modificare sul pannello il file di testo /local/flash/root/safe_hmi aggiugendo le linee: #!/bin/sh VNC=1 ROTATION=270 ... Si può usare il programma WinSCP e il suo editor di testi integrato (http://www.winscp.net). 2.2 APRIRE UN PROGETTO HMI ESISTENTE (QtCreator) Lanciare “Qt Creator”, premere “File” e dal menu a tendina è possibile selezionare: • “Open File or Project” e selezionare, all’interno della cartella di progetto, il file “<nome progetto>.pro” (conviene mettere il filtro per i file *.pro) • oppure “Recent Projects” IMPORTANTE: se avete rinominato o spostato la cartella di progetto e avete abilitato “Shadow build” (in [Project] [IMX28][Build]) , ricordatevi di verificare che essa sia concorde con l'attuale cartella!. M7045_03 10/15 15 Quick Start – Starter Kit Mect srl 2.3 APRIRE UN PROGETTO PLC ESISTENTE (ATCMcontrol Engineering) L'applicazione usata per gestire le applicazioni PLC è ATCMcontrol Engineering . NOTA: per comunicare con il pannello da Windows 7 è necessario che venga lanciata come Administrator. Per selezionare l'indirizzo IP del pannello aprire il tab [Target] quindi nelle proprietà del target HW119 nel tab TCP/IP modificare il Control Address (il default è sempre 192.168.5.211). Per compilare l'applicazione PLC usare F7 (Build Build all): devono esserci “0 errors”, mentre “21 warnings” del tipo C4043 sono normali. Per copiare e lanciare l'applicazione PLC sul pannello aprire le proprietà del target HW119 e selezionare “Flash (and Download)”, confermando l'apertura della “debug connection”. Nel caso in cui appaia una finestra di errore occorre riprovare a selezionare “Flash (and Download)”. M7045_03 10/15 16 Quick Start – Starter Kit Mect srl 2.4 ESEMPI APPLICATIVI (MectApps) Assieme al software Mect Suite vengono forniti anche alcuni esempi applicativi (sia HMI sia PLC) che descrivono delle funzionalità del sistema. I progetti di esempio si trovano nella cartella MectApps_xy e per usarli bisogna: 1. Copiare la cartella MectApps_xy in C:\ 2. Rinominarla MectApps (cioè senza “_xy”) Per ogni progetto può esserci un numero diverso di cartelle, da aprire con software diversi: • progetto_HMI contiene l'applicazione grafica HMI, usare QtCreator • progetto_PLC contiene l'applicazione PLC, usare ATCMcontrol Engineering • progetto_CAN contiene l'eventuale configurazione CANopen, usare ATCM CanBuilder Gli esempi applicativi sono divisi in cartelle secondo i pannelli su cui possono funzionare: TP1043, TPAC1007, TPAC1008 … e in AnyTPAC quelli generici. • AnyTPAC: o Empty_PLC: applicazione PLC di base, da caricare di default (è quella usata con StarterKit) o Simulation_PLC: applicazione demo PLC che simula alcuni ingressi analogici e digitali • TP1043_RTU: o ModbusRTUclient_HMI, _PLC: esempio di accesso a device via Modbus RTU (vedi manuale M7041_xy_QuickStart.pdf) • TPAC1006: o Collaudo_HMI, _PLC: esempio di attivazione di tutti gli I/O del TPAC1006 o QuickStart_HMI: esempio QuickStart_StarterKit già configurato per TPAC1006 • TPAC1007: o Collaudo_HMI, _PLC: esempio di attivazione di tutti gli I/O del TPAC1007 o QuickStart_HMI: esempio QuickStart_StarterKit già configurato per TPAC1007 • TPAC1008: o Collaudo_HMI, _PLC: esempio di attivazione di tutti gli I/O del TPAC1008 o QuickStart_HMI: esempio QuickStart_StarterKit già configurato per TPAC1008 M7045_03 10/15 17