Gestione delle librerie

Le librerie di ISaGRAF forniscono un'interfaccia standard tra l'ambiente di sviluppo dell'automazione e le capacità software o hardware del sistema target ISaGRAF. Esiste una libreria per ogni tipo di interfaccia. Il Gestore di libreria dell'ambiente di lavoro ISaGRAF è rivolto ai fornitori di hardware o agli sviluppatori di software, in quanto permette di definire l'interfaccia di programmazione ISaGRAF degli oggetti creati.

Gestione degli elementi della libreria

Configurazione di I/O

Apparecchiature complesse di I/O

Schede di I/O

Funzioni e blocchi scritti con linguaggi IEC

Funzioni e blocchi funzione "C"

Funzioni di conversione

Archiviazione di elementi della libreria

La finestra Librerie dell'ambiente di lavoro ISaGRAF (comando "Strumenti / Librerie" dalla finestra Gestione progetti) mostra gli elementi appartenenti alla libreria di ISaGRAF correntemente selezionata. Per selezionare una delle librerie ISaGRAF si utilizza il comando "File / Altre librerie" o si usa la casella ad elenco posta a sinistra della barra strumenti.

Nella parte sinistra della finestra principale viene mostrata la lista di elementi appartenenti alla libreria selezionata. Nella parte destra vi sono le note tecniche (manuale utente) relative all'elemento evidenziato nella lista di sinistra. Il menù contiene i comandi per creare, definire o modificare elementi nella libreria attiva.


Gestione degli elementi della libreria

Per creare elementi o lavorare su quelli esistenti di una libreria aperta si usano i comandi del menu "File".

Creazione di un nuovo elemento

Elaborazione di elementi della libreria

Impostazione di una parola chiave di protezione

Compilazione di funzioni e blocchi funzione

Note tecniche

Parametri

Codice sorgente


Creazione di un nuovo elemento

Il comando "Nuovo" del menu "File" crea un nuovo elemento nella libreria aperta. Il nome del nuovo elemento viene inserito seguendo le seguenti regole:

-	la lunghezza massima del nome è 8 caratteri

-	il primo carattere deve essere una lettera

-	i caratteri seguenti possono essere lettere, cifre o il carattere '_'

-	nell'attribuzione del nome non viene fatta distinzione tra lettere maiuscole e minuscole.

Ad ogni elemento della libreria è associato un testo di commento che viene inserito alla creazione dell'elemento. Quando si crea un nuovo elemento sono necessarie le seguenti informazioni:

-	la definizione per una configurazione I/O,

-	i parametri per una scheda I/O,

-	l'interfaccia utente per funzioni o blocchi funzione.

Quando si crea una conversione "C", una funzione "C" o un blocco funzione "C" viene automaticamente generato uno schema completo del codice sorgente.


Elaborazione di elementi della libreria

E' possibile modificare il nome o il commento dell'elemento evidenziato nella lista mediante il comando "File / Rinomina". Per copiare l'elemento evidenziato nella libreria attiva su un altro elemento della stessa libreria si usa il comando "File / Copia". Se esiste già l'elemento di destinazione, tutto il suo contenuto viene sostituito dal nuovo. Se invece non esiste ancora, viene automaticamente creato. Per eliminare dalla libreria un elemento evidenziato si usa il comando "File / Elimina". Con i comandi "Rinomina", "Copia" e "Elimina" è possibile agire sulle seguenti componenti degli elementi:

-	note tecniche

-	definizioni complete per una configurazione di I/O

-	parametri per una scheda di I/O o un'apparecchiatura complessa di I/O

-	definizione dell'interfaccia per una funzione o blocco funzione

-	codice sorgente di una funzione o blocco funzione scritto in linguaggio IEC

-	codice sorgente di una conversione, una funzione o un blocco funzione in linguaggio C.

i comandi "Rinomina" o "Copia" non aggiornano automaticamente il nome nel codice sorgente nel caso di una conversione, una funzione o un blocco funzione "C".

se l'elemento è una funzione scritta in linguaggio IEC, il nome del parametro di ritorno non viene modificato dai comandi "Rinomina" o "Copia".


Impostazione di una parola chiave di protezione

