Aggiunta e chiamata di oggetti POU

Introduzione

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

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 scegliere 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 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 Accesso facilitato.

      I metodi definiti con l'interfaccia vengono creati con la POU.

    4. Fare clic sul pulsante 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 e le proprietà definiti nell'interfaccia implementata.

  • Funzione:

    1. Fare clic sul pulsante Sfoglia 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 modificare l'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 a cui si desidera assegnare il 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 scheda Categorie della finestra di dialogo Accesso facilitato, selezionare Programmi.

3

Fare clic per deselezionare 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 librerie dell'applicazione corrente nella Struttura dei tool

3.

nodo Globale della Struttura applicazioni

4.

Gestore librerie nel nodo Globale della Struttura dei tool

Se una POU con il nome specificato nella chiamata è disponibile in una libreria del Gestore librerie dell'applicazione e come oggetto nel nodo Globale della Struttura applicazioni, non è disponibile una sintassi per chiamare esplicitamente la POU nel nodo Globale della Struttura applicazioni, utilizzando solo il suo nome. In questo caso, spostare la rispettiva libreria dal Gestore librerie dell’applicazione al Gestore librerie del nodo Globale della Struttura applicazioni. È quindi possibile chiamare la POU dal nodo Globale della Struttura 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.