Jump to content
PLC Forum


Rexsus18

Dati temporanei duplicati

Recommended Posts

Rexsus18

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

Share this post


Link to post
Share on other sites

il toby

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.

Share this post


Link to post
Share on other sites
Rexsus18

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.

 

Share this post


Link to post
Share on other sites
batta
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.

Share this post


Link to post
Share on other sites
Rexsus18

Grazie mille, siete stati chiarissimi!

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...