PLC_ReadSymInfoByName

Mit dem Funktionsbaustein PLC_ReadSymInfoByName können zusätzliche Informationen über eine SPS-Symbolvariable (z.B. Datentypbezeichnung, Index-Group, Index-Offset, Kommentar...) anhand des Symbolnamens ausgelesen werden. Nach einer erfolgreichen Ausführung liegen die Daten in der Datenstruktur SymInfo vom Typ: SYMINFOSTRUCT zur Verfügung. Die maximale Länge von dem Symbolnamen, der an den Funktionsbaustein als Parameter übergeben wird ist auf 255 Zeichen begrenzt.
 Eingänge
VAR_INPUT
    NETID    : T_AmsNetId;
    PORT     : T_AmsPort;
    SYMNAME  : T_MaxString;
    START    : BOOL;
    TMOUT    : TIME := DEFAULT_ADS_TIMEOUT;
END_VARName  | Typ  | Beschreibung  | 
|---|---|---|
NETID  | T_AmsNetID  | Hier kann die Netzwerkadresse des TwinCAT-Rechners angegeben werden, auf dem Funktion ausgeführt werden soll. Für den lokalen Rechner kann auch ein Leerstring angegeben werden.  | 
PORT  | T_AmsPort  | Die Portnummer des SPS-Laufzeitsystems zu dem die Symbolvariable gehört.  | 
SYMNAME  | T_MaxString  | Der Symbolname der SPS-Variablen deren Informationen gelesen werden sollen (max. 255 Zeichen, inklusive des gesamten Pfades z. B. 'MAIN.INIT_TASK.VARINT' ).  | 
START  | BOOL  | Über eine positive Flanke an diesem Eingang wird der Baustein aktiviert.  | 
TMOUT  | TIME  | Timeout-Zeit, die bei der Ausführung des ADS-Kommandos nicht überschritten werden darf.  | 
 Ausgänge
VAR_OUTPUT
    BUSY     : BOOL;
    ERR      : BOOL;
    ERRID    : UDINT;
    SymInfo  : SYMINFOSTRUCT;
END_VARName  | Typ  | Beschreibung  | 
|---|---|---|
BUSY  | BOOL  | Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt.  | 
ERR  | BOOL  | Sollte ein Fehler bei der Übertragung des Kommandos erfolgen, dann wird dieser Ausgang gesetzt, nachdem der BUSY-Ausgang zurückgesetzt wurde.  | 
ERRID  | Liefert bei einem gesetzten ERR-Ausgang den Fehlercode.  | |
SymInfo  | Struktur mit zusätzlichen Informationen zu der Symbolvariablen.  | 
Beispiel:
PROGRAM MAIN
VAR
    PLC_ReadSymInfoByName1  : PLC_ReadSymInfoByName;
    bStart AT%QX0.5         : BOOL; (*Starts FB execution*)
    bBusy                   : BOOL;
    bError                  : BOOL;
    iErrorId                : UDINT;
    SymInfo                 : SYMINFOSTRUCT;(*Structure with sombol information*)
END_VAR 
Online-Ansicht:
 
Die erhaltenen Daten haben folgende Bedeutung:
symEntryLen = 16#43: Der Eintrag in der Symboltabelle hat eine tatsächliche Größe von 67 Byte;
idxGroup = 16#F031: Es handelt es sich um eine Variable aus dem SPS-Prozessabbild der physikalischen Ausgänge;
idxOffset = 16#5: Die Variable liegt auf dem Byteoffset Null und dem Bitoffset 5;
byteSize = 16#1: Der Variablenwert belegt einen Byte im Speicher;
adsDataType = ADST_BIT: Die Ads-Datentyp-Id;
symDataType = BOOL: Die Datentypbezeichnung in der SPS;
symComment = 'STARTS FB EXECUTION': Kommentar, den der Benutzer in der Zeile der Variablendefinition hinzugefügt hat.
Voraussetzungen
Entwicklungsumgebung  | Zielplattform  | Einzubindende SPS-Bibliotheken (Kategoriegruppe)  | 
|---|---|---|
TwinCAT v3.1.0  | PC oder CX (x86, x64, Arm®)  | Tc2_Utilities (System)  |