ADSCLOSE
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
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
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 |