Andrea.V Inserito: 11 dicembre 2013 Segnala Share Inserito: 11 dicembre 2013 Ciao a tutti Ho una domanda da farvi : come posso impostare un bit all'interno di una word non avendo l'indirizzo della DB e quindi di Word e Bit come succedeva in nei vari STEP 7? Sostanzialmente devo impostare in una word dei bit di allarme...la word con valore maggiore di 1 mi va ad attivare la conformazione di un tasto per ripristino allarmi ( premuto me li resetta ). Solo che nei vecchi STEP 7 bastava che scrivessi ( considero da DB10.DBX0.0 a DB10.DBX0.7 i vari bit di allarme che si vanno ad attivare e DB10.DBW2 la word degli allarmi): U DB10.DBX0.0 = DB10.DBX2.0 U DB10.DBX0.1 = DB10.DBX2.1 . . . e così via. Su TIA PORTAL V12 invece come dovrei scrivere se al posto dell'indirizzo io ho il nome del dato della DB ( ad esempio Word_Allarmi in Int e Allarme_1, Allarme_2..... in Bool ) ? U Allarme_1 = Word_Allarmi ( Bit1) --> Non è corretto ovviamente ma è per rendere l'idea Spero di essere chiaro anche se magari posso averla spiegata male la cosa...e si che è una stupidata Grazie in anticipo Link al commento Condividi su altri siti More sharing options...
Frank681 Inserita: 2 gennaio 2014 Segnala Share Inserita: 2 gennaio 2014 Ciao Non hai detto di che plc parliamo , poiche per la serie 300 400 1500 dove presente awl il tutto funziona ancora unico accorgimento e non settare l'ottimizzazione db che se non erro dovrebbe essere disabilitata , per la serie 1200 purtroppo ho aggirato il problema facendomi un fc in scl che mi converta la word in bool elaboro i bit e poi riconverto i bit in word. Spero di avere compreso la tua necessità Link al commento Condividi su altri siti More sharing options...
batta Inserita: 2 gennaio 2014 Segnala Share Inserita: 2 gennaio 2014 Se al DB si toglie l'attributo "Accesso ottimizzato al blocco", anche con S7-1200 e S7-1500 si può accedere al singolo bit scrivendo l'indirizzo. Nel 1200 e nel 1500 poi, anche con accesso ottimizzato al blocco, si può usare la sintassi: "NomeDB".NomeVar.xn dove "n", nel caso di una variabile INT, può assumere valore da 0 a 15. Esempio: per accedere al primo bit della variabile di tipo INT "NomeDB".NomeVar si scrive: "NomeDB".NomeVar.x0 Alla stessa maniera è possibile accedere al byte a destra scrivendo "NomeDB".NomeVar.b0, e a quello a sinistra scrivendo "NomeDB".NomeVar.b1 Nelle variabili di interfaccia di OB, FC e FB (sempre senza accesso ottimizzato) è possibile sfruttare anche la sovrapposizione delle variabili con AT. Per capire di cosa si tratta, basta cercare AT nella guida in linea di TIA Portal. Link al commento Condividi su altri siti More sharing options...
Gibbo Inserita: 10 aprile 2014 Segnala Share Inserita: 10 aprile 2014 Mi intrometto per dire semplicemente.... GRAZIE ! ! Volendo oltre a scivere variabile.%x1 è possibile sostituire %x1 con una costante ? 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