Jacopo02 Inserito: 16 dicembre 2022 Segnala Inserito: 16 dicembre 2022 Salve. Sto lavorando su un impianto di automazione. Sto facendo il programma su TIA PORTAL e nel frattempo ho creato una grafica tramite WINCC, grazie alla quale posso permettere al cliente di supervisionare il suo impianto tramite un computer. Ho creato delle variabili DW (32 bit) dove all'interno ho 32 variabili che modificano il loro singolo stato in base al "clic" del pulsante (NON FISICO MA SUL WINCC). Osservato la foto allegata: OP_PL_2 è la mia variabile da 32 bit. Poi sulla grafica avrò per OGNI SINGOLO BIT (24.0; 24.1 ECC...) il suo corrispettivo pulsante programmato con "imposta bit NELLA VARIABILE" Vi faccio un esempio con OP_PL_Start_240 (riga 462). Ho impostato il nono bit della lista che corrisponde proprio al bit 25.1. Solamente che quando mando in simulazione e premo il pulsante, la variabile che mi si attiva è completamente diversa. Come faccio a capire come inserire il bit corretto della DW??? sicuramente non sarà il nono bit, ma ci sarà un altro modo che purtroppo non conosco. Vi prego cortesemente di aiutarmi perchè ho bisogno di consegnare questo progetto il più presto possibile. Se volete vi lascio anche il mio numero:3343849782. Cordiali saluti
drn5 Inserita: 16 dicembre 2022 Segnala Inserita: 16 dicembre 2022 Devi tenere conto della storia del Little endian ... Big endian... Se però dentro il wincc punti i bit e non la DW sei a posto. Fosse solo per chiarezza futura.
Jacopo02 Inserita: 16 dicembre 2022 Autore Segnala Inserita: 16 dicembre 2022 (modificato) Le variabili sono tantissime e non posso puntare ogni singolo bit...avrei bisogno poi di una licenza molto costosa. Potresti spiegarmi cosa significa Little endian e Big endian? Piu o meno ho capito cosa mi vuoi dire, ma le variabili non hanno per niente una sequenza logica. Magari il bit 24.1 corrisponde al decimo e il 41.2 al quinto..... grazie Modificato: 16 dicembre 2022 da Jacopo02
drn5 Inserita: 16 dicembre 2022 Segnala Inserita: 16 dicembre 2022 Leggi qui che facciamo prima , c'è un esempio molto chiaro.
batta Inserita: 16 dicembre 2022 Segnala Inserita: 16 dicembre 2022 Come ti hanno già suggerito, tutto dipende dall'ordinamento dei byte all'interno della word. Siemens utilizza lo standard Big Endian, quindi, nel tuo caso, i byte sono ordinati, da sinistra verso destra, MB24, MB25, MB26, MB27. Il nono bit della variabile sarà quindi M26.0 Il bit M25.1 sarà invece il 18° bit della variabile. Ma mi viene spontaneo farti una domanda: perché usare merker ed indirizzi assoluti? Non sarebbe meglio abbandonare l'indirizzamento assoluto e usare variabili di un DB?
Jacopo02 Inserita: 17 dicembre 2022 Autore Segnala Inserita: 17 dicembre 2022 Per diminuire l'utilizzo delle variabili all'interno del wincc. Ogni variabile che viene inserita fa conteggio per il costo finale della licenza. Se utilizzo una DW, il wincc mi legge come se ho ""ccupato uno spazio"". Se andassi a inserire 32 bit singoli , occupa 32 spazi
drn5 Inserita: 17 dicembre 2022 Segnala Inserita: 17 dicembre 2022 (modificato) Poi tra 3/4 anni, ma anche meno, ci vai a rimettere le mani e perdi tempo, o magari ci mette le mani qualcun altro e non capisce.... Tutto per 31 tag.... Mah... Mi sembra un ritorno al passato.. Al caro e vecchio assembler per risparmiare 3/4 bytes di istruzioni. Modificato: 17 dicembre 2022 da drn5
Jacopo02 Inserita: 17 dicembre 2022 Autore Segnala Inserita: 17 dicembre 2022 A dire la verità ho dovuto utilizzare 20 variabili DW. Non capisco questo modo grottesco di esprimersi. Il progetto non è per bambini ma bisogna gestire un enorme impianto di frantumazione automatico e manuale. Ci sono 700 variabili nel progetto. Non dico altro
pigroplc Inserita: 17 dicembre 2022 Segnala Inserita: 17 dicembre 2022 33 minuti fa, Jacopo02 ha scritto: A dire la verità ho dovuto utilizzare 20 variabili DW. Beh, se si tratta di un formato di dati solo, del tipo bool, con un tag array i tag da pagare sono solamente uno.
drn5 Inserita: 17 dicembre 2022 Segnala Inserita: 17 dicembre 2022 3 ore fa, Jacopo02 ha scritto: Non capisco questo modo grottesco di esprimersi. Il progetto non è per bambini ma bisogna gestire un enorme impianto di Wow... Meno male che sono stato grottesco almeno con qualche informazione in più che hai dato hai avuto uno spunto da @pigroplc. Buon Natale.
Jacopo02 Inserita: 19 dicembre 2022 Autore Segnala Inserita: 19 dicembre 2022 (modificato) ******. Buon natale ***** N. d. M. Jacopo02 questo è un forum serio, non un gruppo "social" dove è permesso insultare chi partecipa ad una discussione. Drn5 ha perso tempo per darti un aiuto ed anche se la sua risposta non ti è piaciuta, questo non ti autorizza ad insultarlo! Modificato: 19 dicembre 2022 da Livio Orsini
Messaggi consigliati