Editor Flow Chart

L'ditor grafico ISaGRAF di diagrammi Flow Chart permette all'utente di immettere dei programmi FC (Flow Chart) completi, con Azioni e Test (decisioni) programmati in linguaggio ST, IL o Quick LD. Il Flow Chart è un diagramma di decisione che può anche essere utilizzato per descrivere operazioni sequenziali, poichè permette di utilizzare caratteristiche avanzate, come ad esempio di non bloccare i salti all'indietro.

Basi del linguaggio FC

Immettere un Flow Chart

Lavorare su un diagramma esistente

Programmazione di livello 2

Programmazione di livello 2 con Quick LD

Opzioni di visualizzazione

Comandi del menù "Strumenti"

Richiamare gli altri strumenti ISaGRAF

Altri comandi del menù "File"

Aggiornamento del diario del programma

Selezionare una variabile dal dizionario


Basi del linguaggio FC

Flow Chart (FC) è un linguaggio grafico utilizzato per descrivere operazioni sequenziali. Un diagramma Flow Chart è composto di Azioni e Test. Tra Azioni e Test sono posti dei collegamenti orientati che rappresentano il flusso dati. Segue la lista dei componenti grafici del linguaggio Flow Chart:

Inizio di un diagramma FC: Un simbolo "Start" deve apparire all'inizio di un programma Flow Chart. Tale simbolo è unico e non può essere omesso. Esso rappresenta lo stato iniziale quando il diagramma viene attivato.

Fine di un diagramma FC: Un simbolo "Stop" deve apparire alla fine di un programma Flow Chart. Tale simbolo è unico e non può essere omesso. E' possibile che nessuna connessione sia tracciata verso il simbolo "Stop" (ad esempio in un diagramma che itera sempre), ma il simbolo "Stop" viene in ogni caso disegnato alla fine del diagramma. Esso rappresenta lo stato finale del diagramma, quando la sua esecuzione è stata terminata.

Collegamento FC: Un collegamento è una linea che rappresenta un flusso tra due punti del diagramma. Un collegamento è sempre terminato da una freccia. Due collegamenti non possono essere connessi allo stesso punto sorgente della connessione.

Azione FC: Un simbolo di Azione rappresenta azioni da eseguire. Un azione è identificata da un numero e da un nome. Due differenti oggetti dello stesso diagramma non possono avere lo stesso nome o lo stesso numero logico. Il linguaggio di programmazione per un'azione può essere ST, LD o IL. Un'azione è sempre connessa con dei collegamenti, uno che arriva su di essa, uno che parte da essa.

Test FC: Un test (decisione) rappresenta una condizione booleana. Un test è identificato da un nome e da un numero logico. In accordo con la valutazione dell'espressione ST, LD o IL associata, il flusso viene diretto verso il percorso "SI" o "NO". Quando si programma in linguaggio ST, l'espressione può essere opzionalmente seguita da un simbolo di punto-e-virgola. Quando si programma in linguaggio LD, l'unica bobina presente rappresenta il risultato del test.

Sottoprogramma FC: Il sistema permette la descrizione di strutture verticali nei programmi FC. I programmi FC sono organizzati con una gerarchia ad albero. Ogni programma FC può chiamare altri programmi FC. Tali programmi sono chiamati programmi figli del programma che li ha chiamati. I programmi FC che chiamano sottoprogrammi FC sono chiamati programmi padre I programmi FC sono collegati assieme in gerarchia ad albero, usando una relazione "padre-figlio". Un simbolo di sottoprogramma in un Flow Chart rappresenta una chiamata ad un sottoprogramma del Flow Chart. L'esecuzione del programma FC chiamante viene sospesa fino a quando l'esecuzione del sottoprogramma è completata.

Azione FC specifica per I/O: Un simbolo di  Azione specifica I/O rappresenta azioni che devono essere eseguite. Come per altre azioni, un azione specifica I/O è definita da un nome e da un numero logico. La stessa semantica viene utilizzata per azioni standard e azioni specifiche I/O. Lo scopo delle azioni specifiche I/O è quello di rendere il diagramma più leggibile e di focalizzare alle parti del diagramma non-portabili. L'utilizzo delle azioni specifiche I/O è opzionale. I blocchi specifici I/O hanno esattamente lo stesso comportamento delle azioni standard.

