Vai al contenuto
PLC Forum


Dati temporanei duplicati


Rexsus18

Messaggi consigliati

Ciao ragazzi.

Oggi ho fatto un programma per una macchina che smista dei pezzi. 

Per simulare il funzionamento mi sono creato una FC dove ho dovuto utilizzare delle Variabili associati a dei dati Temporanei.

Il dato che vedete evidenziato nella foto, (Prova_1  indirizzo 0.0) non risponde ai comandi, esattamente come quando una bobina di un marker o di un'uscita è stata duplicata in diversi punti. 

Se si trattasse di un marker o di un uscita normale, aprirei il punto di applicazione o i riferimenti incrociati e individuerei le bobine e sistemerei il problema. Quando si tratta di interfacce di FC o FB è possibile fare tipo una ricerca dei riferimenti incrociati per individuare eventuali indirizzi duplicati?

Spero che mi abbiate capito e che possiate darmi una risposta.

Ps. La mia funzione comunque l'ho fatta ripartire, è bastato solo cambiare l'indirizzo della mia Prova_1.

 

Nome_della_variabile_duplicata.jpg

Link al commento
Condividi su altri siti


Mattia Spoldi

Non potrà mai funzionare una funzione scritta così, stai facendo un'autoritenuta con delle variabili temporanee, la leggi prima di scriverla. In questo caso ad ogni scansione del FC la variabile Prova_1 assumerà dei valori "casuali", il fatto che spostandola funzioni si tratta solo di fortuna.

 

Comunque, per rispondere alla tua domanda, se premi con il tasto destro sulla variabile, dovrebbe esserci una cosa tipo "vai al punto di applicazione successivo/precedente", clickando su uno dei 2 ti porta a dove hai usato la variabile.

Link al commento
Condividi su altri siti

Ti ringrazio... sono appena entrato in questo mondo e per me è uno sperimentare sempre qualcosa di nuovo. Adesso studierò per bene il funzionamento delle variabili temporanee.

 

Link al commento
Condividi su altri siti

42 minuti fa, Rexsus18 ha scritto:

Adesso studierò per bene il funzionamento delle variabili temporanee.

Non è che ci sia tanto da studiare, è come ti ha detto "il toby".
Le variabili temporanee sono, appunto, temporanee.
Quando esci dalla funzione, l'area di memoria di queste variabili viene considerata libera, quindi, in un altro blocco, è molto probabile che qualcun altro vada a scrivere in quella stessa area di memoria.
Quando rientri nella funzione, alla scansione successiva, se la variabile temporanea contiene ancora lo stesso valore, è solo questione di fortuna.
La prima operazione che devi fare su una variabile temporanea è sempre un'operazione di scrittura.
Se hai bisogno di variabili che mantengano il loro valore (come nel caso dell'autoritenuta del tuo esempio), al posto di una FC crei una FB, e usi le variabili STAT. Queste variabili vengono appoggiate nel DB di istanza della FB, e mantengono il loro valore.

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