Vai al contenuto
PLC Forum


FC con I/O come parametri


crc-error-79

Messaggi consigliati

Ciao a tutti,

 

volevo va sapere se in scl (ma anche pe. in AWL) è possibile passare come parametri ingressi e uscite.

 

quello che vorrei fare è creare un FC generica da poter riutilizzare, che usi l'ingresso per accendere o spegnere l'uscita.

 

pe. 

CALL fc_trigger ( e0.0, a 0.0)

 

in fc_trigger

 

SE e0.0 (o il suo nome simbolico) è FALSE

 a0.0 = TRUE

 

e viceversa 

 

grazie

 

 

Link al commento
Condividi su altri siti


Ni ... ti crei una FB e la metti in FC o OB con gli I/O che vuoi.

 

In pratica nella FB ti crei le tue variabili di I/O e quando metti il blocco dentro un FC ( o OB1 anche ) ... ti trovi un blocco con ingressi e uscite che hai scritto e te lo parametrizzi tutte le volte che vuoi, solamente mettendolo dentro la FC

Link al commento
Condividi su altri siti

Mmm...

scusa ma non ci ho capito granché (non sono così esperto in campo plc..)

in pratica dovrei pre-assegnare gli i/o nella db?

se così quindi se dovessi aggiungere una nuova coppia di ingressi/uscite dovrei prima aggiungerli nel db? Giusto?

Link al commento
Condividi su altri siti

Non ho capito la domanda.

Chiedi se puoi passare ad una FC ingressi e uscite come parametri?

Direi proprio di sì. FC ed FB sono fatte apposta.

Però, vista così, mi sembra troppo banale, quindi penso di non aver capito quello che chiedi.

Poi, se devi fare una FC solo per invertire lo stato di un ingresso, direi che non ha senso, visto che basta usare l'istruzione AND NOT.

Link al commento
Condividi su altri siti

Ciao scusa ma sono alle prime armi e quello sopra è solo un esempio..

Dentro la FC poi ci andrà della logica, altrimenti come hai detto così è inutile..

 

In in pratica quello che vorrei fare è creare una fc più generica possibile per attivare/disattivare una uscita sul plc in base allo stato dell'ingresso.

 

nella creazione della funzione che tipo di dati devo specificare per l ingresso e l'uscita del plc? ...non credo basti un normale bool, no no?

Link al commento
Condividi su altri siti

Immagine.jpg.cd67fa4377d3b864baea31630c5c202d.jpg

 

Si fa prima visivamente ... li crei le tue variabili temporanee utilizzabili SOLO nel blocco in questione ( fc o fb .. di solito si usa FB )
Fatte le variabili ... cioè le crei con nomi che ti piacciono insomma ... e messo il loro tipo di dato corretto ... le usi nel programma come fossero i tuoi ingressi.

 

Quando poi metti il blocco creato dentro un OB o una FC ... ti uscirà un "quadretto" con le tue variabili Input Output come le avevi chiamate nella FC fatta prima. 

Li ci metti i tuoi ingressi e uscite e riutilizzi la tua FB/FC fatta prima ... tutte le volte che vuoi, semplicemente inserendola nel programma più volte.

 

 

 

Vale anche su altri plc ... Omron x esempio usa le function block, ma si tratta proprio di uno "standard" di programmazione usare questo sistema, valido in tutti i linguaggi

Link al commento
Condividi su altri siti

Quote

non credo basti un normale bool, no no?

La variabile, all'interno della funzione, va dichiarata con formato conforme alla variabile che andrai a passare alla funzione.

Se alla funzione devi passare lo stato di un ingresso digitale, la variabile sarà di tipo BOOL.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...