marmoffa Inserito: 11 marzo 2015 Segnala Inserito: 11 marzo 2015 ragazzi è possibile settare un bit in una variabile di tipo real ?
Livio Orsini Inserita: 11 marzo 2015 Segnala Inserita: 11 marzo 2015 (modificato) I bits di una variabile di tipo real, secondo la posizione, possono corrispondere al segno, appartenere alla caratteristica o alla mantissa. Settare un bit di una variabile real è possibile, ma non ha molto senso. Modificato: 11 marzo 2015 da Livio Orsini
marmoffa Inserita: 11 marzo 2015 Autore Segnala Inserita: 11 marzo 2015 ciao Livio grazie di avermi risposto si hai mirrato al punto giusto era proprio l' ultimo bit cioe quello del segno che mi interessava .allora come è la procedura ? non capisco perché mi dici che non ha senso
pidds Inserita: 11 marzo 2015 Segnala Inserita: 11 marzo 2015 Non fai prima a moltiplicare la variabile per -1 quando ti serve? ciao SDD
marmoffa Inserita: 11 marzo 2015 Autore Segnala Inserita: 11 marzo 2015 non so che diavolo di risposta è questa la mia domanda era chiara come si fa a settare un bit in una variabile real se si fa prima in un modo o in un altro non era la domanda
pidds Inserita: 11 marzo 2015 Segnala Inserita: 11 marzo 2015 parlavi del segno.... per cosa altro uno dovrebbe manipolare il segno se non per cambiarlo o controllarlo? comunque la prossima volta non mi intrometto visto che sei così arrogante... addio SDD
marmoffa Inserita: 11 marzo 2015 Autore Segnala Inserita: 11 marzo 2015 ma se ho una variabile esterna analogica che cambia segno non sono io a decidere quando cambiare segno
batta Inserita: 11 marzo 2015 Segnala Inserita: 11 marzo 2015 ma se ho una variabile esterna analogica che cambia segno non sono io a decidere quando cambiare segno ??? Se proprio vuoi cambiare lo stato di un bit di una variabile REAL, fai semplicemente come con una qualsiasi variabile DINT. Ma dubito che il risultato sarà quello che ti aspetti. Invece che lamentarti della qualità delle risposte, perché non dici cosa vorresti fare?
marmoffa Inserita: 11 marzo 2015 Autore Segnala Inserita: 11 marzo 2015 Quello che voglio fare l'ho scritto nella mia prima domanda che è semplicemente sapere come si setta un bit in una variabile real . Per quanto riguarda DINT se intendi <nome_variabile>.x0 dove x sta per indicare il bit e il numero sta ad indicare la posizione del bit questo non funziona con la variabile reale
batta Inserita: 12 marzo 2015 Segnala Inserita: 12 marzo 2015 Sì, con la variabile REAL la sintassi nomevar.%Xnn non funziona. E forse un motivo c'é: è un'operazione che non ha senso. Per questo continuiamo a chiederti perché vuoi fare quell'operazione. Ma tu ti ostini soltanto a dire che vuoi settare un bit di una real, senza dare spiegazioni. Se proprio lo vuoi fare, usa variabili di un DB non ottimizzato e accedi direttamente all'indirizzo del bit. Ma sono quasi sicuro che ti porterà solo a fare pasticci.
Livio Orsini Inserita: 12 marzo 2015 Segnala Inserita: 12 marzo 2015 Ma sono quasi sicuro che ti porterà solo a fare pasticci. Lo credo anch'io.
Giuseppe Signorella Inserita: 12 marzo 2015 Segnala Inserita: 12 marzo 2015 (modificato) Oltre alla soluzione consigliatoti da Batta, puoi utilizzare i merker, Ti crei due variabili una real ed una bool ad esempio "lettura real" %MD100 e "setBIT" %M100.7 (per il più significativo) oppure %M103.0 (per il meno significativo). Questo a secondo del BIT che vuoi modificare. Modificato: 12 marzo 2015 da Giuseppe Signorella
walterword Inserita: 12 marzo 2015 Segnala Inserita: 12 marzo 2015 (modificato) e' un po come dire , posso andare a 100 Km/h ora contro un muro ? Risposte : " Si ma non ha senso , ti fai male e puoi morire e/o fare danni agli altri " Controrisposta :"Non mi interessa quello che succederà , la mia domanda era se potevo andare contro un muro a 100 Km/h" cose inverosimili .....Mettiti li e prova a settare il bit nella real invece di continuare a parlare per niente e consumare spazio web oltreche il tempo alla gente che deve lavorare .... Modificato: 12 marzo 2015 da walterword
pidds Inserita: 12 marzo 2015 Segnala Inserita: 12 marzo 2015 Ciao, io se fossi in te farei così per capire se cambia di segno: IF VarReal >= 0.0 THEN bVarPositiva:=TRUE; bVarNegativa:=FALSE; ELSE bVarPositiva:=FALSE; bVarNegativa:=TRUE; END_IF così giochi con i bit come vuoi... :-) ciao
marmoffa Inserita: 12 marzo 2015 Autore Segnala Inserita: 12 marzo 2015 scusa un po walterword un conto e dire se si puo fare ed un conto e dire di non aver senso. alla mia prima domanda mi è stato risposto dal sig. Livio Orsini in questo determinato modo e cioè " che si puo fare". io adesso non voglio altro che sapere come e il metodo a prescindere se sbatti su sto ca**o di muro che hai davanti agli occhi , perché se avresti letto tutta la discussione evidentemente no avresti fatto questa affermazione. e se credi che lo spazio web e solo tuo sguazzaci fin quanto vuoi che nessuno ti caga.
Giuseppe Signorella Inserita: 12 marzo 2015 Segnala Inserita: 12 marzo 2015 Ragazzi, vi invito a non polemizzare, non se ne trae alcun beneficio, se non quello di portare alla chiusura della discussione. Pertanto chiudiamola qui. Grazie della collaborazione.
marmoffa Inserita: 12 marzo 2015 Autore Segnala Inserita: 12 marzo 2015 ora torniamo a noi io tutto questo nel mio programma l' ho già fatto e riesco ad ottenere il segno - e + quanto voglio . il tutto nasce dal fatto che se andiamo sul manuale siemens s7-1200 e andiamo nella sezione dei tipi di dati nella parte dove vengono spiegate le variabili REAL c'è uno schema dove dice come è composta la variabile REAL e cioè nella prima parte c'è la mantissa di 23 bit poi l' esponente di 8 bit ed infine l'ultimo è il segno. fin qua credo che non ci siano dubbi per nessuno .ora io ho una scheda rs485 MODBUS RTU dove un registro è il mio dato in formato REAL ed in un altro registro ho un bit che mi cambia in base al segno. volevo solo capire se questo bit mi poteva sostituire l'ultimo bit della variabile REAL in modo tale da cambiare segno senza a stare a fare altri piccoli programmi per leggere una variabile che cambia segno .quindi sarebbe bastato un input ed una bobina dove l' input era il bit in formato BOOL e la bobina il settaggio dell' ultimo bit della variabile REAL
walterword Inserita: 12 marzo 2015 Segnala Inserita: 12 marzo 2015 il formato real si usa per trasportare informazioni di un certo tipo .peri bit , bool , ingressi , uscite , nel modbus sono previste altre operazioni , altri codici funzione ect Poi fai un po quello che te pare Il real come ti ha spiegato Livio e' composto in un certo modo , e' codificato in un certo modo con esponente , mantissa ect .... Con il martello del carpentiere o del dentista puoi certamente scavare le tracce in un muro , ma il martello del carpentiere e' piu indicato ad infilare chiodi , e quello del dentista a fare altro Hai capito o no quello che intendo dirti ?
Livio Orsini Inserita: 13 marzo 2015 Segnala Inserita: 13 marzo 2015 Marmoffa se spiegavi subito quello che hai spiegato nel #17 si risparmiava un sacco di inutili polemiche. Comunque ancora dopo quanto hai scritto non ne vedo l'utilità, ma questo mi interessa poco.
marmoffa Inserita: 13 marzo 2015 Autore Segnala Inserita: 13 marzo 2015 Allora Livio nessuna ha mai parlato di utilità della cosa . Ma il tutto è nato dal fatto che tu mi hai risposto di si alla prima domanda e cioè che si poteva fare,ora mi chiedo perché alla terza domanda non mi hai risposto più? Se mi hai risposto che si poteva fare non volevo altro che sapere come si faceva. La mia politica è nata dal fatto che non ottenevano la risposta che avevo chiesto tutto qua.
Giuseppe Signorella Inserita: 13 marzo 2015 Segnala Inserita: 13 marzo 2015 (modificato) marmoffa, l'errore di fondo sta proprio nel fatto che non hai spiegato cosa volevi fare fin dal principio. Meno informazioni si danno, e più difficile diventa dare una risposta appropriata e coerente. Spesso prima di rispondere, quando una domanda è senza senso, onde evitare di dare risposte inappropriate, si cerca di capire quale sia lo scopo della stessa. Esattamente come è successo in questo caso. Di risposte e soluzioni ne hai avute, (Una te l'ho data io ed una Batta, non ricordo se ce ne sono altre). Probabilmente se non ti vanno bene, è perchè non sono appropriate a quello che volevi fare tu. E questo proprio perchè sei stato poco chiaro. Ciao e buon proseguimento. Modificato: 13 marzo 2015 da Giuseppe Signorella
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