Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




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


Messaggi consigliati

Inserito:

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 :)

  • 4 weeks later...

Inserita:

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à

Inserita:

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.

  • 3 months later...
Inserita:

Mi intrometto per dire semplicemente.... GRAZIE ! !

Volendo oltre a scivere variabile.%x1 è possibile sostituire %x1 con una costante ?

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...