Jump to content
PLC Forum


Lato Negativo Dell'Indirizzamento Simbolico?


Recommended Posts

Posted

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.


Posted

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.

Posted

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.

Posted

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

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
×
×
  • Create New...