drugo66 Posted April 2, 2014 Report Posted April 2, 2014 (edited) Probabilmente sono io che stasera sono più fuori del solito , ma volevo usare la sovrapposizione e non ne vuole sapere di andare: 1 - Creo il mio DB e gli tolgo l'accesso ottimizzato 2 - Apro il mio DB e creo una variabile Pippo come word 3 - Scrivo Pluto e come tipo di dati AT ... e mi dice che non riconosce il tipo di dati; ho provato anche a scrivere AT"Pippo", ma non c'è verso ... Ma non era così che funzionava ? Tra l'altro, con il vecchio step 7, se dichiaravo 16 bool in un db e poi volevo azzerarle tutte, potevo sempre chiamare un move a DBn.DBW0 (non molto bello e senza simboli, ma quando avevo fretta era una pacchia, soprattutto durante il debug ) : mi confermate che con il TIA non si può ? Grazie Edited April 2, 2014 by drugo66
batta Posted April 2, 2014 Report Posted April 2, 2014 Dal manuale in linea: La sovrapposizione di variabili è possibile nei seguenti blocchi: Nei blocchi di codice con accesso standard Nei blocchi di codice con accesso ottimizzato alle variabili con l'impostazione della ritenzione "Imposta nell'IDB" Quindi la sovrapposizione con "AT" non si può fare nei DB. Tra l'altro, con il vecchio step 7, se dichiaravo 16 bool in un db e poi volevo azzerarle tutte, potevo sempre chiamare un move a DBn.DBW0 (non molto bello e senza simboli, ma quando avevo fretta era una pacchia, soprattutto durante il debug ) : mi confermate che con il TIA non si può ? Certo che si può anche con il TIA. Ovviamente, solo se il DB non è "ottimizzato". Inoltre si può anche, per esempio, dichiarare la variabile "Pippo" come WORD ed accedere ai singoli bit con la sintassi Pippo.%Xn dove "n" è il numero del bit della word (e il % si può anche non scriverlo, che viene aggiunto in automatico). Lo stesso vale per accedere ai singoli byte di una variabile da 2 o da 4 byte, oppure alle singole word di una dword. E questo sistema vale anche nel caso di "accesso ottimizzato". Da non dimenticare che, almeno da quanto dicono i tecnici Siemens, la CPU è molto più veloce ad elaborare dati con accesso ottimizzato.
drugo66 Posted April 3, 2014 Author Report Posted April 3, 2014 Per "AT", ecco scoperto l'arcano !! mi era sfuggita quella frase del manuale, che trovo un po' criptico, devo dire. Per l'utilizzo di una intera word con i bit definiti, non vuole saperne di andare; mi segnala che il simbolo non è definito; normalmente lo utilizzavo con gli allarmi, definendo i singoli bit, in modo da avere i commenti e riunendoli in diverse "categorie" che altro non erano che word; poi, durante le prove, andavo a trattare l'intera word per comodità. Comunque non è un problema. Dell'ultimo utilizzo che mi proponi (<var>.Xn, mi sembra si chiami "accesso slice"), ne faccio già uso con successo; lo utilizzo per i passi delle singole stazioni. Infine per la velocità, vedrò come si comporta: è il primo progetto un po' "corposo" che scrivo per S7-1200. Grazie, Batta Come al solito, preciso, puntuale ed esauriente
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now