Prima Applicazione Visiprog

In questo primo tutorial vedremo come configurare l’ambiente VisiProg e come interagire con esso.

VisiProg consente di programmare in modo del tutto intuitivo tutta la serie di centraline DDC e di condividere i programmi da una centralina all’altra in maniera del tutto trasparente. E’ fornito in due versioni per piattaforme a 32bit e 64bit.

VisiProg non necessita di installazione ma solo dell’ambiente di sviluppo Java che è di solito presente in tutti i PC recenti ma che, in ogni modo può essere scaricato dal seguente link: http.//www.java.com/it.

Una volta scaricato l’archivio .zip dal nostro sito è sufficiente posizionarlo nella cartella voluta e cliccare sul file con il tasto destro selezionando “Estrai tutto…” per fare in modo che Windows estragga i file dall’archivio.

NON E’ POSSIBILE LANCIARE VISIPROG SENZA AVERLO PRIMA ESTRATTO DALL’ARCHIVIO FORNITO

A questo punto nella cartella del programma avremo diversi file tra cui:

  • bat — usato per avviare l’applicazione lasciando visibile la console dei comandi
  • jar — usato per lanciare l’applicazione senza console dei comandi. Alcuni software di terze parti (ad esempio le suite per i telefoni Nokia) associano all’estensione .jar i propri file. Nel caso in cui non sia possibile avviare VisiProg utilizzando questo file usare il file VisiProg.bat
  • Il manuale di Visiprog in formato .pdf (leggibile utilizzando Adobe Acrobat Reader scaricabile dal seguente link: http://get.adobe.com/it/reader/)

Con doppio click su Visiprog.bat lanciamo l’applicazione e, dopo la finestra che ci annuncia la versione del programma, verrà visualizzata la finestra principale.

Attraverso il menu file è possibile creare un nuovo progetto attraverso la seguente finestra:

In questa finestra possiamo specificare il nome del progetto, la sua posizione e, infine, il tipo di scheda per cui creiamo il programma (nel nostro caso scegliamo mPID3DIN). A questo punto Visiprog creerà un nuovo layout comprendente tutti gli I/O della scheda.

L’interazione con Visiprog avviene nel seguente modo:

  • Tasto destro del mouse attiva un menu contestuale dipendente dall’oggetto su cui si clicca
  • Tasto sinistro del mouse per selezionare e spostare gli oggetti
  • Tasto Control (Ctrl) + tasto sinistro del mouse consente di collegare i blocchi funzionali del programma
  • Tasto centrale del mouse (di solito raggiungibile spingendo la rotella) per spostare la vista in orizzontale e/o verticale
  • Tasto Control (Ctrl) + rotella per eseguire lo zoom sul disegno

In VisiProg tutte le funzioni e gli elementi di ingresso/uscita sono espressi come blocchi funzionali. Ogni blocco funzionale è dotato di diversi ingressi ed uscite che consentono , una volta collegati, di implementare la logica voluta. All’interno del blocco sono indicati il tipo di blocco ed eventualmente i sotto argomenti opzionali del blocco stesso mentre la scritta “Comment” indica un campo che è liberamente modificabile dall’utente al fine di commentare correttamente il programma. Infine gli ingressi e le uscite possono visualizzare il valore che assumono durante il funzionamento del sistema una volta che si scarica il programma nella centralina e lo si avvia mentre in fase di creazione indicano (-100.0)

Una volta impostato l’ambiente diVisiprog siamo pronti per preparare il nostro primo programma: l’automazione di una semplice UTA utilizzando la scheda mPID4 DSP. Lo schema della macchina è rappresentato in figura; come si vede la macchina è dotata di una batteria caldo/freddo, di due serrande motorizzate, di un filtro con relativo pressostato,  di un termostato antigelo e di una sonda di mandata.

Iniziamo creando un programma per la mPID4 DSP come in figura e, dopo qualche istante di attesa, Visiprog creerà un layout di programma che comprende tutti gli ingressi e le uscite della scheda.

Nella prima schermata non è possibile inserire le logiche del programma per cui clicchiamo con il tasto destro sullo sfondo del progetto e scegliamo “Aggiungi…” e poi “Aggiungi Subsystem” per inserire il primo sottosistema che ci consentirà di inserire la logica vera e propria.

Nel livello principale è possibile inserire solo un sottosistema.

Apriamo il sottosistema con doppio click e inseriamo attraverso il tasto destro i seguenti blocchi:

  • Ingressi
    • lettura della temperatura di mandata
    • impostazione del setpoint
    • impostazione del funzionamento estivo/invernale
    • accensione/spegnimento
  • Uscite
    • Comando Ventilanti
    • Comando valvola analogica

Questi blocchi consentiranno di fornire i dati alla logica e di attuare le uscite per la regolazione della temperatura.

Attraverso un doppio click sulla dicitura “comment” sotto i blocchi è possibile inserire un commento che aiuti nella stesura del programma.

Al termine di questa prima fase il blocco che rappresenta la logica di programma apparirà come nella figura seguente.

La logica che vogliamo implementare è la seguente: l’UTA deve accendersi manualmente su comando dell’utente e mantenere il setpoint di mandata impostato sia in funzionamento estivo che invernale. Il setpoint è impostabile da un minimo di 5°C ad un massimo di 30°C. All’accensione apriremo dapprima le serrande e, dopo un minuto, accenderemo le ventilanti e viceversa in spegnimento. Nel caso in cui il termostato antigelo segnali una temperatura critica chiuderemo le serrande, spegneremo la ventilante ed apriremo completamente la valvola.

Per fare questo inseriamo nel sottosistema principale un blocco PID limite e colleghiamo:

  • la temperatura di mandata all’ingresso CTRL di controllo
  • il setpoint all’ingresso di Setpoint
  • il comando estate inverno all’ingresso SUMMER

Quando l’utente spegne la macchina vogliamo anche chiudere la valvola della batteria per cui l’uscita del PID la mandiamo in ingresso ad un blocco di moltiplicazione insieme al comando di accensione: siccome il comando può valere 1 (macchina accesa) o 0 (macchina spenta) il comando che va verso a batteria viene azzerato nel momento in cui la macchina si spegne.

Per implementare la logica del ritardo di accensione/spegnimento creiamo un sottosistema e aggiungiamo un ingresso (il segnale di accensione) e due uscite (i segnali verso le serrande ed il motore). Per realizzare la logica procediamo come segue:

  • Quando il segnale di accensione passa da 0 ad 1
    • il comando verso le serrande viene portato (attraverso il mux) ad 1 immediatamente causandone l’apertura
    • il comando verso il motore viene dapprima mandato ad un blocco di ritardo che lo ripeterà in uscita dopo il tempo specificato (1 minuto)
  • Quando il segnale di accensione passa da 1 a 0
    • il segnale viene immediatamente inviato al motore causandone lo spegnimento
    • il comando verso le serrande viene inviato ad un blocco delay che ne replicherà il valore in uscita dopo il tempo specificato (1 minuto)

Il segnale del TAG viene portato al comando della valvola causandone a completa apertura e, contemporaneamente, al comando ventilante e apertura serrande bloccandole in caso di segnale ad 1.

Ora programmiamo la visualizzazione con doppio click sul blocco “Display” della finestra principale.

Il blocco ha già alcuni ingressi ed uscite configurati che rispecchiano le icone che sono sempre presenti sul display ed è possibile aggiungere ulteriori voci. Nel nostro caso inseriamo una nuova riga nella tabella con i valori riportati in figura per indicare che vogliamo una variabile modificabile dall’utente che si chiami Setpoint e che sia impostabile da un valore minimo di 5.0 ad uno massimo di 30.0 con passi di 0.5. Colleghiamo anche la visualizzazione dello stato della valvola e del TAG.

Infine non resta che collegare gli elementi di campo per attuare la nostra logica: colleghiamo il segnale di comando della valvola all’uscita Y1 ed i comandi Ventilante e Serrande a K1 e K2 rispettivamente. Apriamo le proprietà del blocco UI1 e lo impostiamo come ingresso digitale ed infine colleghiamo il display.schemamacchina