Connettori FC: I Connettori sono usati per rappresentare collegamenti tra due punti del diagramma senza doverli disegnare. Un connettore è rappresentato con un cerchio ed è connesso alla sorgente del flusso. Il disegno del connettore viene completato, sul lato appropriato (dipendente dalla direzione del flusso di dati), con l'identificazione del punto destinazione (generalmente il nome del simbolo destinazione). Un connettore riporta il flusso sempre ad un simbolo definito sul diagramma Flow Chart. Il simbolo destinazione è identificato con il suo numero logico.

Commenti FC: Un blocco commento contiene del testo che non influenza la semantica del diagramma. Un commento può essere inserito ovunque in un qualsiasi spazio inutilizzato della finestra documento Flow Chart, e viene utilizzato per documentare il programma.


Immettere un Flow Chart

Per immettere un diagramma bisogna posizionare gli elementi (Azioni, Test, Connettori...) nell'area grafica, e tracciare dei collegamenti di flusso tra di essi.

Inserire oggetti

Selezionare oggetti

Inserire commenti

Disegnare linee di flusso

Usare connettori

Muovere oggetti

Ridimensionare oggetti

Invertire le uscite di un Test


Inserire oggetti

Per inserire un oggetto nel diagramma, selezionare il corrispondente pulsante sulla barra strumenti, quindi fare click nell'area grafica, nella posizione dove si desidera inserirlo. Si può posizionare l'elemento su un'area vuota oppure inserirlo all'interno di un collegamento di flusso facendo click sul collegamento stesso. L'inserimento all'interno di un collegamento è permesso solo per i collegamenti verticali diretti dall'alto verso il basso.

Si possono inserire i seguenti elementi base:

Azione programmata in linguaggio ST, IL o Quick LD

Azione specifica IO (per evidenziare una particolare azione non portabile)

Test (decisione) programmata in linguaggio ST, IL o Quick LD

Connettore

Chiamata a sottoprogramma FC

Commento (testo descrittivo)

L'editor ISaGRAF di diagrammi Flow Chart propone inoltre una lista di strutture Flow Chart classiche. Tali strutture possono essere inserite solo su un collegamento già esistente. Non possono essere messe in un area vuota:

If / Then / Else (selezione binaria)

Repeat until (attesa di una condizione)

While (itera finchè una condizione è vera)


Selezionare oggetti

La maggior parte dei comandi di editazione necessitano di selezionare degli oggetti grafici. L'editor ISaGRAF di diagrammi grafici FC permette la selezione di uno o più oggetti esistenti nell'area del diagramma. Per selezionare oggetti, bisogna selezionare il pulsante "Seleziona" (identificato da una freccia) sulla barra degli strumenti. Per selezionare un oggetto, l'utente deve solo fare click sul simbolo corrispondente.

Per selezionare una lista di oggetti, trascinare il mouse sul diagramma in modo da tracciare un area rettangolare. Tutti gli oggetti grafici all'interno del rettangolo di selezione sono marcati come "selezionati".

Un oggetto selezionato viene disegnato in colore blu scuro, con dei piccoli quadratini neri attorno al suo simbolo grafico. E' anche possibile aggiungere o rimuovere un oggetto da una selezione multipla, mantenendo premuto il tasto Shift o Ctrl e facendo click sul suo simbolo.

Facendo una nuova selezione, la precedente selezione di oggetti viene rimossa. Per rimuovere una selezione esistente, basta fare click con il mouse su un area vuota, fuori dal rettangolo che racchiude gli oggetti selezionati.

Per selezionare un singolo oggetto, è possibile usare i tasti freccia per muovere la selezione da un oggetto ad un altro nel diagramma. Anche gli oggetti Collegamento possono essere selezionati.


Inserire commenti

