pablo.mrg Inserito: 16 aprile 2009 Segnala Share Inserito: 16 aprile 2009 Ciao a tutti, vorrei sapere se è possibile dichiarare una variabile in un DB con INT o WORD e poi accedere ai suoi bit, magari assegnando anche ad essi un nome simbolico.Faccio un esempio: vorrei creare una parola di stato a 16 bit da usare come indicatore dello stato del sistema, appunto, ed usarne i singoli bit per attivare i componenti coinvolti nel funzionamento legato a quello stato.CiaoPaolo Link al commento Condividi su altri siti More sharing options...
pablo.mrg Inserita: 16 aprile 2009 Autore Segnala Share Inserita: 16 aprile 2009 Aggiungo qualche dettaglio per spiegare meglio cosa intendo. Quello che voglio fare io è creare una cosa del genere:Simbolo | Indirizzo StatoSistema MW0 Stato0 M0.0 Stato1 M0.1 Stato2 M0.2 ...in modo da poter accedere alla word intera attraverso il simbolo StatoSistema oppure ai singoli bit attraverso i simboli Stato0, Stato1, Stato2 e così via.Sono riuscito a realizzare questa struttura dati attraverso l'editor dei simboli, volevo sapere se è possibile ottenerla anche con un DB... perché non ci son riuscito. Il fatto di voler usare un DB è legato fondamentalmente a 2 questioni (sulle quali si accettano obiezioni):1 - ho bisogno che i dati siano ritentivi e, anche se con le opportune impostazioni hw lo sono anche le memorie M, mi hanno fortemente consigliato di usare i DB x i dati ritentivi2 - usare i DB mi consente di tenere le variabili relative alle diverse a "sezioni" del sw raggruppate ed organizzare meglio la struttura, invece di usare un unico calderone per tutti i simboliCiaoPaolo Link al commento Condividi su altri siti More sharing options...
cliff Inserita: 16 aprile 2009 Segnala Share Inserita: 16 aprile 2009 Metti che hai la db20per accedere alla word indichi db20.dbw0per accedere alla parte alta e bassa della word db20.dbb0 e db20.dbb1per accedere ai singoli bit basta fare db20.dbx0.0 ... db20.dbx0.7 e da db20.dbx1.0 a db20.dbx1.7per il simbolico dichiara la db nel seguente modoIndirizzo Nome Tipo Valore iniziale Commento+0.0 bit00 bool False +0.1 bit01 bool Falsese poi nel simbolico inserisci il nome della db nel codice avrai una cosa del tipo"DbControllo".bit00 per indicare ovviamente db20.dbx0.0Bye Link al commento Condividi su altri siti More sharing options...
pablo.mrg Inserita: 17 aprile 2009 Autore Segnala Share Inserita: 17 aprile 2009 Grazie mille.Quello che però non riesco a fare nella dichiarazione è assegnare un nome simbolico sia ai bit, sia al byte (o word che sia).CiaoPaolo Link al commento Condividi su altri siti More sharing options...
TravelMen Inserita: 17 aprile 2009 Segnala Share Inserita: 17 aprile 2009 (modificato) Per quello che ne so, è una cosa che non si possa fare, mentre con AB lo si può fare.ATTENZIONE: mi riferisco al semplice fatto di dare un nome alla word ed hai sui bit/byte, mentre se si parla di scrivere/leggere una word ed i suoi singoli bit o byte ed viceversa, lo si può fare senza limiti, sta alla fantasia di chi programma . Modificato: 17 aprile 2009 da TravelMen Link al commento Condividi su altri siti More sharing options...
pablo.mrg Inserita: 17 aprile 2009 Autore Segnala Share Inserita: 17 aprile 2009 Ok grazie, credo sia chiaro.Vorrà dire che per quella manovra userò direttamente le memorie specificando di renderle ritentive nella configurazione HW.Grazie a tuttiPaolo Link al commento Condividi su altri siti More sharing options...
tiaef Inserita: 17 aprile 2009 Segnala Share Inserita: 17 aprile 2009 Un'altra soluzione ci sarebbe, ma non so se è quello che ti serve:all'interno del DB crei una struttura (che magari chiami WORD_xx) di variabili contenente 16 variabili di tipo BOOL (che puoi chiamare BIT_0-BIT_15); se richiami un singolo bit nel codice ti apparirà NomeDelDB.NomeVariabileStruttura.NomeVariabileBitesempio U "DB_01".Word_00.bit_000ecco che se la tua esigenza è distingure chiaramente le appartenenze alle "word" questa soluzione può andar bene.Di contro nenanche in questo caso puoi richiamare nel codice la variabile struttura (solo denominata "word"). Link al commento Condividi su altri siti More sharing options...
alessandro_marena Inserita: 24 aprile 2009 Segnala Share Inserita: 24 aprile 2009 Ciao a tuttihai provato a creare un udt nel db ? 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