FB_ReadAdsSymByName

FB_ReadAdsSymByName 1:

Der Baustein ermöglicht das Lesen eines beliebigen Wertes von einer anderen Steuerung, mit Hilfe des Symbolnamens.

Bei einer positiven Flanke am Eingang bRead liest der Baustein den Wert der Variablen sVarName aus von dem ausgewählten ADS-Gerätes (z.B. SPS). Das ADS-Gerät wird durch die AMS-NetId (sNetId) und der AMS-Portnummer (nPort) angegeben. Der Wert wird in die Variable geschrieben, auf der nDestAddr zeigt.

Mit Hilfe des Eingangs eComMode kann die interne Arbeitsweise des Bausteins verändert werden:

eComMode := eAdsComModeSecureCom: Nach jedem Lesevorgang wird der Handle der SPS-Variablen wieder freigegeben. Dieser Modus sollte verwendet werden, wenn sehr langsam Werte ausgetauscht werden.

eComMode := eAdsComModeFastCom: Solange sich die Eingänge sVarName, sNetID und nPort nicht ändern, wird der Handle der SPS-Variablen nicht nach jedem Lesevorgang freigegeben. Dieser Modus sollte verwendet werden, wenn sehr häufig Werte ausgetauscht werden.

VAR_INPUT

bRead        : BOOL;
sNetId       : T_AmsNetId;
nPort        : T_AmsPort := AMSPORT_R0_PLC_RTS1;
sVarName     : STRING;
nDestAddr    : DWORD;
nLen         : UDINT;
tTimeout     : TIME := DEFAULT_ADS_TIMEOUT;
eComMode     : E_AdsComMode := eAdsComModeSecureCom;

bRead: Baustein liest den Inhalt der Variablen sVarName des ausgewählten ADS-Gerätes und schreibt diese in die Variable auf die der Zeiger nDestAddr zeigt.

sNetId: AMS-NetId des ADS-Gerätes, von dem der Wert gelesen werden soll.

nPort: AMS-Portnummer des ADS-Gerätes, von dem der Wert gelesen werden soll.

sVarName: Symbolname der zu lesenden Variablen auf dem ausgewählten ADS-Gerät.

nDestAddr: Adresse der Variablen, in der der gelesene Wert geschrieben wird.

nLen: Länge der zu lesenden Variable in Byte.

tTimeout: Zeit bis zum Abbruch der Abarbeitung.

eComMode: Enum, mit dem bestimmt wird ob der Handle der SPS-Variablen nach jedem Lesen wieder freigegeben wird.

VAR_OUTPUT

bBusy        : BOOL;
bError       : BOOL;
nErrorId     : UDINT;

bBusy: Übertragung ist aktiv.

bError: Bei der Übertragung ist ein Fehler aufgetreten.

nErrorId: ADS-Fehlernummer, falls ein Fehler aufgetreten ist.

Voraussetzungen

Entwicklungsumgebung

Zielsystem

erforderliche Bibliotheken

TwinCAT 2.11 R3/x64 ab Build 2247

PC/CX

TcDataExchange-Bibliothek ab V1.1.0