Degli oggetti Commento possono essere inseriti in qualunque parte vuota del diagramma. I commenti non hanno influenza sull'esecuzione del programma. Consentono una maggiore leggibilità del diagramma. Per inserire un blocco Commento, selezionare il corrispondente pulsante nella barra strumenti, e fare click nel punto del diagramma dove il commento deve essere posizionato. Per immettere o cambiare il testo di un commento fare doppio click su di esso. Quando si immette del testo in un commento, non è necessario utilizzare i caratteri "(*" e "*)". Un blocco Commento può essere ridimensionato trascinando gli angoli del suo bordo, dopo averlo selezionato.


Disegnare linee di flusso

Per disegnare un flusso di collegamento tra elementi esistenti, selezionare questo pulsante sulla barra strumenti. Un collegamento deve sempre essere disegnato nella direzione del flusso. Per prima cosa si seleziona un punto di uscita non connesso di un elemento FC, quindi si trascina il mouse fino al punto destinazione del collegamento. Il punto destinazione può essere la parte superiore (punto di input) di un elemento FC non connesso, oppure un qualsiasi punto su un collegamento già esistente. I punti di convergenza tra collegamenti sono mostrati nel diagramma Flow Chart con dei piccoli cerchietti di colore grigio. Anche i punti di convergenza possono essere selezionati e mossi per ridisporre il diagramma.


Usare connettori

L'editor ISaGRAF dei diagrammi Flow Chart permette di utilizzare dei connettori grafici, in sostituzione di un flusso di collegamento visibile. Gli oggetti Connettore possono essere molto utili per evitare collegamenti molto lunghi e per migliorare la leggibilità del diagramma. Un Connettore non può essere utilizzato per stabilire un collegamento con un altro programma FC.

Un Connettore viene immesso nel diagramma come gli altri oggetti FC. Viene rappresentato con un cerchio contenente il riferimento numerico all'elemento destinazione. Il testo della descrizione breve dell'elemento destinazione viene mostrato vicino al simbolo del Connettore.


Muovere oggetti

Per muovere degli oggetti nel diagramma, bisogna selezionarli, e quindi trascinare il mouse all'interno del diagramma. Si può spostare sia un elemento singolo che una selezione multipla. Gli elementi non possono essere sovrapposti. Non è possibile utilizzare lo spostamento di oggetti per connetterli ad un Collegamento esistente.

Quando un singolo elemento (Azione, Test...) viene spostato, l'editor ISaGRAF sposta automaticamente tutti gli oggetti collegati e posti sotto ad esso. Questa caratteristica non interviene nel caso di una selezione multipla.


Ridimensionare oggetti

Ogni elemento grafico di un diagramma FC, eccetto i simboli "Start", "Stop" e i Connettori, può essere liberamente ridimensionato. Per ridimensionare un elemento, bisogna innanzitutto selezionarlo. Quindi basta trascinare con il mouse i quadratini neri disegnati sul suo bordo per cambiarne la dimensione.

Quando un elemento è connesso ad un flusso di collegamento, il ridimensionamento orizontale agisce su entrambi i bordi destro e sinistro, di modo che l'elemento sia sempre correttamente centrato sul collegamento.


Invertire le uscite di un Test

Si possono invertire le uscite SI / NO di un oggetto Test. Per far ciò, basta fare doppio click sulla scritta "SI" oppure sulla scritta "NO" mostrate vicino al simbolo di Test.


Lavorare su un diagramma esistente

I comandi del menù "Modifica" sono utilizzati per cambiare o per completare un diagramma esistente. La maggior parte di questi comandi agisce sugli elementi correntemente selezionati nel diagramma.

Correggere un diagramma

Trova e sostituisci

Accesso diretto ad un elemento

Rinumerazione degli elementi


Correggere un diagramma

Il tasto CANC può essere utilizzato per rimuovere gli elementi selezionati. I collegamenti pendenti sono cancellati con gli elementi selezionati. Usare il comando "Modifica / Annulla" per ripristinare gli elementi dopo un comando CANC. Il comando CANC può anche essere applicato ad un gruppo di elementi selezionati nel diagramma. I comandi "Taglia", "Copia", "Incolla" del menù "Modifica" sono utilizzati per muovere o copiare gli elementi selezionati.


Trova e sostituisci