Per definire una password di protezione per un elemento selezionato nella libreria aperta si utilizza il comando "File / Imposta password". Per ulteriori informazioni circa livelli delle parole chiave e protezione dei dati, consultare la sezione "Parole chiave di protezione" del manuale utente. Le parole chiave si riferiscono solo agli elementi selezionati. Non hanno alcuna influenza sugli altri elementi delle librerie ISaGRAF.


Compilazione di funzioni e blocchi funzione

Selezionando la libreria di funzioni o blocchi funzione scritta in linguaggio IEC, è possibile, con i comandi "Verifica (compila)" del menu "File", controllare la sintassi dell'elemento selezionato e crearne il codice oggetto. E' necessario che le funzioni e i blocchi scritti con i linguaggi IEC vengano compilate senza errori prima di poter essere usate nei progetti ISaGRAF. Questo comando non ha effetto se è selezionata una libreria di tipo diverso.


Note tecniche

Il comando "Modifica / Note tecniche" permette di inserire delle note tecniche per l'elemento selezionato nella libreria attiva. Le note tecniche sono inserite con l'editor di testo ISaGRAF e rappresentano la guida utente dell'elemento. Verranno consultate nella fase di integrazione in un progetto ISaGRAF. Le note tecniche relative all'uso di un elemento dovrebbero contenere la descrizione delle funzioni principali e la spiegazione dettagliata della programmazione, dei parametri, del contesto e dei limiti.

Il comando "Strumenti / Formato standard note" permette di definire un formato testo standard per tutti gli elementi della libreria attiva. Quando si inserisce la nota tecnica di un nuovo elemento questo formato verrà proposto come schema principale. Questo consente all'utente di ottimizzare la modifica delle note tecniche.


Parametri

I parametri di un elemento costituiscono l'interfaccia tra le operazioni svolte dall'elemento e l'uso dell'elemento stesso in un'applicazione ISaGRAF. I parametri hanno un differente significato per ogni tipo di elemento della libreria.

I parametri di una configurazione di I/O definiscono l'insieme completo delle schede I/O della configurazione e i nomi predefiniti delle variabili per i canali I/O. I parametri di una scheda o di un'apparecchiatura complessa di I/O definiscono le configurazioni fisica e logica della scheda. I parametri di una funzione o blocco funzione rappresentano l'interfaccia dell'elemento in accordo con le convenzioni di chiamata del linguaggio ST. Non sono previsti parametri per la funzione di conversione in quanto essa fa uso di una interfaccia standard predefinita.


Codice sorgente

L'ambiente ISaGRAF permette al programmatore di gestire il codice sorgente di una libreria di conversione, di una funzione o di un blocco funzione. Il codice sorgente di una funzione o blocco scritto in linguaggio IEC è costituito da un testo o da un diagramma descritti con il linguaggio associato alla funzione. Il codice sorgente dei componenti "C" (funzioni "C", blocchi funzione "C" e funzioni di conversione) è suddiviso in due file separati: un header sorgente C che contiene l'esatta definizione dell'interfaccia secondo la definizione dei parametri dell'elemento e un file codice sorgente C che contiene l'implementazione delle operazioni dell'elemento.

L'ambiente ISaGRAF genera il file codice sorgente quando viene creato un nuovo elemento della libreria. Provvede anche a creare ed aggiornare l'header sorgente in base alla definizione dei parametri. Il programmatore può usare l'editor di testi ISaGRAF per completare il codice sorgente.


Configurazione di  I/O

La libreria ISaGRAF di configurazione di I/O fornisce un modo semplice per inizializzare nuovi progetti ISaGRAF con configurazioni di I/O predefinite. Una configurazione di I/O comprende:

-	un insieme di schede di I/O

-	valori predefiniti per i parametri delle schede di I/O

-	nomi predefiniti per i canali di I/O.

