F.A.Q. – Come si accede in STEP 7 (TIA Portal) ai tipi di dati non strutturati bit per bit, byte per byte o parola per parola e simbolicamente su SIMATIC S7-1200 e S7-1500?
Descrizione
Per accedere alle variabili del tipo di dati Byte, Word o DWord sono necessarie
La partizione di un’area di memoria (ad esempio Byte o Word) in un’area di memoria più piccola (ad esempio Bool) è chiamata anche slicing della memoria. La figura 01 mostra l’accesso simbolico di bit, byte e parola agli operandi.
L’uso dell’accesso slice offre una maggiore efficienza di programmazione e non è necessaria una definizione aggiuntiva nella dichiarazione del tag.
L’esempio seguente mostra l’accesso alla sezione simbolica bit per bit. La “X” sta per l’accesso bit per bit nella Parola o nel Byte in questione e il numero che segue specifica l’offset del Bit in questione.
La Fig. 03 mostra un esempio di accesso slice byte per byte. Qui, la “B” sta per l’accesso byte per byte e il numero che segue specifica l’offset del byte interessato.
Una “W” sta per l’accesso alla sezione parola per parola e il numero che segue specifica l’offset della parola interessata.
Nel caso di alcune applicazioni tecniche sono necessari solo i primi 4 o 6 bit (rispettivamente da Bit 0 a Bit 3 o Bit 5) dei tag byte per convertire un valore di tipo dati Byte in un valore di tipo dati Real. In questo esempio un numero binario (byte codificato binario) viene convertito in un numero decimale (numero reale). Il bit più basso del byte qui ha il valore 2 -5 . Non sono le posizioni dopo la virgola decimale, ma il valore decimale stesso che viene calcolato.
Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
---|---|---|---|---|---|
1 | 1 | 0 | 0 | 1 | 0 |
20 | 2-1 | 2-2 | 2-3 | 2-4 | 2-5 |
1.0 | 0.5 | 0.25 | 0.125 | 0.0625 | 0.03125 |
1*1.0=1.0 | 1*0.5=0.5 | 0*0.25=0 | 0*0.125=0 | 1*0.0625=0.0625 | 0*0.03125 |
Totale = 1,5625.
Nel seguente codice di programma SCL le prime due istruzioni (slice accesss) impostano i bit non necessari al segnale “False”. Quindi, con la conversione del tipo di dati, la modifica viene effettuata in base al valore 2 -5 .
Nota IMPORTANTE:
Da STEP 7 (TIA Portal) V13 la sintassi cambia da “Tag.X0” a “Tag.%X0″. Dopo aver immesso come descritto sopra nell’esempio “measure.X0”, STEP 7 (TIA Portal) V13 e versioni successive modificano automaticamente la sintassi in “measure.%X0”.