ADSCLOSE

ADSCLOSE 1:

Mit dem Funktionsbaustein ADSCLOSE kann eine nicht benötigte IP-Verbindung explizit geschlossen werden. Um den Resourcenverbrauch minimal zu halten, ist die Anzahl der maximal gleichzeitig geöffneten IP-Verbindungen auf 4 begrenzt. Eine Verbindung wird beim Aufruf von ADSREADEX, ADSWRITE oder ADSRDWRTEX automatisch aufgebaut. Die nicht benutzte Verbindungen werden nach 10 Sekunden automatisch abgebaut . Soll in dieser Zeit eine Verbindung zu mehr als 4 ADS-Geräten aufgebaut werden, dann müssen die nicht benötigten Verbindungen zuerst geschlossen werden. 

VAR_INPUT

VAR_INPUT
    NETID       : T_AmsNetId;
    CLOSE       : BOOL;
    TMOUT       : TIME;
END_VAR

T_AmsNetId

NETID : Die AMS-Netzwerkkennung des ADS-Gerätes dessen Verbindung getrennt werden soll. 

CLOSE : Durch eine steigende Flanke an diesem Eingang wird der ADS-Befehl ausgelöst.

TMOUT : Gibt die Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschritten werden kann.

VAR_OUTPUT

VAR_OUTPUT
    BUSY        : BOOL;
    ERR         : BOOL;
    ERRID       : UDINT;
END_VAR

BUSY : Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt.

ERR : Sollte ein ADS-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 die ADS- oder die Gerätespezifische-Fehlernummer.

 

Beispiel für den Aufruf des Bausteins in FBD:

PROGRAM MAIN
VAR
    fbAdsClose  : ADSCLOSE;
    bClose      : BOOL;
    bBusy       : BOOL;
    bError      : BOOL;
    nErrId      : UDINT;
END_VAR

ADSCLOSE 2:

Im Beispiel wird bei einer steigender Flanke am bClose-Eingang die IP-Verbindung zu dem ADS-Gerät mit der Netzwerkadresse: '172.16.2.209.1.1' abgebaut.

 

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.7.0 & TwinCAT v2.8

BC9xxx (165) firmware version >= 0xB6

TcAdsBC.Lb6