ADSRDSTATE

Der Funktionsbaustein fordert den Zustand eines ADS-Gerätes an.
 Eingänge
VAR_INPUT
    NETID   : T_AmsNetId;
    PORT    : T_AmsPort;
    RDSTATE : BOOL;
    TMOUT   : TIME := DEFAULT_ADS_TIMEOUT;
END_VARName  | Typ  | Beschreibung  | 
|---|---|---|
NETID  | T_AmsNetId  | String, der die AMS-Netzwerkkennung des Zielgerätes enthält, an das der ADS-Befehl gerichtet wird (Typ: T_AmsNetId).  | 
PORT  | T_AmsPort  | Portnummer des ADS-Gerätes (Typ: T_AmsPort).  | 
RDSTATE  | BOOL  | Durch eine steigende Flanke an diesem Eingang wird der ADS-Befehl ausgelöst.  | 
TMOUT  | TIME  | Gibt die Zeit bis zum Abbruch der Funktion an.  | 
 Ausgänge
VAR_OUTPUT
    BUSY      : BOOL;
    ERR       : BOOL;
    ERRID     : UDINT;
    ADSSTATE  : UINT;
    DEVSTATE  : UINT;
END_VARName  | Typ  | Beschreibung  | 
|---|---|---|
BUSY  | BOOL  | Dieser Ausgang bleibt so lange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt, längstens aber für die Dauer der an dem Timeout-Eingang angelegten Zeit. Während BUSY = TRUE wird an den Eingängen kein neuer Befehl angenommen. Beachten Sie, dass nicht die Ausführung des Dienstes, sondern nur dessen Annahme zeitlich überwacht wird.  | 
ERR  | BOOL  | Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in ERRID enthalten. Wenn der Baustein ein Timeout-Fehler hat, so ist ERR = TRUE und ERRID = 1861 (Hexadezimal 0x745). Wird durch das Ausführen eines Befehls an den Eingängen auf FALSE zurückgesetzt.  | 
ERRID  | UDINT  | ADS-Fehlercode oder befehlsspezifischer Fehlercode des zuletzt ausgeführten Befehls. Wird durch das Ausführen eines Befehls an den Eingängen auf 0 zurückgesetzt.  | 
ADSSTATE  | UDINT  | Enthält die Zustandskennzahl des ADS-Zielgerätes.  | 
DEVSTATE  | UDINT  | Spezifische Zustandskennzahl des ADS-Zielgerätes. Die hier zurück gelieferten Codes sind Zusatzinformationen, die für das ADS-Gerät spezifisch sind.  | 
Zustandskennzahl des ADS-Zielgerätes
Die hier zurück gelieferten Codes sind festgelegt für alle ADS-Server:
- ADSSTATE_INVALID = 0;
 - ADSSTATE_IDLE = 1;
 - ADSSTATE_RESET = 2;
 - ADSSTATE_INIT = 3;
 - ADSSTATE_START = 4;
 - ADSSTATE_RUN = 5;
 - ADSSTATE_STOP = 6;
 - ADSSTATE_SAVECFG = 7;
 - ADSSTATE_LOADCFG = 8;
 - ADSSTATE_POWERFAILURE = 9;
 - ADSSTATE_POWERGOOD = 10;
 - ADSSTATE_ERROR = 11;
 - ADSSTATE_SHUTDOWN = 12;
 - ADSSTATE_SUSPEND = 13;
 - ADSSTATE_RESUME = 14;
 - ADSSTATE_CONFIG = 15;
 - ADSSTATE_RECONFIG = 16;
 - ADSSTATE_STOPPING = 17;
 - ADSSTATE_INCOMPATIBLE = 18;
 - ADSSTATE_EXCEPTION = 19;
 
Beispiel für den Aufruf des Bausteins in FBD:

In dem Beispiel wird das SPS-Laufzeitsystem 1 (PortNr.801) auf dem Rechner mit der Netzwerkadresse 1.1.1.2.7.1 nach seinem Zustand gefragt. Die Antwort ist adsState = 1 (IDLE) ohne Zusatzcode devState=0.
Voraussetzungen
Entwicklungsumgebung  | Zielplattform  | Einzubindende SPS-Bibliotheken (Kategoriegruppe)  | 
|---|---|---|
TwinCAT v3.1.0  | PC oder CX (x86, x64, Arm®)  | Tc2_System (System)  |