Quando viene creato un nuovo progetto ISaGRAF usando un elemento della libreria Configurazioni di I/O, viene automaticamente impostata la corrispondente connessione di I/O, inoltre le variabili di I/O associate ai nomi dei canali vengono automaticamente dichiarate nel dizionario del progetto.

 La definizione di una configurazione di I/O viene fatta attraverso la finestra Configurazione di I/O di ISaGRAF (la stessa usata all'interno del progetto). Per ulteriori informazioni circa l'uso di questo strumento consultare la sezione "Usare l'editor delle connessioni di I/O" del manuale. Quando si inserisce una nuova scheda di I/O nella configurazione, tutti i canali della nuova scheda vengono dichiarati con nomi standard predefiniti. Il nome standard predefinito di un canale di I/O ha il seguente formato:

<direction><type><slot_number>_<channel_number>

Il primo carattere indica la direzione del canale di I/O:

"I"	canale di input

"O"	canale di output

Il secondo carattere indica il tipo di canale I/O:

"X"	booleano

"D"	analogico

"M"	messaggio

Ecco alcuni esempi di nomi standard di canali I/O:

IX0_7	canale booleano di input  scheda #0 - canale #7

QD2_4	canale output di tipo intero - scheda #2 - canale #4

Per modificare il nome predefinito associato ad un canale di I/O si usa il comando "Modifica / Imposta canale / parametri" della finestra Connessioni di I/O.


Apparecchiature complesse di I/O

Tutti i canali di una singola scheda sono dello stesso tipo (booleano, analogico, messaggio) ed hanno lo stesso verso (ingresso o uscita). Un'apparecchiatura complessa di I/O rappresenta un dispositivo di I/O con canali di diverso tipo e con versi differenti. Viene rappresentata come una lista di singole schede di I/O ed usa un solo alloggiamento nello schema a cestello della finestra Configurazione di I/O.

 Per definire un'apparecchiatura complessa di I/O è necessario definire l'elenco delle singole schede che la costituiscono nonché i parametri dettagliati di ogni singola scheda. L'elenco delle singole schede viene inserito mediante una apposita finestra di dialogo, che viene aperta automaticamente all'atto della creazione di un nuovo elemento della libreria Dispositivi di I/O complessi.

Nella finestra Librerie selezionare la voce Dispositivi di I/O complessi. Per creare un nuovo elemento utilizzare il comando "File / Nuovo"; per modificare un elemento esistente fare doppio click su di esso, oppure selezionarlo nella lista di sinistra e premere il pulsante "Visualizza interfaccia / parametri" sulla barra strumenti (oppure usare il comando "Modifica / Parametri"). Viene aperta la finestra Dispositivo di I/O.

Premendo il pulsante "Aggiungi" è possibile aggiungere una scheda alla fine dell'elenco corrente. Con il pulsante "Inserisci" si può inserire una nuova scheda singola prima di quella correntemente evidenziata. Con il pulsante "Elimina" si rimuove la singola scheda evidenziata nell'elenco. Per modificare il nome ed i parametri della scheda evidenziata, si usano, rispettivamente, i pulsanti "Rinomina" e "Parametri". Per una spiegazione più dettagliata dei parametri di una scheda si veda la sezione successiva. Un'apparecchiatura complessa di I/O può comprendere al massimo 16 schede I/O. Il nome delle singole schede (comprese nell'apparecchiatura) non può eccedere gli 8 caratteri.


Schede di I/O

La libreria Schede di I/O ISaGRAF definisce un'interfaccia standard tra le variabili dell'applicazione e l'hardware di destinazione. Durante la stesura dell'applicazione tutte le variabili di I/O vengono connesse ai canali delle schede di destinazione I/O. Una scheda di I/O di ISaGRAF viene definita da un nome e da un "codice chiave OEM" che identifica il fornitore. Altri parametri della scheda di I/O definiscono la tipologia della scheda I/O (numero di canali, verso dei canali e tipo) e la sua configurazione hardware o software.

Parametri di una scheda I/O

Parametri OEM


Parametri per una scheda I/O

Nella finestra Librerie selezionare la voce Schede di I/O. Per creare un nuovo elemento utilizzare il comando "File / Nuovo"; per modificare un elemento esistente fare doppio click su di esso, oppure selezionarlo nella lista di sinistra e premere il pulsante "Visualizza interfaccia / parametri" sulla barra strumenti (oppure usare il comando "Modifica / Parametri").  Viene aperta la finestra Parametri della scheda di I/O.

Esistono due diversi tipi di parametri per una scheda di I/O: parametri comuni definiti per ogni scheda di libreria ISaGRAF e parametri OEM che sono specifici dell'implementazione della scheda e sono dati dal fornitore hardware.

