FB_GetUPSStatus

FB_GetUPSStatus 1:
FB_GetUpsStatus

Voraussetzungen:

a) Die Beckhoff USV Softwarekomponenten wurden installiert.

b) Die USV wurde aktiviert und konfiguriert. Weitere Informationen zur USV-Konfiguration finden Sie in der entsprechenden weiterführenden USV-Software und Gerätedokumentation.

Der Funktionsbaustein FB_GetUPSStatus liest aus der SPS den Status der USV-Hardware. Der Baustein wird  Levelgetriggert, d.h. nur bei dem gesetzten bEnable -Eingang werden die Statusinformationen der USV zyklisch gelesen. Um dabei die Systemauslastung niedrig zu halten werden die Statusinformationen alle ~4,5s neu gelesen. Bei einem gesetzten bValid-Ausgang sind die zuletzt gelesenen Daten gültig. D.h. der letzte Lesezyklus wurde fehlerfrei durchgeführt. Beim Auftreten eines Fehlers wird der Lesezyklus wiederholt und der Fehler automatisch zurückgesetzt sobald die Fehlerursache behoben wurde (z.B. keine Kommunikation zur USV).

 VAR_INPUT

VAR_INPUT
    sNetId      :T_AmsNetId;
    nPort       :T_AmsPort;(* 0 = Windows UPS service / Windows Battery Driver *)
    bEnable     :BOOL;
END_VAR

sNetId: Hier kann ein String mit der Netzwerkadresse des TwinCAT-Rechners angegeben werden, dessen USV-Status gelesen werden soll. Für den lokalen Rechner kann auch ein Leerstring angegeben werden.

nPort: Die ADS-Portnummer. Setzen Sie diesen Wert auf Null. Andere Portnummern sind für zukünftige Anwendungen reserviert.

bEnable: Bei einem gesetzten Eingang wird der USV-Status zyklisch gelesen.

VAR_OUTPUT

VAR_OUTPUT
    bValid      :BOOL;
    bError      :BOOL;
    nErrId      :UDINT;
    stStatus    :ST_UPSStatus;
END_VAR

bValid: Wenn dieser Ausgang gesetzt ist sind die Daten in der ST_UPS Status-Struktur gültig (beim letzten Lesezyklus ist kein Fehler aufgetreten).

bError: Sollte ein Fehler bei der Ausführung der Funktion erfolgen, dann wird dieser Ausgang gesetzt.

nErrId: Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer oder einen Befehlsspezifischen Fehlercode zurück (Tabelle).

stStatus: Struktur mit den Statusinformationen der USV.

Fehlercodes

Fehlerbeschreibung

0x0000

Kein Fehler

0x8001

USV-Konfigurationsfehler. Möglicherweise ist die USV nicht richtig oder gar keine USV konfiguriert.

0x8002

Kommunikationsfehler. Die Kommunikation zu der USV wurde unterbrochen. 

0x8003

Fehler beim Lesen der Statusdaten.

 

FB_GetUPSStatus 2:

Nicht alle USV-Geräte können alle Statusinformationen liefern.  Einige Geräte können z. B. keine BatteryLifeTime oder keinen BatteryReplace-Status liefern.

Beispiel für einen Aufruf in FUP:

Online-Daten mit Statusinformationen einer USV:

FB_GetUPSStatus 3:

Voraussetzungen

USV-Hardware

Zielplattform

Entwicklungsumgebung

Einzubindende SPS-Bibliotheken

  • Beckhoff HID UPS;
  • Beckhoff BAPI v1;
  • Beckhoff P24Vxxxx;
  • Beckhoff CP903x-Karte (PCI/ISA);
  • Beckhoff CX2100-09x4 Modelle (z.B. CX2100-0904 oder CX2100-0914 + "Smart Battery" CX2900-0192);
  • Die mit Beckhoff Industrie-PC ausgelieferten APC-Geräte die das Smartprotokoll unterstützen und mit dem Windows USV-Dienst konfiguriert werden können;

PC oder CX

TwinCAT v2.8.0, Build > 745

TwinCAT v2.9.0, Build > 945

TcIoFunctions.Lib

( Standard.Lib; TcBase.Lib; TcSystem.Lib; TcUtilities.Lib werden automatisch eingebunden )

TwinCAT v3.0 und höher

Tc2_IoFunctions