Andrea_unipd Inserito: 23 novembre 2011 Segnala Share Inserito: 23 novembre 2011 salveCome da titolo, è possibile in step7 creare un DB contenente una serie di Timer, in modo da non doverne dichiarare decine e decine nella lista dei simboli e rischiare di usare timer già usati in altri punti del programma per altri scopi??se si può, una volta creato il DB, come si possono indirizzare i timer da una FC?grazie Link al commento Condividi su altri siti More sharing options...
dott.cicala Inserita: 23 novembre 2011 Segnala Share Inserita: 23 novembre 2011 Certo che sì! Usi sfb4 , sfb5 ecc ecc e li richiami col nome che vuoi nella dichiarazione STAT.il tempo però è un TIME non un s5time. In questo modo non usi i timer della cpu.Lo dichiari così (In un FB)NOME TIPO DATIpippo TONLo richiami così CALL #pippo IN:= PT:=T#10H30M40S Q := ET:=Puoi usare l'uscita anche così: #pippo.QSe vai nelle biblioteche/librerie e cerchi sfb4, lo evidenzi e premi F1.....avrai più info Link al commento Condividi su altri siti More sharing options...
Andrea_unipd Inserita: 23 novembre 2011 Autore Segnala Share Inserita: 23 novembre 2011 grazie 1000ora più difficile: usando i timer s5, io posso fare un indirizzamento indiretto in questo modo: L 150 T MW 166 L #Steam_Time_Set SV T [MW 166]in questo modo setto il timer T150 con un tempo pari al valore di #Steam_Time_Set.Si può fare una roba del genere con SFB3? Link al commento Condividi su altri siti More sharing options...
batta Inserita: 23 novembre 2011 Segnala Share Inserita: 23 novembre 2011 Ma stai cercando di complicarti la vita perché devi fare qualcosa di particolare o solo per masochismo?Se è per vera necessità se ne può discutere, ma tieni presente che quando utilizzi qualcosa con indirizzamento indiretto rendi la ricerca impossibile e, di conseguenza, più complicato il debug.Inoltre aumenti le probabilità di utilizzare due volte lo stesso timer e non accorgertene.Se utilizzi due volte, per esempio, il timer T150, basta un cross reference per trovare l'errore.Se, invece, per errore scrivi due volte l'indirizzo 150, dovrai controllare tutte le istruzioni dove assegni l'indirizzo per venirne a capo. Link al commento Condividi su altri siti More sharing options...
dott.cicala Inserita: 24 novembre 2011 Segnala Share Inserita: 24 novembre 2011 Sono totalmente d'accordo con batta. L'indirizzamento indiretto non è sicuramente la soluzione al problema di un doppio richiamo, ma probabilmente la causa.Un corretto, ordinato e sensato uso dei simboli, auita moltissimo così come poter usare e poter fidarsi dei riferimenti incrociati.Per quel che mi riguarda, ho problemi di ogni genere nello sviluppo, ma non sicuramente con la dichiarazioe dei simboli.... Link al commento Condividi su altri siti More sharing options...
Andrea_unipd Inserita: 24 novembre 2011 Autore Segnala Share Inserita: 24 novembre 2011 Il punto è che il codice è GIA' scritto utilizzando l'indirizzamento indiretto (e non l'ho fatto io) e fa largo uso , oltre che di timer , di bit di memoria merker, sparsi qua e là. Da qui in avanti mi troverò a doverlo riutilizzare (praticamente senza modificarlo) in altre commesse, in cui però dovrò di volta in volta controllare che non ci siano "sdoppiamenti" di bit merker e timer. Perciò la mia idea era trascrivere il codice così com'è in una FB con un suo DB di istanza in cui inserire tutti i dati utili, in modo tale da poter inserire il tutto nei nuovi progetti con il minimo sforzo. Di qui le mie domande. Ad ogni modo ho abbandonato l'idea... Link al commento Condividi su altri siti More sharing options...
dott.cicala Inserita: 25 novembre 2011 Segnala Share Inserita: 25 novembre 2011 e allora caro Andrea....l'unico consiglio che posso darti è di armarti di Santa Pazienza e cogliere il lato positivo: Hai un valido esempio di come rendere semplicemente le cose difficili. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora