Vai al contenuto
PLC Forum


S73000 E Db


Messaggi consigliati

Inserito:

Salve sto facendo un piccolo programmino in s7 e pannello op77a ...nella gestione degli allarmi ho una db1.dbw5 che è la mia word allarmi (il programma è in kop) mi sapete dire come faccio a mandare ad uno iil singolo bit di questa db1.dbw5

io solitamente uso a.b !!!!!!aiutatemi


Inserita:

Per indirizzare il primo bit della word : DB1.DBX 5.0

Inserita:

Grazie savino la word che io ho configurato come allarmi sulle db è cosi configurata

non capisco pero perche quando scrivo ad esempi db1.dbx5.0 mi si alzano nella word db1.dbw5 piu di un bit mettendola in visualizzazione binaria !!!!!

faccio cosi perche vorrei utilizzare i singoli bit della word per riportarli su winccflex come per configurare la variabili per le segnalazioni digitali

Dimmi tu dove sbaglio......nella db1 la configurazione che ho dato alla db1.db5 e tipo Word

Inserita: (modificato)

Non vorrei dire una cavolata, ma se gli allarmi sono sulla DB1.DBW5 il primo allarme lo hai sul bit DB1.DBX6.0.

Il fatto che ti si alzano altri bit è strano, bisognerebbe verificare sul programma se ci sono altre operazioni che vanno a scrivere su quell'area di memoria.

Modificato: da Simone70
Inserita:

Allora sto sbagliando tutto????

io pensavo che in una word tipo....db1.dbw5

la sequenza in bit fosse dbi.dbx5.0 dbi.dbx5.1 dbi.dbx5.2 da sx a dx per il bit di peso minore

Sapete spiegarmi meglio perche DB1.DBX6.0. non capisco

Inserita:

La DB1.DBW 4 e formata dalla DB1.DBB 4 e DB1.DBB 5. Controlla che non stai caricando in modo sbagliato.

Esempio:

DB1.DBW    4      HEX    W#16#0801       BIN  2#0000_1000_0000_0001
DB1.DBB    4      HEX    B#16#08         BIN  2#0000_1000    
DB1.DBB    5      HEX    B#16#01         BIN  2#0000_0001 

DB1.DBX    4.3 = TRUE
DB1.DBX    5.0 = TRUE

Inserita:

Siemens "ragiona a byte", diciamo che è l'unità di misura quindi per intenderci la DB1.DBW5 è composta da i byte DB1.DBB5 e BD1.DBB6 dove il byte 6 è il meno signigicativo.

La stessa cosa vale per le doppie word DB1.DBD5 è composta da 4 byte con DB1.DBB8 è il meno signigicativo e il byte DB1.DBB5 e il più signigicativo.

Inserita:

Grazie mille a tutti .......non conosco minimamente questo plc

Quindi db1.dbwo sara db1.dbx1.0 il bit con il peso piu piccolo !!!!!!!sbaglio ancora

Grazie mille a tutti

Inserita:

La DB1.DBB 5 sarebbe il byte meno significativo della DB1.DBW 4 e il byte piu' significativo della DB1.DBW 5.

Ricordati che l'offset del DB parte dal byte 0. Quindi :

0-1

2-3

4-5

6-7

..

oppure

0-1-2-3

4-5-6-7

..

Tornando alla tua domanda:

come faccio a mandare ad uno iil singolo bit di questa db1.dbw5
DB1.DBX 5.0 imposta il primo bit della data byte 5.

Poi se e' il byte meno significativo della word 4 o il piu' significativo dell word 5 non centra coll'indirizzamento a bit.

Inserita: (modificato)
Quindi db1.dbwo sara db1.dbx1.0 il bit con il peso piu piccolo !!!!!!!sbaglio ancora
Giusto!

Forse il tuo problema e' nel modo come carichi.

Se per esempio:

L 1

T DB1.DBW 0

Allota setti a 1 il bit DB1.DBX 1.0

Modificato: da Savino
Inserita:

In tutta questa discussione c'è un errore di fondo su quello scritto da mc4f, in quanto, creando la struttura dati della DB, è impossibile creare la DB1.DBW5 perchè i dati che non hanno indirizzamento a bit o byte hanno sempre indirizzo iniziale paro come detto giustamente da Savino (0, 2, 4, ecc). Quindi sarebbe il caso di capire se si parla di byte o word.

Inserita: (modificato)
Per indirizzare il primo bit della word : DB1.DBX 5.0
Scusa mc4f, forse qui ti ho confuso le idee.. sarebbe il primo bit del byte 5 o del 9no bit della word 5 Modificato: da Savino
Inserita:

No savino ...comunque sono Simone

Praticamente io volevo sapere se per scomporre la db1.dbw0 in bit è giusto fare cosi

db1.dbx0.7 db1.dbxo.0 db1.dbx1.7--------db1.dbx1.0

Leggendo da sx a dx sono due blocchi da 8 bit ciascuno ---quindi in totale 16 bit !!!!!io li utilizzerei per gestire allarmistica sull op 77a configurando la db1.dbw0 come variabile per le segnalazioni quindi poi utilizzare i singoli 16 bit per i vari allarmi nel plc

Spero di non sbagliare....e comunque grazie mille per la pazienza sono un po duro per capire

Inserita:

Ciao Simone,

Praticamente io volevo sapere se per scomporre la db1.dbw0 in bit è giusto fare cosi

db1.dbx0.7 db1.dbxo.0 db1.dbx1.7--------db1.dbx1.0

si e' giusto cosi'!
Leggendo da sx a dx sono due blocchi da 8 bit ciascuno ---quindi in totale 16 bit
Si'!
Inserita:

Non ti preocupare Simone.. poi, se a volte andando di fretta ci si sbaglia, importante che dopo lo mettiamo posto ;)

Inserita:

Savino ...tutto provato ....funzionamento corretto!!!!!! mille grazie

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