STEP 7 Professional V13 SP1
Indirizzamento delle variabili strutturate
Indirizzamento delle variabili strutturate
Indirizzamento degli elementi dei dati di un ARRAY
L'accesso ad un elemento di un ARRAY avviene tramite la sintassi NomeArray
[i,j,k...].
Nella parentesi quadra viene indicato l'indice dell'elemento che contiene un valore intero
(-2147483648 ... 2147483647) per ogni dimensione ARRAY.
Se durante il tempo di esecuzione si accede a un elemento che si trova al di fuori dei limiti
dell'ARRAY dichiarati, si verificano errori di accesso. Le diverse famiglie di CPU reagiscono in
modo diverso ai superamenti dei limiti dell'ARRAY:
•
•
S7-300/400
―
La CPU entra nello stato di funzionamento "STOP".
―
Per evitarlo è possibile programmare l'OB di errore di esecuzione del programma (OB 85).
―
In SCL è inoltre possibile attivare l'attributo "Verifica limiti di ARRAY" nelle proprietà del blocco.
In questo modo, in caso di errori di accesso all'ARRAY l'uscita di abilitazione ENO viene
impostata su FALSE.
S7-1200
―
•
La CPU crea una registrazione nel buffer di diagnostica e rimane nello stato di funzionamento
"RUN".
S7-1500
―
La CPU entra nello stato di funzionamento "STOP".
―
Per evitarlo è possibile programmare l'OB di errore di programmazione (OB 121).
―
Inoltre si può programmare il trattamento locale dell'errore con le istruzioni "GET_ERROR:
Interroga errori localmente" o "GET_ERROR_ID: Interroga ID di errore localmente".
Nota
Controllo degli errori di accesso all'ARRAY tramite ENO
L'uscita di abilitazione ENO non viene impostata allo stato di segnale FALSE se durante
l'esecuzione di un'istruzione vengono superati i limiti dell'ARRAY. Fanno eccezione soltanto i
blocchi SCL sulle CPU della serie S7-300/400 per i quali è impostata la proprietà del blocco
"Verifica limiti di ARRAY".
Vedere anche:
Array
Indirizzamento indiretto di componenti ARRAY
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=74495465995&Language=it-IT&TopicId=70812725771
01/06/2017
STEP 7 Professional V13 SP1
Indirizzamento delle variabili strutturate
Indirizzamento dei blocchi dati ARRAY
I blocchi dati ARRAY sono un tipo particolare di ARRAY. Si tratta di blocchi dati globali costituiti
esattamente da un ARRAY. L'indirizzamento di elementi nei blocchi dati ARRAY viene eseguito
tramite la seguente sintassi:
"<GlobArrayDBname".THIS[#i].<componentname>."<elementname>"
SCL:
"<GlobArrayDBname"."THIS"[#i].<componentname>."<elementname>".
Ulteriori opzioni per l'indirizzamento dei DB ARRAY sono disponibili nella sezione "Operazioni
di trasferimento" della task card "Istruzioni". Queste istruzioni consentono ad es. anche di
indirizzare indirettamente il nome del DB.
Indirizzamento degli elementi dei dati in strutture
È possibile accedere ai singoli elementi di una struttura da
Nome_struttura.Nome_elemento.
Vedere anche:
Strutture
Indirizzamento dei dati degli elementi di un tipo di dati PLC
Per l'accesso agli elementi di un tipo di dati PLC, viene impiegata la sintassi
NomeTipoDiDatiPLC.NomeElemento .
Vedere anche:
Programmazione dei tipi di dati PLC
Indirizzamento di singoli caratteri di uno STRING o di un WSTRING (S7-1200/1500)
Per accedere a un singolo carattere di una variabile STRING o WSTRING si utilizza la sintassi
StringName[i]. L'indice di conteggio "i" inizia con "1". Pertanto con StringName[1] si accede
al primo carattere dello string.
Non è tuttavia possibile accedere a singoli caratteri di una costante STRING o WSTRING.
Se durante il tempo di esecuzione si accede a un carattere che si trova al di fuori della
lunghezza dello STRING, si verificano errori. In caso di accesso in lettura allo STRING appare
il carattere '$00' o '$0000', un accesso in scrittura nello STRING non viene invece eseguito. Se
l'istruzione dispone dell'uscita di abilitazione ENO, quest'ultima viene impostata allo stato del
segnale FALSE. La CPU non commuta in STOP.
Vedere anche:
Sequenza di caratteri
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=74495465995&Language=it-IT&TopicId=70812725771
01/06/2017
STEP 7 Professional V13 SP1
Indirizzamento delle variabili strutturate
Esempi:
I seguenti esempi mostrano l'indirizzamento di variabili nei blocchi dati strutturati:
Vedere anche
Indirizzamento
Spiegazione
Motor.Value_1x3[2]
Indirizzamento di un array unidimensionale
Motor.Value_2x4[2,4]
Indirizzamento di un array bidimensionale
Motor.Value_4x7[2,4,1,3]
Indirizzamento di un array quadridimensionale
Batch_1.Temperature
Indirizzamento dell'elemento "Temperature" nella struttura
"Batch_1"
Values.Temperature
Indirizzamento dell'elemento "Temperature" nella variabile "Values"
basata su un tipo di dati PLC.
STRING[3]
Indirizza il terzo carattere di STRING.
WSTRING[3]
Indirizza il terzo carattere di WSTRING.
→ Array
→ Strutture
→ Nozioni di base sull'indirizzamento indiretto
→ Indirizzamento indiretto di componenti ARRAY
→ Programmazione dei tipi di dati PLC
→ Sequenza di caratteri
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=74495465995&Language=it-IT&TopicId=70812725771
01/06/2017