Come utilizzare una funzione o un blocco funzione in linguaggio ST

Informazioni generali

Questa sezione spiega come implementare una funzione e un blocco funzione in linguaggio ST.

Come esempi vengono utilizzati la funzione SetRTCDrift e il blocco funzione TON.

Uso di una funzione in linguaggio ST

La procedura descrive come inserire una funzione in linguaggio ST:

Passo

Azione

1

Aprire o creare una nuova POU nel linguaggio Testo strutturato.

NOTA: La procedura di creazione di una POU non è descritta dettagliatamente in questa sezione. Per maggiori informazioni, vedere Aggiunta e chiamata di POU.

2

Creare le variabili richieste dalla funzione.

3

Utilizzare la sintassi generale nell'editor ST POU per il linguaggio ST di una funzione. La sintassi generale è:

FunctionResult:= FunctionName(VarInput1, VarInput2,.. VarInputx);

Per illustrare la procedura, considerare la funzione SetRTCDrift rappresentata graficamente di seguito:

Funzione

Rappresentazione grafica

SetRTCDrift

Il linguaggio ST di questa funzione è il seguente:

Funzione

Rappresentazione nell'editor ST POU

SetRTCDrift

PROGRAM MyProgram_ST
VAR myDrift: SINT(-29..29) := 5;
myDay: DAY_OF_WEEK := SUNDAY;
myHour: HOUR := 12;
myMinute: MINUTE;
myRTCAdjust: RTCDRIFT_ERROR;
END_VAR
myRTCAdjust:= SetRTCDrift(myDrift, myDay, myHour, myMinute);

Uso di un blocco funzione in linguaggio ST

La procedura descritta spiega come inserire un blocco funzione in linguaggio ST:

Passo

Azione

1

Aprire o creare una nuova POU nel linguaggio Testo strutturato.

NOTA: La procedura di creazione di una POU non è descritta dettagliatamente in questa sezione. Per maggiori informazioni, vedere Aggiunta e chiamata di POU.

2

Creare le variabili di ingresso e uscita e l'istanza richieste per il blocco funzione:

  • Le variabili di ingresso sono i parametri di ingresso richiesti dal blocco funzione

  • Alle variabili di uscita viene assegnato il valore restituito dal blocco funzione

3

Utilizzare la sintassi generale nell'editor ST POU per il linguaggio ST di un blocco funzione. La sintassi generale è:

FunctionBlock_InstanceName(Input1:=VarInput1, Input2:=VarInput2,... Ouput1=>VarOutput1, Ouput2=>VarOutput2,...);

Per illustrare la procedura, osservare questo esempio con il blocco funzione TON rappresentato graficamente di seguito:

Blocco funzione

Rappresentazione grafica

TON

Nella tabella seguente sono riportati esempi di chiamata di un blocco funzione nel linguaggio ST:

Blocco funzione

Rappresentazione nell'editor ST POU

TON