Tipo di articolo: FAQ, ID articolo: 820158, Data articolo: 13/07/2008
(0)
Valuta

Come si possono copiare i tipi dati STRING come p. es. parametri FB/FC e variabili DB?

  • Articolo
  • Riguarda prodotto/i

Istruzioni
Il tipo dati STRING definisce una stringa di caratteri di max. 254 caratteri e l'area standard riservata per una stringa di caratteri è costituita da 256 byte. Quest'area di memoria è necessaria per memorizzare 254 caratteri e una intestazione di 2 byte (byte 0 e byte 1). Il byte 0 definisce la massima lunghezza e il byte 1 l'effettiva lunghezza della stringa. Ulteriori informazioni si trovano nella Guida in linea dello STEP7 sotto

  • "Tipo dati STRING" e
  • "Formato del tipo dati STRING"

Con comandi di caricamento e trasferimento si possono caricare solo i singoli byte opp. caratteri all'interno della stringa.
 

Istruzioni STEP 7

Commento

L In_String[5]

Carica il 5. byte opp. il 5. carattere della variabile stringa "In_String"

T MB5

Trasferisci nel byte di merker 5

Per copiare l'intera stringa opp. l'intero contenuto della variabile stringa, si raccomanda il richiamo dello SFC20 "BLKMOV" (Funzione di sistema 20) e la parametrizzazione dello SFC20 con la variabile stringa. Lo SFC20 copia un'area di memoria sorgente nell'area di memoria destinazione.

Avvertenza
Arrays del tipo dati String non sono consentiti con SFC20.

Esempio 1: Copia del contenuto di una variabile DB del tipo dati "STRING"


Figura 01

La Figura 01 mostra un esempio di come si può copiare una stringa da una variabile stringa "DB_In_String" del DB20 nella variabile stringa "DB_Out_String" nel DB21. La parametrizzazione simbolica sullo SFC20 è obbligatoria, poiché con la variabile DB simbolica viene rilevata qui l'intera stringa.

Esempio 2: Copia del contenuto di una variabile IN da FB12 nella variabile DB del DB21 del tipo dati "STRING"


Figura 02

La funzione FC29 "NE_STRNG" confronta su "diverso" i contenuti della variabile IN "In_String" e della variabile statica "Stat_Var_String" in FB12. Entrambe le variabili sono del tipo dati STRING. Se cambia il contenuto della In_Variable "In_String", allora la stringa viene copiata con lo SFC20 dal parametro "In_String" in FB12 nella variabile DB "Mod_DB21".DB_Out_String.

Ricerca
Codice ASCII