I comandi "Modifica / Trova Sostituisci" possono essere utilizzati per trovare o per sostituire stringhe di testo nell'intero programma (tutte le Azioni e i Test programmati in linguaggio ST, IL o Quick LD). La finestra di dialogo Trova/Sostituisci è utilizzata per immettere il testo che deve essere cercato e per aprire direttamente la sezione di programmazione dove il testo compare.


Accesso diretto ad un elemento

Il comando "Modifica / Vai a" permette all'utente di accedere ad un elemento grafico esistente nel diagramma. La sezione di diagramma visualizzata viene automaticamente riposizionata di modo che l'elemento sia visibile. L'elemento, una volta raggiunto, viene selezionato.


Rinumerazione degli elementi

Il comando "Modifica / Rinumera" viene utilizzato per rinumerare gli elementi del diagramma. Ogni elemento FC messo nel diagramma è identificato con un unico numero di riferimento. I numeri di riferimento sono allocati dall'editor ogni volta che dei nuovi elementi vengono inseriti. Il comando "Rinumera" permette di riaggiustare la numerazione degli elementi in accordo con la loro posizione nel diagramma. La progressione numerica avviene dall'alto verso il basso e da sinistra verso destra.


Opzioni di visualizzazione

Il comando "Opzioni / Disposizione" apre una finestra di dialogo dove sono raggruppati tutti i parametri e le opzioni riguardanti l'ambiente di lavoro dell'editor e il tracciamento del diagramma. Usare le caselle di selezione del gruppo "Ambiente di lavoro" per visualizzare o nascondere la barra strumenti e la barra di stato. Le opzioni del gruppo "Documento" permettono di mostrare o nascondere i punti della griglia e di visualizzare il diagramma a colori o in bianco e nero.

Utilizzare il pulsante "Zoom" della barra strumenti per cambiare il rapporto di zoom corrente. Questo comando è disponibile anche quando si lavora su un programma Quick LD associato ad un'Azione o ad un Test.

Utilizzare il pulsante "Visualizza / Nascondi griglia" della barra strumenti per mostrare o nascondere i punti della la griglia. Questo comando è disponibile anche quando si lavora su un programma Quick LD associato ad un'Azione o ad un Test.

Utilizzare il comando "Opzioni / Carattere" per selezionare il nome del font di caratteri da utilizzare in tutti i documenti ISaGRAF. Quando questo comando viene richiamato da un programma ST o IL, si può specificare la dimensione del carattere. Quando si seleziona il font di caratteri per una finestra grafica (FC o Quick LD), la dimensione e lo stile non sono rilevanti e non è necessario specificarli. Infatti gli editor grafici di ISaGRAF adattano sempre la dimensione del carattere in accordo con il rapporto di zoom corrente.


Richiamare gli altri strumenti ISaGRAF

Verificare (compilare) un programma

 	Effettuare la simulazione o il debug dell'applicazione

Modificare il dizionario delle variabili


Verificare (compilare) un programma

La voce "File / Verifica" della finestra dell'editor avvia il Generatore di codice per verificare la sintassi di programmazione del programma in modifica. Nel caso di linguaggio SFC, vengono controllati sia il livello 1 che il livello 2. Al completamento della verifica sintattica, per continuare a lavorare sul programma, è necessario chiudere la finestra del generatore di codice. Nel caso ci sia un solo programma nell'applicazione (quello in fase di modifica) e non vengano evidenziati errori di sintassi, verrà generato il codice dell'applicazione. La voce "Opzioni / Opzioni compilatore" permette di impostare i parametri di compilazione ed ottimizzazione. Consultare il capitolo "Usare il generatore di codice" in questo stesso documento, per ulteriori informazioni riguardo la compilazione e la generazione di codice.


 	Effettuare la simulazione o il debug dell'applicazione

Le voci "File / Simulazione" e "File / Debug" avviano il debugger grafico ISaGRAF, sia in modo simulato che realmente connesso, e provvedono a riaprire il programma SFC su cui si sta lavorando in modo debug. Non è possibile inserire modifiche in un programma aperto in modalità debug.


Modificare il dizionario delle variabili

La voce "File / Dizionario" serve a modificare il dizionario delle variabili per l'applicazione ed il programma correnti. Contiene anche i punti d'ingresso per la modifica dei Nomi definiti utente. Dichiarazioni locali o nomi definiti sono relative al programma in fase di modifica.


Altri comandi del menu "File"

I seguenti comandi sono disponibili nel menu "File" di tutti gli editor di programmi:

Aprire un programma diverso

Stampa del programma


Aprire un programma diverso

Il comando "File / Apri" permette di chiudere il programma correntemente usato per iniziare la modifica con lo stesso linguaggio di un nuovo programma dello stesso progetto. Questa funzione non può esser usata per aprire un programma scritto con linguaggio diverso. Il nuovo programma selezionato sostituisce il corrente nella finestra di modifica.


Stampa del programma

The "File / Print" command outputs the edited program on printer. This command runs the project document generator to print the contents of the edited chart.

Il comando "File / Stampa" invia il programma in uso alla stampante. Questo lancia il generatore di documentazione del progetto per stampare il contenuto del diagramma in editazione.


Aggiornamento del diario del programma

Si può accedere manualmente al file diario associato al programma in modifica usando il comando "File / Diario". Il file diario viene aggiornato automaticamente ad ogni compilazione con l'aggiunta dei messaggi di verifica della sintassi. Gli output della compilazione vengono completati dalla data ed ora di compilazione.

Se è indicato il modo "Aggiorna diario" nel menu "Opzioni" degli editor di programmi, la finestra "Diario" viene aperta ogni volta che il programma è salvato su disco.

Premendo il tasto OK il testo nota inserito verrà salvato alla fine del file diario con l'indicazione della data ed ora correnti. Ciò è particolarmente utile per la manutenzione dell'intero programma in quanto fornisce informazioni importanti circa il ciclo di vita del programma stesso.


Selezionare una variabile dal dizionario

 Nell'utilizzo di un programma testuale (ST o IL) la funzione "Modifica / Inserisci variabile" permette di selezionare una variabile dichiarata per inserirla alla posizione corrente del cursore. Per lavorare con programmi LD o FBD è richiesta la selezione delle variabili per descrivere bobine, contatti, parametri di blocchi I/O, variabili FBD. In entrambi i casi, la vinestra "Selezione variabile" viene aperta per selezionare una delle variabili dichiarate.

La casella di selezione "Validità" è utilizzata per scegliere tra variabili globali e locali. La casella di selezione di destra consente di scegliere il tipo di dato. Piccole icone poste accanto al tipo di dato nella casella di selezione sono scorciatoie per selezionare più rapidamente i tipi di dato usati più frequentemente:

Booleano

Intero / Reale

Timer

Messaggio

Per selezionare una variabile basta fare click sul suo nome nella lista. Nome e relativo commento vengono visualizzati in cima alla lista. Premere poi "OK" per confermare la selezione. E' inoltre possibile inserire direttamente una variabile nella casella di modifica senza utilizzare la lista.

Il comando modifica può anche essere utilizzato per immettere una espressione costante.


Comandi del menù "Strumenti"

I seguenti comandi sono disponibili nel menù Strumenti Sono utilizzati per mostrare informazioni in una finestra di testo nella parte inferiore della finestra principale FC:

Visualizza risultati compilazione	visualizza nella finestra di testo i messaggi di errore

dell'ultima compilazione

Trova nel diagramma	trova tutte le occorrenze di un dato testo nell'intero diagramma

e produce una lista nella finesta di testo

Nascondi risultati	chiude la finestra di testo

Quando i messaggi di errore o le occorrenze sono mostrate nella finestra di testo, facendo doppio click su una linea viene evidenziata sul diagramma la corrispondente localizzazione.


Programmazione di livello 2

Per immettere la programmazione di livello 2, l'utente deve fare doppio click sul simbolo dell'Azione o del Test. La finestra di programmazione di livello 2 viene aperta alla destra del diagramma FC. La linea di separazione tra il diagramma FC e la finestra di programmazione di livello 2 può essere liberamente spostata. Si possono aprire una o contemporaneamente due aree di livello 2. I seguenti comandi sono disponibili dalla tastiera, dal mouse o dal menù "Modifica":

