Vai al contenuto
PLC Forum


Bit Bie Della Word Di Stato


Porto

Messaggi consigliati

Buona sera.

Vorrei chiedere agli utenti molto più ferrati nella programmazione in Siemens di quanto non lo sia io, a cosa serve il bit BIE della word di stato, e sopratutto gli svantaggi nell'usare i salti che NON AGGIORNANO IL BIE.

Mi spiego meglio e faccio anche un esempio per tentare di farmi capire:

ogni volta che passo da KOP ad AWL, il compilatore in automatico traduce le operazioni che hanno una logica combinatoria e le associa a dei salti, in particolare, quando passo da KOP ad AWL, vengono usati i salti SPBNB.

Vi posto un esempio di un banale confronto ladc.png

C'è un errore, lo so: l'operazione è di confronto con double, ma gli operandi sono interi.... :(

A parte l'errore di distrazione....

esempio 1)

U "M0.0"

U(

L DB13.DBW20

L DB13.DBW22

<=I

)

SPBNB _007

L 0

T DB13.DBW22

_007: NOP 0

questa è la traduzione in AWL del confronto fatto in KOP.

Se io ora al posto delle istruzioni succitate, andassi a scrivere:

esempio 2)

L DB13.DBW20

L DB13.DBW22

<=I

SPMZ JMP

L 0

T DB13.DBW22

JMP: NOP 0

oppure

esempio 3)

L DB13.DBW20

L DB13.DBW22

<=I

SPBN JMP

L 0

T DB13.DBW22

JMP: NOP 0

cosa cambierebbe?

Sono scritture intercambiabili?

La differenza starebbe che con le istruzioni dell'esempio 2 e 3 non viene copiato il bit RLC in BIE.

A quanto ho capito, il bit BIE serve per abilitare il bit EN0 in uscita ai blocchi e tra l'altro solo ed esclusivamente in linguaggio KOP.

Se a me non interessasse poter riconvertire una sezione di programma da AWL a KOP e viceversa, potrei usare indistintamente le operazioni di salto con e senza la copia di RLC in BIE?

La domanda mi è sorta perché, solitamente in azienda si programma in KOP, però, sopratutto quando devo fare una serie di operazioni, magari con confronti per abilitare o meno le operazioni in funzione del valore degli operandi, mi viene molto facile usare tutte le operazoini di salto che Siemens mette a disposizione, invece di solo SPBNB.

Immaginiamo ora che io abbia tutta una serie di operazioni e confronti da fare, tutte all'interno di un FB o FC.

Userò SPZ, SPN, SPP, SPM, SPPZ, SPMZ, SPU, ma nessun SPBB o SPBNB.

Basterà che alla fine usi la combinazione di istruzioni

SET

SAVE

CLR

per non incorrere in problemi nel caso un'istruzione all'interno del blocco dovesse generare un errore, giusto?

Grazie.

Spero di essermi spiegato in maniera comprensibile...

Buona sera.

Link al commento
Condividi su altri siti


La differenza starebbe che con le istruzioni dell'esempio 2 e 3 non viene copiato il bit RLC in BIE.

A quanto ho capito, il bit BIE serve per abilitare il bit EN0 in uscita ai blocchi e tra l'altro solo ed esclusivamente in linguaggio KOP.

Se a me non interessasse poter riconvertire una sezione di programma da AWL a KOP e viceversa, potrei usare indistintamente le operazioni di salto con e senza la copia di RLC in BIE?

La domanda mi è sorta perché, solitamente in azienda si programma in KOP, però, sopratutto quando devo fare una serie di operazioni, magari con confronti per abilitare o meno le operazioni in funzione del valore degli operandi, mi viene molto facile usare tutte le operazoini di salto che Siemens mette a disposizione, invece di solo SPBNB.

Immaginiamo ora che io abbia tutta una serie di operazioni e confronti da fare, tutte all'interno di un FB o FC.

Userò SPZ, SPN, SPP, SPM, SPPZ, SPMZ, SPU, ma nessun SPBB o SPBNB.

Basterà che alla fine usi la combinazione di istruzioni

SET

SAVE

CLR

per non incorrere in problemi nel caso un'istruzione all'interno del blocco dovesse generare un errore, giusto?

Sì.

Modificato: da batta
Link al commento
Condividi su altri siti

  • 4 weeks 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...