Vai al contenuto
PLC Forum


Problema Con Fc Parametrizzata


destinator

Messaggi consigliati

Salve a tutti,

senza entrare in merito di quello che fa la funzione mi si presenta un problema che non riesco a spiegarmi

la fc è parametrizzata con parametri in ingresso uscita ed ingresso/uscita. Il problema però lo rilevo solo sui parametri

Ingresso/uscita. Quando alzo la memoria abbinata ad un parametro I/o la funzione esegue delle operazioni e poi dall'interno

della funzione viene resettata la memoria. E' proprio in questo caso che ogni tanto il reset non avviene regolarmente e

la memoria non si resetta. Questo errore mi succede random. Per provare a venirne fuori del problema ho

preso il codice della funzione e lo ho inserito su un fc non parametrizzata e va che è una meraviglia.

Qualcuno sa darmi qualche dritta ??

Vi ringrazio in anticipo per eventuali suggerienti.

Ciao

Link al commento
Condividi su altri siti


Grazie jumpMan per la dritta,

ho letto attentamente la discussione ed anche se il mio preblema è leggermente diverso, dato che la fc che uso la

richiamo solo una volta , sono arrivato alla conclusione che potrei essere difronte ad una condizione di utilizzo che

non da la certezza di funzionamento per colpa di un baco siemens o altro. Al contrario di quanto è successo a te il blocco

in questione lo ho già utilizzato su un 300 senza avere il minimo problema e questo rimane inspiegabile.

Ciao

Link al commento
Condividi su altri siti

Se hai parametri OUT prova a cambiarli e metterli IN/OUT senza modificare altro.

Se funziona tutto allora il problema è analogo a quello che ho avuto io in passato.

Link al commento
Condividi su altri siti

Ho provato a portare tutti i parametri Out in In/Out ma non è cambiato niente.

Appena mi è possibile volevo provare a cambiare i parametri In in In/out e vediamo se cambia qualche cosa.

Saluti e buone feste

Link al commento
Condividi su altri siti

FattoreDiPotenza

Anche se uso le FC parametrizzate , ma solo per funzioni molto elementari, devo dire che consiglierei di starci alla larga per cose un poco più impegnative.

Una FC parametrizzata , a differenza di una FB parametrizzata , non ha un DB di istanza in cui depositare i dati , ma bensì vengono memorizzati nell'L-stack del blocco chiamante o della FC stessa , per cui non vi è (a mio avviso) una sicura memorizzazione dello stato variabili al rilascio del blocco.

Quindi suggerisco nel limite delle possibilità di usare un FB parametrizzata , che darebbe maggiori garanzie di funzionamento, anche se a discapito di un maggiore impegno di memoria.

Buone feste.

Modificato: da FattoreDiPotenza
Link al commento
Condividi su altri siti

Ciao. concordo con il discorso "stack L" di fattore di potenza.

comunque tempo fa documentandomi qui:

support ho deciso che ho utilizzo un area M pubbilca come temp o come prime righe del Fc Azzero sempre le temp

L0

T Lb0

T Lb1

etc.

Link al commento
Condividi su altri siti

Ho letto più attentamente il tuo primo post.

Trattandosi di un bit appoggiato a un parametro I/O non dovrebbero esserci problemi se tu lo setti dall'esterno e lo resetti all'interno dell'FC.

Spero che nel blocco chiamante tu abbia assegnato a questo parametro un bit fisico dell'area M o DB, e che questo bit non sia usato altrove, anche sotto altre forme (byte/word/dword).

Sei sicuro che il problema non sta nella tempistica di attivazione dei comandi di set/reset? Per fare il set usi un fronte o mantieni settato con una serie di condizioni?

Modificato: da JumpMan
Link al commento
Condividi su altri siti

X JumpMan

mi sono posto anche io questa domanda e mettendo in discussione quanto scritto nella funzione, ma questi dubbi li ho momentaneamente messi da parte quando ho preso il codice della funzione e lo ho inserito in una fc non parametrizzata

senza cambiare niente al di fuori dei parametri che ho sostituito con la memoria diretta. Di tutti i parametri della funzione

solo due sono quelli che mi causano problemi. In pratica questi due bool li uso per gestire una richiesta di quote al un pc in ethernet. La parte gestita dal pc è stata testata su vari progetti. I bool sono usati nel seguente mododo : Il primo bit va a 1 per fare la richiesta quota, appena il Pc vede che è andato alto alza il secondo bit , il Plc vedendo il secondo bit alto resetta il primo bit e si mette in attesa della quota , con l'arrivo della quota che deve avere un valore superiore a -1 il plc resetta il secondo bit

che era stato alzato dal Pc. Quello che succede è che ogni tanto rimane alto il primo bit o rimane alto il secondo bit senza nessun motivo apparentemente con la fc non parametrizzata funziona tutto Ok. La funzione è perfettamente funzionante su un plc 300 e quindi mi mi sono chiesto se per colpa di bachi o altro i due plc si comportano in modo diverso.

Per eseguire una ulteriore verifica ho trasportato il codice su una funzione Fb come consigliato da FattoreDiPotenza e appena ritorno al lavoro provo e vi faccio sapere.

Grazie e saluti

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