Parametri generici

Introduzione

Questa sezione descrive la gestione e le operazioni delle funzioni di comunicazione dei controller attraverso un esempio basato sul blocco funzione READ_VAR. (Lo standard PLCopen definisce le regole per i blocchi funzione.)

NOTA: Questi parametri sono comuni a tutti i blocchi funzione PLCCommunication (eccetto ADDM).

Rappresentazione grafica

I parametri comuni a tutti i blocchi funzione nella libreria PLCCommunication sono evidenziati in questo grafico:

Parametri comuni

Questi parametri sono condivisi da diversi blocchi funzione nella libreria PLCCommunication:

Ingresso

Tipo

Commento

Execute

BOOL

La funzione è eseguita sul fronte di salita di questo ingresso.

NOTA: quando xExecute è impostato su TRUE al primo ciclo del task in RUN dopo un reset a caldo o a freddo, il fronte di salita non viene rilevato.

Abort

BOOL

Interrompe l'operazione in corso sul fronte di salita

Addr

ADDRESS

Indirizzo del dispositivo esterno di destinazione (può essere l'uscita del blocco funzione ADDM)

Timeout

WORD

Il timeout di scambio è un multiplo di 100 ms (0 per infinito)

NOTA: Il Timeout time è fissato a ≅1 s per HMI SCU e non può essere impostato per i blocchi funzione di comunicazione Modbus.

NOTA: l'esecuzione di un blocco funzione può richiedere diversi scambi. Il timeout si applica a ogni scambio tra il controller e il modem, in modo che la durata totale del blocco funzione non possa superare quella del timeout.

Uscita

Tipo

Commento

Done

BOOL

Done è impostato a TRUE quando la funzione è completata correttamente.

Busy

BOOL

Busy è impostato a TRUE mentre la funzione è in corso.

Aborted

BOOL

Aborted è impostato a TRUE quando la funzione viene interrotta con l'immissione del comando Abort. Quando la funzione viene interrotta, CommError contiene il codice Canceled - 16#02 (scambio interrotto da una richiesta dell'utente).

Error

BOOL

Error è impostato a TRUE quando la funzione si arresta a causa di un errore rilevato. Quando viene rilevato un errore, le relative informazioni sono contenute in CommError e OperError.

CommError

BYTE

CommError contiene i codici di errore della comunicazione.

OperError

DWORD

OperError contiene i codici di errore del funzionamento.

NOTA: Quando l'uscita Busy viene reimpostata a 0, una (e solo una) di queste 3 uscite viene impostata a 1:
  • Done

  • Error

  • Aborted

I blocchi funzione richiedono un fronte di salita per poter essere inizializzati. Il blocco funzione deve prima riconoscere l'ingresso Execute come falso per poter rilevare un successivo fronte di salita.

 AVVERTIMENTO
FUNZIONAMENTO IMPREVISTO DELL'APPARECCHIATURA
Effettuare sempre la prima chiamata a un blocco funzione con l'ingresso Execute impostato a FALSE, in modo che possa rilevare un successivo fronte di salita.
Il mancato rispetto di queste istruzioni può provocare morte, gravi infortuni o danni alle apparecchiature.

Esecuzione della funzione

La funzione si avvia sul fronte di salita dell'ingresso Execute. L'uscita Busy viene quindi impostata a TRUE. Questa figura mostra il comportamento del blocco funzione quando l'operazione viene completata automaticamente (con o senza errori rilevati):

Nota 1: durante un ciclo di task il bit Done o Error viene impostato su TRUE solo se Execute è già stato reimpostato su FALSE al termine dell'operazione.

Funzione interrotta

Questa figura mostra la funzione interrotta dall'applicazione. Il fronte di salita dell'ingresso Abort annulla la funzione in corso. In questi casi, l'uscita interrotta viene impostata a 1 e CommError contiene il codice Canceled - 16#02 (scambio interrotto da una richiesta dell'utente):

Nota 1: durante un ciclo di task il bit Abort viene impostato su TRUE solo se Execute è già stato reimpostato su FALSE al momento della richiesta di interruzione.