andrea21092012 Inserito: 19 aprile 2013 Segnala Inserito: 19 aprile 2013 In una pagina di wincc devo raffigurare 8 pulsanti che mi devono, ognuno, modificare rispettivamente gli 8 bit di un byte. Come posso fare?
Frank681 Inserita: 20 aprile 2013 Segnala Inserita: 20 aprile 2013 (modificato) Ciao Di che WInCC parliamo se del 7.0 in C basta creare uno script che ti scomponga in byte in bit poi lo puoi apoggiare su variabili interne e usarlo come vuoi. se invece devi comandare il contrario in c poi componi il byte della variabile Se Flexible non riesco ad aiutarti Modificato: 20 aprile 2013 da Frank681
andrea21092012 Inserita: 22 aprile 2013 Autore Segnala Inserita: 22 aprile 2013 Ciao si tratta di WinCC 7.1. Il problema che non conosco il linguaggio C per compilare lo script. Il problema è che avrò circa 50 byte. e devo comandare i singoli bit di tutti i byte. grazie,ciao
Frank681 Inserita: 22 aprile 2013 Segnala Inserita: 22 aprile 2013 Ciao Purtoppo mi viene in mente solo il C . devi creare una variabile temporane per ogni byte poi quando premi uno degli 8 pulsanti leggi il valore della variabile byte lo modifichi settando il bit del punsante premuto e la riscrivi modificata . potresti fare una libreria custom con questa funzione. Adesso sono incasinato su un lavoro , non riesco a fare di più. Purtoppo per queste cose è necessario sapere il C , oppure vi è anche vbs interno a wincc però l'ultima volta ho notato che ha delle limitazioni , e io non lo ho mai usato. scusa di più non riesco al momento.
flash.ab Inserita: 14 maggio 2013 Segnala Inserita: 14 maggio 2013 se devi settare metti la variabile in "or" con un numero che rappresenta il bit che vuoi settare tipo var =var or 2 così setti il bit 2 var =var or 4 così setti il bit 3 diversamente la metti in "and" con un numero dove sono tutti a 1 salvo quello che vuoi resettare il tutto in uno script che magari gli passi la variabile e il numero del bit, così lo riutilizzi
vac Inserita: 3 luglio 2013 Segnala Inserita: 3 luglio 2013 Esempio: Settare/ resettare il terzo bit (linguaggio C): SetTagByte ("VariabileByte", GetTagByte ("VariabileByte") | 2); // Mask = 0000 0100 SetTagByteWait ("VariabileByte", GetTagByte ("VariabileByte") & 253); // Mask = 11011101
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