I parametri comuni vengono inseriti nella parte superiore della finestra Parametri della scheda di I/O. Essi (insieme al nome della scheda di I/O) identificano l'interfaccia standard delle schede di I/O ISaGRAF.

Il "codice chiave OEM" è un semplice numero che identifica il fornitore hardware. Tutte le schede che hanno lo stesso fornitore devono avere lo stesso codice chiave OEM. Il codice consiste in una word a 16 bit senza segno in formato esadecimale. Il codice chiave OEM per CJ International è "1".

I parametri principali definiscono la topologia della scheda di I/O. Il Numero di canali indica il numero di canali liberi sulla scheda. Il Tipo della scheda indica il tipo di variabile che può essere connessa ai canali della scheda. La Direzione indica se le variabili connesse alla scheda sono variabili di ingresso o uscita.

Note:	Variabili di I/O di diverso tipo o verso non possono essere assegnate alla stessa scheda di I/O ISaGRAF. In questo caso è necessario usare un'apparecchiatura di I/O complessa.


Parametri OEM

I parametri OEM vengono inseriti nella parte inferiore della finestra Parametri della scheda di I/O. Questi parametri sono definiti dal fornitore hardware e sono specifici per ogni scheda. Ci possono essere al massimo 16 parametri OEM per scheda. Una scheda può non avere parametri OEM. Il gestore di libreria ISaGRAF permette al fornitore hardware di definire l'identificazione ed il formato di ogni parametro, nonché il modo in cui il programmatore di automazione può usarlo.

La lista di sinistra contiene l'elenco dei parametri OEM. Ogni parametro viene identificato da un nome e da un numero logico compreso tra 0 e 15. L'area di destra contiene la descrizione dettagliata del parametro correntemente selezionato nella lista di sinistra.

Il pulsante "Pulisci" cancella la descrizione del parametro e lo toglie dall'elenco.

Attenzione: questo comando è irreversibile.

Il nome di un parametro viene usato per identificare il corrispondente campo di input durante la connessione della scheda di I/O, qualora il campo debba essere definito dall'operatore di automazione. Il nome di un parametro deve essere conforme alle seguenti regole:

-	La lunghezza massima del nome è 16 caratteri

-	il primo carattere deve essere una lettera

-	i caratteri successivi devono essere lettere, cifre o il carattere '_'.

Il gruppo Formato di un parametro definisce il suo formato interno ed il suo formato di ingresso durante la connessione di I/O all'applicazione. Di seguito sono riportati i formati interni disponibili:

word	word a 16 bit senza segno

long	word a 32 bit senza segno

word hexa	word a 16 bit senza segno

long hexa	word a 32 bit senza segno

boolean	word a 16 bit senza segno (viene usato solo il bit più basso)

character	word a 16 bit senza segno (viene usato solo il byte più basso)

string	array di 16 byte contenente una stringa terminata da null

float	valore in virgola mobile a 32 bit a singola precisione

In seguito si riportano i formati di ingresso disponibili:

word	word decimale senza segno

long	long word decimale

word hexa	word esadecimale senza segno

long hexa	long word esadecimale senza segno

boolean	"true" o "false"

character	carattere singolo

string	stringa ascii (massimo 15 caratteri)

float	valore in virgola mobile a singola precisione

Il gruppo Accesso viene usato per definire in che modo l'utente finale possa accedere al parametro. Se è selezionata l'opzione "Definito dall'utente", i parametri vengono mostrati come un campo input durante la connessione di I/O della scheda. Il valore predefinito del parametro OEM viene usato come valore predefinito per la modifica dei parametri. Se è selezionata l'opzione "Nascosto", il parametro è una costante e non appare nella casella di connessione della scheda di I/O. Il valore predefinito del parametro OEM costituisce il valore del parametro costante. L'opzione "Sola lettura" indica che il parametro è visibile per l'utente ma non può essere modificato. Il suo valore predefinito viene usato come valore costante.


Funzioni e blocchi scritti con linguaggi IEC

