Vai al contenuto
PLC Forum


Impostare Un Bit Singolo All'interno Di Una Word ( Tia Portal V12 )


Andrea.V

Messaggi consigliati

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

  • 4 weeks later...

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

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

  • 3 months later...

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...