Driver S7TCP

Osservare queste linee guida durante l'importazione dei tag del controller CODESYS in
FactoryTalk Optix Studio
.

Tag del controller

È possibile caricare i tag in
FactoryTalk Optix Studio
in modalità offline nei seguenti tipi di file:
  • s7p
  • SDF
  • AWL

Dati STEP7

Il driver può importare variabili dal file dei simboli del progetto (Merker, Input, Output) o variabili definite nei blocchi dati (DB).
L'importatore crea variabili nel Supervisor con lo stesso nome definito nel progetto STEP7 e assegna l'indirizzo fisico alla proprietà
I/O physical address
della variabile.
NOTA: Per importare un file
s7p
correttamente, il driver di comunicazione richiede che il file
AGLink40.DLL
sia presente nella directory di installazione di Movicon.
Il driver di comunicazione non supporta questi tipi di dati STEP7 che sono disponibili nei dati esportati nei file
s7p
:
  • TIME
  • DATE
  • TIME_OF_DAY
  • DATE_AND_TIME
  • POINTER
  • ANY
Il driver di comunicazione ignora i dati non supportati.
Vengono gestiti solo array monodimensionali. Gli array multidimensionali (matrici) sono suddivisi in array monodimensionali. In questo caso, il nome di ciascun array monodimensionale è formato dal nome dell'array multidimensionale e da un indice progressivo.

Strutture e tipi di dati utente

Se le strutture utilizzate nei blocchi dati contengono solo membri di tipi di dati di base (non stringhe, array, tipi di dati utente (UDT, User Data Type) o altre strutture), vengono importate nel RealTimeDB del Supervisor come variabili di tipo struttura creando le loro strutture prototipo.
Se le strutture e gli UDT contengono tipi di dati complessi (come array, stringhe, UDT o altre strutture), viene creata una struttura di variabili (insieme al relativo template) formata solo dagli elementi di tipo di dati semplici e contigui. Il resto della struttura o dell'UDT è diviso in singole variabili.
Ad esempio, presupponendo che l'UDT sia come segue:
TYPE UDT 1 STRUCT Var1 : BOOL; Var2 : WORD; Var3 : INT; Var4 : ARRAY [0 .. 6 ] OF BYTE; Var5 : INT; Var6 : BYTE; END_STRUCT ; END_TYPE
L'importatore crea una variabile del tipo di struttura (e il suo prototipo) composta dai membri
Var1
,
Var2
,
Var3
e crea tre variabili aggiuntive: l'array
UDT_1_Var4
, la Sign Word
UDT_1_Var5
e
UDT_1_Var6
di tipo Byte.
MANCIA: Per diminuire il numero di variabili importate, è possibile provare a creare strutture e UDT con tipi di dati composti (variabile di array) nelle posizioni finali, dopo il tipo di dati semplice (byte, word e così via).

Dati SDF e AWL

Il driver di comunicazione non supporta questi tipi di dati presenti nei file
SDF
e
AWL
:
  • TIME
  • DATE
  • TIME_OF_DAY
  • DATE_AND_TIME
Il driver di comunicazione ignora i dati non supportati. L'occupazione in byte dei tipi di dati non supportati viene presa in considerazione per impostare l'indirizzo corretto per i tag successivi.
Tenere in considerazione quanto segue:
  • È possibile importare strutture e array UDT come strutture e array Supervisor a partire dalla versione 10.1.0.9. Questo tipo di dati è rappresentato nella struttura con le icone
    +/-
    a sinistra. Le icone consentono di espandere o comprimerle.
  • Per importare una struttura o un array come struttura o array Supervisor, selezionare la struttura compressa e selezionare
    Importa
    . La struttura prototipo corrispondente verrà aggiunta al database dei tag del Supervisor.
  • Per importare i membri della struttura come singoli tag, selezionare la struttura espansa e selezionare
    Importa
    .
  • Se una struttura UDT include una stringa, può essere importata solo come suddivisa nei suoi membri perché il Supervisor non gestisce le stringhe di lunghezza fissa.
  • Le strutture che non sono UDT vengono importate come suddivise nei loro membri.
  • Gli array di tipi di base (Byte, Word con segno/senza segno, DWord con segno/senza segno, Float) vengono importati nel Supervisor come array del tipo di base corrispondente.
  • Gli array di bit o stringhe non sono supportati nel Supervisor. Viene creato un tag nel database dei tag Supervisor per qualsiasi membro dell'array.
  • Gli array di UDT sono divisi nei membri UDT corrispondenti.
  • Gli array di strutture non UDT possono essere importati solo come divisi nei loro membri.
  • Gli elementi degli array importati nel Supervisor partono sempre dall'indice 0.
  • Le variabili S5TIME vengono importate come tipo di dati dword nel Supervisor, ma vengono indirizzate come tipo di dati word. Queste variabili vengono gestite come word sul controller, dove sono memorizzati valore e formato ora. Quando vengono convertite per essere visualizzate in Supervisor (inclusi i millisecondi), richiedono un tipo di dati dword.
  • Le variabili STRING vengono importate mantenendo 2 byte liberi prima dell'indirizzo di partenza. Ad esempio, se 0 è il primo indirizzo libero, la variabile stringa viene indirizzata a partire dal byte 2 (DB1.DBB2:5 è una stringa di cinque caratteri; i byte da 2 a 7 sono utilizzati per i caratteri mentre due byte in più, byte 0 e 1, devono essere riservati per la gestione stringa sul controller).
I tag dall'area Periferiche vengono importati come:
  • Tipo
    Input
    se l'indirizzo è
    PE
  • Tipo
    Output
    se l'indirizzo è
    PA
  • Tipo
    Input/Output
    se l'indirizzo è
    P
Esempio di file
SDF
:
“PumpON” “M33.4” “PumpStatus” “DB33.DBB46”
Esempio di file
AWL
:
DATA_BLOCK DB 1 VERSION : 0.1 STRUCT Bit_Var : BOOL ; //bit tag Byte_Var : BYTE ; // byte tag Word_Var : WORD ; // word tag DWord_Var : DWORD ; // double word tag Int_Var : INT ; // integer tag DInt_Var : DINT ; // double int tag Real_Var : REAL ; // float tag S5Time_Var : S5TIME ; // s5 time tag Struct_Var : STRUCT // structure tag Bit_Var : BOOL ; Byte_Var : BYTE ; Word_Var : WORD ; DWord_Var : DWORD ; Int_Var : INT ; DInt_Var : DINT ; Real_Var : REAL ; S5Time_Var : S5TIME ; END_STRUCT ; END_STRUCT ; BEGIN Bit_Var := TRUE; Byte_Var := B#16#0; Word_Var := W#16#0; DWord_Var := DW#16#0; Int_Var := 0; DInt_Var := L#0; Real_Var := 0.000000e+000; S5Time_Var := S5T#0MS; Struct_Var.Bit_Var := FALSE; Struct_Var.Byte_Var := B#16#0; Struct_Var.Word_Var := W#16#0; Struct_Var.DWord_Var := DW#16#0; Struct_Var.Int_Var := 0; Struct_Var.DInt_Var := L#0; Struct_Var.Real_Var := 0.000000e+000; Struct_Var.S5Time_Var := S5T#0MS; END_DATA_BLOCK
Lo strumento di importazione calcola automaticamente l'indirizzo iniziale di ogni variabile del blocco dati in base al posizionamento della variabile nell'elenco, il tipo di dati e il metodo di assegnazione degli indirizzi al passaggio 7.
Fornire un feedback
Hai domande o feedback su questa documentazione? invia il tuo feedback qui.