ISaGRAF gestisce una libreria di funzioni e blocchi funzione scritti con linguaggi IEC. I linguaggi utilizzabili per la stesura di funzioni o blocchi sono FBD (Function Block Diagram), LD (Ladder Diagram), ST (Structured Text) o IL (Instruction list). Si noti che i linguaggi LD e FBD possono essere combinati nelle stesso diagramma. Il linguaggio SFC (Sequential Function Chart) non può essere usato per descrivere una funzione o un blocco della libreria. Il linguaggio associato ad un elemento della libreria viene scelto nel momento in cui si crea la funzione e non può più essere modificato.

Compilazione

Inserimento del codice sorgente

Dizionario delle variabili locali

Definizione dell'interfaccia


Compilazione

Funzioni e blocchi definiti nella libreria devono essere compilati (verificati) prima di poter essere usati in un progetto ISaGRAF. Non è necessario modificare nient'altro nella libreria per quanto riguarda funzioni e blocchi. Gli elementi della libreria verranno visualizzati automaticamente nel menù di selezione a casella usando l'editor grafico LD/FBD nello sviluppo di un progetto.

Una funzione definita nella libreria può chiamare altre funzioni della stessa. Tuttavia il sistema ISaGRAF non supporta la ricorsività nelle chiamate a funzione. Un blocco funzione scritto in linguaggio IEC non può chiamare altri blocchi funzione (scritti con i linguaggi IEC, "C").


Inserimento del codice sorgente

Il codice sorgente di una funzione o blocco funzione di libreria viene scritto usando i programmi standard ISaGRAF: editor grafico per i programmi LD o FBD, editor di testi per i programmi ST o IL. Per ulteriori informazioni su questi programmi si vedano i corrispondenti capitoli del presente manuale. Il generatore di codice ISaGRAF per compilare il codice sorgente di una funzione o blocco di libreria può essere chiamato direttamente dalla finestra dell'editor grafico o di testuale.


Dizionario delle variabili locali

Una funzione o blocco funzione di libreria può avere variabili e nomi definiti con campo di validità locale. Per accedere alla dichiarazione delle variabili si utilizza la finestra del dizionario, richiamabile dalla finestra dell'editor nel momento in cui si modifica il codice sorgente della funzione, con il comando "File / Dizionario".

Una funzione o blocco funzione di libreria non può accedere ad una variabile globale o ad una istanza di blocco funzione. Le variabili locali di una funzione devono essere inizializzate all'interno della funzione..

Le variabili locali di un blocco funzione scritte in linguaggio IEC vengono copiate (istanziate) ogni volta che il blocco viene usato in un progetto. Le variabili locali di un'istanza mantengono il loro valore tra una chiamata e l'altra.


Definizione dell'interfaccia

Nella finestra Librerie selezionare una delle voci Funzioni, Blocchi funzione, Funzioni C, Blocchi funzione C, Funzioni di conversione. Per creare un nuovo elemento utilizzare il comando "File / Nuovo"; per modificare un elemento esistente fare doppio click su di esso, viene aperto automaticamente l'editor ISaGRAF del linguaggio di programmazione utilizzato per l'elemento in questione.

Selezionando un elemento nella lista di sinistra e premendo il pulsante "Visualizza interfaccia / parametri" sulla barra strumenti (oppure con il comando "Modifica / Parametri"). Viene aperta la finestra Parametri relativa all'oggetto selezionato.

Funzioni o blocchi funzione possono avere complessivamente 32 parametri (di ingresso o uscita). Una funzione ha sempre uno (ed un solo) parametro di ritorno che deve avere lo stesso nome della funzione, per conformità con le norme del linguaggio ST. Un blocco funzione può invece avere più di un parametro di uscita.

Per descrivere i parametri di una funzione o blocco si usa la seguente finestra di dialogo:

L'elenco nella parte superiore sinistra della finestra mostra i parametri ordinati secondo il modello di chiamata: prima i parametri di chiamata, alla fine i parametri di ritorno. La parte più bassa della finestra mostra la descrizione dettagliata del parametro evidenziato nell'elenco. Un qualsiasi tipo di dato ISaGRAF può essere assegnato ad un parametro. Nell'elenco, i parametri di ritorno devono essere posti dopo quelli di chiamata. Per attribuire un nome ai parametri è necessario attenersi alle seguenti regole

