baltimora Inserito: 17 maggio 2009 Segnala Share Inserito: 17 maggio 2009 Save, spero di non aver sbaglioto forum su cui postare la mia domanda.Mi chiedevo se qualcuno potesse spiegarmi, come si converte (diciamo matematicamente) una word in bit.Ma il contenuto di una word in che formato è? Esadecimale?Grazie Link al commento Condividi su altri siti More sharing options...
Matteo Montanari Inserita: 20 maggio 2009 Segnala Share Inserita: 20 maggio 2009 la word assume il valore che tu vuoi darle...soltimante se la vuoi utilizzare in Bit allora ti conviene visualizzarla in Binario (0101000011101010101)non esiste nessuna conversione da word a bit in quanto i bit fanno già parte della word:bit8 bit -> byte16 bit -> 2 byte -> 1 word32 bit -> 4 byte -> 2 wordin pratica, supponiamo di utilzzare i falg (merker) per facilitare l'esempio:bit 0 -> m0.0bit 1 -> m0.1bit 2 -> m0.2bit 3 -> m0.3bit 4 -> m0.4bit 5 -> m0.5bit 6 -> m0.6bit 7 -> m0.7compongono il byte "mb0"bit 0 -> m1.0bit 1 -> m1.1bit 2 -> m1.2bit 3 -> m1.3bit 4 -> m1.4bit 5 -> m1.5bit 6 -> m1.6bit 7 -> m1.7compongono il byte "mb1"bit 00 -> m0.0bit 01 -> m0.1bit 02 -> m0.2bit 03 -> m0.3bit 04 -> m0.4bit 05 -> m0.5bit 06 -> m0.6bit 07 -> m0.7bit 08 -> m1.0bit 09 -> m1.1bit 10 -> m1.2bit 11 -> m1.3bit 12 -> m1.4bit 13 -> m1.5bit 14 -> m1.6bit 15 -> m1.7compongono la word "mw0" che a sua volta è compsta da il byte "mb0" ed il byte "mb1"comunque queste cose le trovi spiegate in tutti i tutorial "livello" base di ogni PLC, ci dovrebbe essere qualcosa anche nella sezione didattica di questo stesso sito. Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 20 maggio 2009 Segnala Share Inserita: 20 maggio 2009 la word assume il valore che tu vuoi darle...Meglio dire il formato o rappressentazione Link al commento Condividi su altri siti More sharing options...
Claudio Monti Inserita: 20 maggio 2009 Segnala Share Inserita: 20 maggio 2009 Mi chiedevo se qualcuno potesse spiegarmi, come si converte (diciamo matematicamente) una word in bit.Matematicamente dividi il tuo valore per 2 e guardi se c'e' o meno il resto...Ti faccio un esempio:Valore di una WORD = 120 (in decimale) che corrisponde a 0000000001111000 (in binario) come ti ha fatto presente Savino il valore e' sempre lo stesso, cambia il formato con cui tu lo rappresenti (es. 78 in esadecimale) La WORD in questione e' appunto "composta" da 16 bit il cui meno significativo vale 0 (e' quello di destra!) Se tu dividi 120/2 ottieni 60 con resto 0 -> 0 e' il valore del primo bit Dividi 60/2 ottieni 30 senza resto -> 0 e' il valore del secondo bit Dividi 30/2 ottieni 15 senza resto -> 0 e' il valore del terzo bit Dividi 15/2 ottieni 7 con resto -> 1 e' il valore del quarto bit Dividi 7/2 ottieni 3 con resto -> 1 e' il valore del quinto bit Dividi 3/2 ottieni 1 con resto -> 1 e' il valore del sesto bit Dividi 1/2 ottieni 0 con resto -> 1 e' il valore del settimo bit Riempi poi tutti gli altri bit con 0 dall'ottavo al sedicesimo (bit piu' significativo, quello tutto a sinistra)Esiste una funzione nei PLC per sapere se una divisione ha resto o no... nel PL7 di Telemecanique e' REM, in Unity e' MOD, per altri PLC devi consultare la guide di programmazione ma vedrai che piu' o meno si equivalgono tutti (se conformi alle IEC61131). Link al commento Condividi su altri siti More sharing options...
baltimora Inserita: 20 maggio 2009 Autore Segnala Share Inserita: 20 maggio 2009 (modificato) Ho ancora un dubbio.......Leggo con un programma in vb una word a 16 bit proveniente da uno zelio. Ora nella casella di testo sul quale visualizzo la lettura della word mi compaiono dei numeri (in genere a 4 cifre) mi sorge il dubbio. Che la word letta possa non essere in formato esadecimale, perchè la word letta è solo numerica, mentre la numerazione a base esadecimale è composta da numeri "0-9" e lettere "A-F".Non ho provato ad essere sincero ad effettuare la conversione del dato letto in binario con uno di quei tanti soft che si trovano in rete ed effettuano queste conversioni. Potrebbe trattarsi di una numerazione a base 8? Ho sto commettendo un grossolano errore di base?Esiste una funzione nei PLC per sapere se una divisione ha resto o noSi sono a conoscenza di questo, so anche che nei plc vi sono anche delle funzioni preposte per effettuare le varie conversione.Però vorrei capirne di più, per poter colmare le mie lacune.Grazie Modificato: 20 maggio 2009 da baltimora Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 25 maggio 2009 Segnala Share Inserita: 25 maggio 2009 baltimorami sorge il dubbio. Che la word letta possa non essere in formato esadecimale, perchè la word letta è solo numerica, mentre la numerazione a base esadecimale è composta da numeri "0-9" e lettere "A-F".Beh, non e' detto che il numero a 4 cifre solo numeriche non corrisponda ad una rappresentazione HEX.Ad esempio l' HEX 1086 = DEC 4230Per capire se stai leggendo la grandezza giusta, dovresti andare on line PLC coll'apposito SW di progarmmazione, scrivere un numero qualsiasi su una specifica Word e poi constatare dal lato VB che stai leggendo lo stesso valore numerico, sia questo in formato DEC, HEX o BIN.Scaricati questo programmino che ti aiutera' a capire meglio.Converter N.B. : ho solo cambiato il link Link al commento Condividi su altri siti More sharing options...
Claudio Monti Inserita: 25 maggio 2009 Segnala Share Inserita: 25 maggio 2009 Apri la calcolatrice di Win in modalita' scientifica ed inserisci un numero a caso... poi prova a "convertirlo" nel formato che ti piace di piu' cosi' vedi se il tuo numero ESA e' giusto Link al commento Condividi su altri siti More sharing options...
batta Inserita: 26 maggio 2009 Segnala Share Inserita: 26 maggio 2009 Leggo con un programma in vb una word a 16 bit proveniente da uno zelio. Ora nella casella di testo sul quale visualizzo la lettura della word mi compaiono dei numeri (in genere a 4 cifre) mi sorge il dubbio. Che la word letta possa non essere in formato esadecimale, perchè la word letta è solo numerica, mentre la numerazione a base esadecimale è composta da numeri "0-9" e lettere "A-F".Se l'applicativo vb legge la variabile in formato decimale, vedrai solo cifre da 0 a 9.Se nel plc ti trovi, per esempio, una variabile contenente0110 1000 1111 0101in esadecimale leggerai 68F5ed in decimale leggerai 26869La variabile è sempre la stessa, e tutte e tre le rappresentazioni sono corrette ed indicano il medesimo valore. Link al commento Condividi su altri siti More sharing options...
baltimora Inserita: 26 maggio 2009 Autore Segnala Share Inserita: 26 maggio 2009 La word che leggo va da o a 65535, e credo che sia in decimale.Ho fatto diverse prove di conversioni per esserene certo.Grazie 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