Vai al contenuto
PLC Forum


Scl Funzione Come Cmp


stefano.rognoni

Messaggi consigliati

stefano.rognoni

Ciao ragazzi,

sto cercando di fare una funzione in SCL che mi servirà per fare dei controlli, ma senza scendere nel dettaglio di cosa farà avrei bisogno di sapere se c'è qualcuno che sa fare una funzione la quale possa essere messa in un ramo KOP proprio come le funzioni predefinite (esempio il CMP).

Intendo dire senza un return value, ovvero vorrei che il blocco stesso mi funzionasse da "contatto" proprio come il CMP...detta in parole spicciole vorrei che questa funzione diventa "verde" o no direttamente, senza un return value.

Sì può fare ?

ciao e grazie a tutti

Stefano

Link al commento
Condividi su altri siti


Certo, prima di uscire, devi settare la variabile OK al valore desiderato true o false. Quando userai la funzione, la concateni alla logica interroganto l'uscita ENO, che nei linguaggi grafici viene proposta di defult.

Attenzione che la variabile OK, se ben ricordo, può assumere valori dipendenti da operazioni interne alla tua funzione, sincerati quindi di assegnarle il valore desiderato come ultima operazoine prima del ritorno.

Bada che però questa non è una caratteristiche di SCL, ma, bensì, dell'uso delle funzioni, FC od FB che siano. Se in SCL si forza OK al valore desiderato, in AWL, ad esempio basta usare l'istruzione SAVE. Studiati i manuali che capirai il tutto.

Modificato: da mubeta
Link al commento
Condividi su altri siti

Salve,

Attenzione che la variabile OK, se ben ricordo, può assumere valori dipendenti da operazioni interne alla tua funzione, sincerati quindi di assegnarle il valore desiderato come ultima operazoine prima del ritorno.

:thumb_yello:

Aggiungo ulteriori notizie per stefano.rognoni relativamente alla variabile OK:

immagine1tx.png

Sempre per stefano.rognoni allego esempio di funzione (FC100) e codice SCL relativo alla semplice realizzazione come da tuo esempio di una comparazione trà due interi sul >=.

immaginenxf.png

FUNCTION FC100 : VOID

VAR_INPUT

// Parametri d'ingresso

In_A:INT;

In_B:INT;

END_VAR

OK:= In_A >= In_B;

END_FUNCTION

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...