-	la lunghezza del nome non può eccedere i 16 caratteri

-	il primo carattere deve essere una lettera

-	i caratteri successivi possono essere lettere, cifre o il carattere "_"

-	nell'attribuzione del nome non viene fatta distinzione tra lettere maiuscole e minuscole.

Si utilizza il comando "Inserisci" per inserire un nuovo parametro prima di quello evidenziato. Si usa il comando "Elimina" per cancellare il parametro evidenziato. Con il comando "Disponi" vengono automaticamente riordinati i parametri, con i parametri di ritorno posti alla fine dell'elenco.


Funzioni e blocchi funzione "C"

Le funzioni e i blocchi funzione "C" sono funzioni di computazione chiamate dall'applicazione di automazione, con le convenzioni delle chiamate a funzione del linguaggio ST.

Le funzioni sono processi sincroni. L'applicazione target ISaGRAF viene sospesa durante l'esecuzione della funzione. I blocchi funzione associano operazioni e dati non visibili di tipo statico. Ad esempio, un blocco funzione "contatore" rappresenta l'operazione di conteggio così come il risultato del conteggio. Funzioni e blocchi funzione possono essere utilizzati per completare la capacità standard del linguaggio di automazione o per accedere alle risorse del sistema.

 La casella di definizione dei parametri viene utilizzata per la definizione del nome e della tipologia di ogni parametro di chiamata o di ritorno della funzione o del blocco funzione. Per la definizione dei parametri della funzione o del blocco funzione evidenziati si utilizzano i comandi del menù "Modifica". Una funzione può avere fino a 31 parametri di chiamata e sempre un solo parametro di ritorno. Un blocco funzione può avere fino a 32 parametri con qualsiasi combinazione di parametri di chiamata e di ritorno. Si riporta di seguito la corrispondenza tra le tipologie ISaGRAF e "C":

BOOLEANO	unsigned long	Word senza segno a 32 bit: 1=true / 0=false

ANALOGICO	long	Word intera con segno a 32 bit

REALE	float	Valore in virgola mobile a singola precisione

TIMER	unsigned long	Word intera senza segno a 32 bit (l'unità vale 1 ms)

MESSAGGIO	char *	Stringa di caratteri.

Quando un valore di tipo messaggio viene passato in una funzione o blocco funzione "C", esso non può contenere caratteri nulli. La stringa trasferita al codice "C" viene terminata da null.

Per ulteriori informazioni sulla gestione del codice sorgente "C" di una funzione o blocco funzione e sulle modalità di integrazione di un nuovo elemento nel sistema target ISaGRAF, si veda la Guida Utente al Target ISaGRAF.


Funzioni di conversione

Una funzione di conversione è una funzione "C" chiamata dal gestore di I/O ISaGRAF ogni volta che le variabili analogiche ad essa associate vengono lette dagli ingressi del progetto o vengono inviate alle uscite del progetto.

La funzione crea una relazione tra il valore elettrico della variabile (letto dai sensori di ingresso o inviato al dispositivo uscita) ed il corrispondente valore fisico (usato nelle espressioni dell'applicazione). La funzione è quindi divisa in due parti: conversione di ingresso e conversione di uscita. Il gestore di libreria ISaGRAF consente il controllo del codice sorgente "C" di una funzione di conversione.

Una conversione può essere usata per una variabile analogica di tipo intero o reale. Questo implica che l'interfaccia della funzione di conversione è sempre definita con valori in virgola mobile. L'interfaccia è la stessa per ogni funzione di conversione. La definizione "C" di questa interfaccia è contenuta nel file di definizione "TACN0DEF.H".

Per ulteriori informazioni sulla gestione del codice sorgente "C" di una funzione di conversione e su come integrare un nuovo elemento nel sistema target ISaGRAF si faccia riferimento alla Guida Utente al Target ISaGRAF.


Archiviazione degli elementi della libreria

Il comando "Strumenti / Archivio" apre la finestra di gestione archivio di ISaGRAF per salvare o ripristinare elementi della libreria. Prima di eseguire il comando "Archivia" è necessario selezionare una libreria. La finestra di gestione archivio mostra la lista degli elementi di una sola libreria per volta.