Jump to content
PLC Forum


Lato Negativo Dell'Indirizzamento Simbolico?


ferentarius
 Share

Recommended Posts

Ciao a tutti, solitamente quando usavo un DB ad indirizzamento assoluto mi trovavo di fronte a questa situazione.

Ho un DB per gestire una cinquantina di allarmi (bool). Per verificare se sono in una situazione generica di allarme (almeno uno di questi 50 alzato) andavo a confrontare in OR tutte le double word che componevano il DB, riuscivo cosi con poco codice (due confronti a 0 di due DWord dove erano contenuti tutti i 50 allarmi) ad ottenere quello che volevo.

Mi domandavo ora come posso fare utilizzando un DB simile ma indirizzato simbolicamente (o ottimizzato).

Sono costretto a confrontare 50 bool per sapere se sono in una situazione di allarme o esiste una maniera piu intelligente?

Grazie e ciao.

Fere.

Link to comment
Share on other sites


Ho chiamato l'. della Siemens e mi hanno detto che l'unica possibilità è dichiarare il DB NON ottimizzato, ma standard (per 300 e 400) cosi da poter utilizzare le doubleword per racchiudere 32bool e fare meno confronti.

Peccato, speravo in una soluzione un pò più intelligente.

Link to comment
Share on other sites

Non vedo la difficolta effettIvamente un db standard ti da la compatibilita 300 e 400 per cui se sviluppi su piu piattaforme puoi mettertelo in libreria.

Link to comment
Share on other sites

Ciao, puoi anche fare così:

creare una variabile DWord, anche simbolica, (chiamiamola allarmi), poi usi la variabile allarmi come DWord nei confronti per vedere se hai un bit alto.

Per vedere i singnoli bit devi usare questa dicitura: nomeDB.allarmi.x0 per il primo bit .x1 per il secondo e così via.

L'aspetto negativo di questo modo è che perdi il simbolico sui bit.

La stessa cosa la puoi usare anche con i byte (B), con le word (w)

Spero di esserti stato utile

Ciao

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...