Livio Orsini Inserita: 22 febbraio 2005 Segnala Share Inserita: 22 febbraio 2005 I merker invece li ritengo utilissimi.Con l'accrescimento delle dimensioni della memoria disponibile si è smarrita, anzi persa, la buona abitudine di minimizzare le risorse necessarie e ottimizzare le prestazioni. Poi linguaggi come il "C", che non supportano il bit, hanno inferto il colpo di grazia. Così oggi, se va bene, s'impiega un byte dove sarebbe sufficiente un bit come, ad esempio, per i glags; i flags contengono un'informazione binaria: VERO/FALSO , ALTO/BASSO; con un byte si hanno 8 flags, na gestirli in "C" diventa difficoltoso. Così, quando si dispone di una macchina e di un linguaggio, che supporta il bit non se ne fa uso perchè se ne è persa l'abitune.Mi riferisco certo a te Steu se no te la prendiQuesto mi sa di lapsus froidiano Comunque cerchiamo sempre di non personalizzare le divergenze di opinione. Avere opinioni diverse è il bello della vita civile, importante è rispettarsi vicendevolmente Link al commento Condividi su altri siti More sharing options...
STEU Inserita: 22 febbraio 2005 Segnala Share Inserita: 22 febbraio 2005 (modificato) Caro WNCnon preoccuparti non me la sono presa ho solo un punto di vista diverso dal tuo.Parlando di cose serie e cercando di fare una discussione tecnica che possa aiutare me e chiunque possa trarre "ispirazione" da quello che viene scritto. I merker invece li ritengo utilissimi. A parer mio nei programmi spesso si cerca di rendere complicate le cose che in realta non lo necessitano. Tipica filosofia SiemensSe hai un impianto diviso a stazioni , magari piu' di 50, credo che utilizzare dei merker (cosa che facevamo ) abbiamo(parlo al plurale perchè includo anche i miei colleghi) pensato che tutti i bit , byte ecc. che servono alla stazione 47 (numero a caso) debbano stare all'interno della DB47.La Db viene plasmata con delle UDT standard commentate.Credo che questo faciliti moltissimo chi prende in mano il programma se tutto è commentato a dovere.Con l'accrescimento delle dimensioni della memoria disponibile si è smarrita, anzi persa, la buona abitudine di minimizzare le risorse necessarie e ottimizzare le prestazioniE vero quello che dici Livio però tu puoi andare ad indirizzare il singlo bit della db e se utilizzi le strutture degli array di 8, 16 , 32 ,48 ..ecc bit hai il simbolico del bit immediatamente scritto con il numero di indice tra le parentesi quadre , devi solo aggiungere il commento al simbolico.Per quanto riguarda lo spreco di memoria e anche forse del tempo di scansione posso darti ragione però se utilizzi array multipli di 8 non sprechi memoria. Modificato: 22 febbraio 2005 da STEU Link al commento Condividi su altri siti More sharing options...
Matteo Montanari Inserita: 22 febbraio 2005 Segnala Share Inserita: 22 febbraio 2005 (modificato) Con l'accrescimento delle dimensioni della memoria disponibileed anche con la velocità di elaborazione dei vari processorisempre rimanendo in filosofia Siemens utilizzare una variabile boolenana (valido anche per gli altri tipi di varibili) presente in un Blocco dati (DB) o appartenente all'immagine del sistema (ingressi/uscite/flag) hanno tempi diversi, in quanto vengono eseguite due operazioni:U DB1.DBX0.0equivale a:Apri DB1Carica il valore del Byte 0Elabora il valore del Bit 0anche se all'interno della funzione utilizzo sempre lo stesso blocco dati, utilizzando sempre il metodo di scrittura:U DB1.DBX0.0U DB1.DBX0.1"apro" per due volte consecutive lo stesso blocco dati.Ripeto, per i tempi di ciclo attuali non è nulla ma utilizzando CPU "vecchiotte" con questo sistema si allungava molto il ciclo di scansione...ripeto che dipende dall'appilicazione in cui il contesto è inserito, è comunque buona cosa essere al corrente di queste cose... Modificato: 22 febbraio 2005 da keosmm 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