Aggiunta e chiamata di oggetti POU

Introduzione

È possibile aggiungere oggetti POU (Program Organization Unit) all'applicazione nella Struttura applicazione.

Di seguito sono riportati vari tipi di oggetti POU:

  • Programma: restituisce uno o più valori durante il funzionamento. Vengono mantenuti tutti i valori dall'ultima volta in cui il programma è stato eseguito fino all'esecuzione successiva. Può essere richiamato da un altro oggetto POU.

  • Blocco funzione: fornisce uno o più valori durante l'elaborazione di un programma. A differenza di quanto avviene con una funzione, tutti i valori delle variabili di uscita e le necessarie variabili interne verranno mantenuti da un'esecuzione del blocco funzione all’altra. Pertanto, la chiamata di un blocco funzione con gli stessi argomenti (parametri di ingresso) non sempre produce gli stessi valori di uscita.

  • Funzione: produce esattamente un elemento di dati (che può consistere di più elementi, come campi o strutture) quando viene elaborato. La chiamata nei linguaggi testuali può avvenire come un operatore nelle espressioni.

Aggiunta di oggetti POU a un'applicazione

Per aggiungere un oggetto POU all'applicazione del controller, procedere nel seguente modo:

Passo

Azione

1

Fare clic con il pulsante destro del mouse sul nodo Applicazione del controller e selezionare il comando Aggiungi oggetto... > POU.

I due metodi sono disponibili anche nella Struttura applicazioni.

Risultato: viene visualizzata la finestra di dialogo Aggiungi POU.

2

Nella finestra di dialogo Aggiungi POU, assegnare un nome all'oggetto POU digitandolo nel campo di testo Nome.

NOTA: Il nome non deve contenere spazi. Se non si immette un nome, viene assegnato un nome predefinito.

Dare un nome significativo a un POU può facilitare l'organizzazione del progetto.

3

Selezionare il tipo di oggetto POU desiderato:

  • Programma

  • Blocco funzione:

    1. Se si desidera che il blocco funzione si estenda a un blocco funzione già esistente, selezionare Esteso e fare clic nel browser per selezionare il blocco funzione prescelto in Accesso facilitato.

    2. Fare clic sul pulsante OK.

    3. Se si desidera che il blocco funzione implementi un'interfaccia, selezionare Implementa e fare clic nel browser per selezionare l'interfaccia prescelta in Ingresso facilitato.

    4. Fare clic su OK.

    5. Per impedire di derivare l'accesso dal blocco funzione, selezionare l'opzione Finale. Il blocco funzione non può essere esteso da un altro blocco. In questo modo si ottimizza la creazione del codice.

    6. Selezionare l'opzione Astratto per indicare che il blocco funzione ha un'implementazione incompleta o nessuna implementazione e non può essere istanziato. Il blocco funzione è utilizzato esclusivamente come blocco funzione base e l'implementazione è generalmente eseguita in un blocco funzione derivato.

    7. Se il blocco funzione implementa un'interfaccia, nella casella di riepilogo Linguaggio di implementazione metodo, selezionare il linguaggio di programmazione prescelto per modificare i metodi definiti nell'interfaccia implementata.

  • Funzione:

    1. Fare clic sul browser per selezionare il Tipo restituito desiderato in Accesso facilitato.

    2. Fare clic sul pulsante OK.

4

Dalla casella di riepilogo Linguaggio d'implementazione, selezionare il linguaggio di programmazione prescelto per la modifica dell'oggetto POU.

5

Fare clic sul pulsante Apri.

Assegnazione di programmi a un task

È necessario assegnare almeno un programma a un task. Per aggiungere un programma a un task, procedere come segue:

Passo

Azione

1

Nel nodo Configurazione task del controller, fare doppio clic sul task a cui si desidera aggiungere il programma. Nella scheda Configurazione, fare clic su Aggiungi chiamata.

In alternativa, nella Struttura applicazioni, selezionare il task da assegnare al programma e fare clic sul pulsante verde con il segno più. Eseguire il comando Chiamata di programma... dall'elenco. Fare clic sul pulsante ....

Risultato: viene visualizzata la finestra di dialogo Accesso facilitato.

2

Nella schedaCategorie della finestra di dialogo Accesso facilitato, selezionare Programmi.

3

Fare clic per reimpostare la casella di controllo Vista strutturata.

4

Nel pannello Elementi, selezionare la POU desiderata.

5

Fare clic sul pulsante OK.

Chiamata di POU

È possibile chiamare un POU da un'altra POU. La ricorsione invece non è consentita (un POU che chiama se stesso).

Quando un POU assegnato a un'applicazione chiama un altro POU solo con il nome (senza aggiunta dello spazio dei nomi, il POU chiamato viene cercata nel progetto secondo l'ordine seguente:

1.

applicazione corrente;

2.

Gestore libreria dell'applicazione corrente nella struttura dei tool

3.

nodo globale delle applicazioni

4.

Gestore libreria del nodo globale della struttura dei tool

Se una POU con il nome specificato nella chiamata è disponibile in una libreria del Gestore libreria dell'applicazione e come oggetto nel nodo globale delle applicazioni, non è disponibile una sintassi che permetta di chiamare esplicitamente il POU nel nodo globale delle applicazioni utilizzando semplicemente il nome. In tal caso, spostare la rispettiva libreria dal Gestore libreria dell'applicazione al Gestore libreria del nodo globale delle applicazioni. A questo punto, è possibile chiamare il POU dal nodo globale delle applicazioni, utilizzando semplicemente il suo nome e, se necessario, quello della libreria aggiungendo prima lo spazio dei nomi di quest'ultima.

Vedere anche il capitolo POU per controlli impliciti.