Tastiera	Mouse	Menù "Modifica"

Apre nell'ultima finestra	Invio	Doppio Click	Visualizza livello 2

Apre finestra separata	Ctrl+Invio	Ctrl + Doppio Click	Visualizza livello 2 in una finestra separata.

Quando due finestre di livello 2 sono visibili, la separazione tra esse può essere liberamente spostata. Il pulsante alla destra della barra del titolo chiude la finestra di livello 2.

Il linguaggio predefinito del Livello 2 è ST (Structured Text). Il linguaggio di programmazione può anche essere IL o Quick LD. Il nome del linguaggio selezionato viene mostrato in un piccolo riquadro nella barra del titolo della finestra di livello 2. Facendo click su tale riquadro si può cambiare il linguaggio di programmazione, oppure si può usare il comando "Opzioni / Imposta linguaggio di livello 2" del menù principale. Questo comando è valido solo se la finestra di programmazione di livello 2 è vuota.

Una linea di testo appare nella parte superiore della finestra di livello 2, viene usata per immettere un breve testo di descrizione. Questo testo verrà visualizzato come commento IEC nel disegno dei simboli FC. E' molto utile ed è utilizzato da altri comandi, come ad esempio "Vai a..." ed anche nella stampa (azioni e test) di documenti FC.

Il comando "Opzioni / Rinfresca diagramma" può essere usato ogni volta che una finestra di livello 2 è aperta per rinfrescare il diagramma FC con le modifiche apportate ai programmi di livello 2.


Programmazione di livello 2 con Quick LD

L'editor Quick LD è disponibile per la programmazione di livello 2. Nel caso di un Test, il diagramma LD è composto solo da un ramo, con una sola bobina che rappresenta il risultato del test. Il nome del Test non viene ripetuto sul simbolo della bobina. Segue un esempio di Test programmato in linguaggio Quick LD.

Quando si programma in linguaggio Quick LD, si possono utilizzare le frecce sulla tastiera per muovere la selezione sulla griglia di programmazione, quindi si possono usare i seguenti tasti funzione per l'inserimento dei simboli:

F2:	aggiunge un contatto dopo il simbolo evidenziato / inizia il ramo

F3:	aggiunge un contatto prima del simbolo evidenziato

F4	aggiunge un contatto in parallelo con il simbolo evidenziato

F5:	aggiunge una bobina in parallelo con quella selezionata(non per i Test)

F6:	aggiunge un blocco dopo il simbolo evidenziato

F7:	aggiunge un blocco prima del simbolo evidenziato

F8:	aggiunge un blocco in parallelo con il simbolo evidenziato

F9:	aggiunge un "salto" in parallelo con la selezione (non per i Test)

Un salto porta al nome di un ramo. Il nome del ramo può essere immesso premendo INVIO quando è selezionata la testa del ramo. L'editor ISaGRAF memorizza le etichette dei rami che sono stati precedentemente immessi, sia che siano state specificate per il nome di un ramo o per un'operazione di salto. La finestra di dialogo "Salto / Etichetta" permette di immettere una nuova label oppure di selezionarne una esistente. Se si immette un nuovo nome, questo verrà automaticamente aggiunto alla lista. Il pulsante "Rimuovi" viene usato per rimuovere il nome selezionato dalla lista, ma non rimuove l'etichetta dal ramo selezionato nel diagramma. Per far questo bisogna premere OK quando la casella di edit è vuota.

Si possono usare i pulsanti nella barra strumenti LD invece di premere i tasti funzione.

Premere INVIO quando è selezionato un contatto o un parametro I/O di un blocco per scegliere una variabile oppure immettere un valore costante. Premere INVIO quando è selezionato un blocco funzione per scegliere il tipo di blocco funzione. Facendo doppio click su un oggetto si ottiene lo stesso effetto.

Premere Control + BARRA SPAZIO quando un contatto è selezionato per cambiare il tipo di contatto o bobina (diretto, inverso). Fare riferimento al carattere "Usare l'editor Quick LD" per ulteriori dettagli sulle capacità dell'editor Quick LD.