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:
L'importatore crea una variabile del tipo di struttura (e il suo prototipo) composta dai membriTYPE UDT 1 STRUCT Var1 : BOOL; Var2 : WORD; Var3 : INT; Var4 : ARRAY [0 .. 6 ] OF BYTE; Var5 : INT; Var6 : BYTE; END_STRUCT ; END_TYPE
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 selezionareImporta. 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 selezionareImporta.
- 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:
- TipoInputse l'indirizzo èPE
- TipoOutputse l'indirizzo èPA
- TipoInput/Outputse 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