Funzioni definite da utente

Per le funzioni create dall'utente nel progetto o nella libreria utente, viene creato un sottoprogramma nel programma compilato. Ogni volta che viene caricato, vengono trasferiti per primi i parametri di ingresso delle classi VAR_INPUT and VAR_IN_OUT. Poi avviene un salto nel sottoprogramma corrispondente. Infine sono letti nuovamente i parametri di uscita delle classi VAR_OUTPUT e VAR_IN_OUT. Il numero di sottoprogrammi o funzioni che potete definire dipende dal tipo di controllore.

Per una funzione definita da utente è creato un solo sottoprogramma. che può essere chiamato da diversi punti.

Per facilitare il confronto del codice assembler creato, nell'esempio che segue sono usati indirizzi FP. Poiché il programma diventa più complicato quando si usano indirizzi FP, raccomandiamo di usare variabili con nomi significativi.

Argomenti correlati

La funzione definita da utente User_ADD è caricata nel diagramma contatti:

Ha il seguente contenuto:

Codice assembler per il PLC:

ST R9010

Trasferimento dei parametri di ingresso

F0 (*MV*)

R9010 è sempre TRUE

DT0 DT0 -> User_ADD.In1
DT550

F0 (*MV*)

DT1 DT1 -> User_ADD.In2
DT551

CALL 0

Richiamo del sottoprogramma User_ADD

ST R9010

Ricaricamento dei parametri di uscita

F0 (*MV*)

DT552

DT2 User_ADD -> DT2
...

ED

Fine del programma principale

SUB 0

Sottoprogramma User_ADD

ST R9010

F22 (*PLUS_S*)

DT550

DT551

DT552 Se (TRUE)
UserAdd=UserAdd.In1 + UserAdd.In2
RET

Ritorno al programma principale

Argomenti correlati

L'ultima revisione: 2020-10-12Feedback su questa paginaPanasonic hotline