FB_GetUPSStatus
Voraussetzungen:
- Die Beckhoff USV Softwarekomponenten wurden installiert:
- Windows 7, Windows Embedded Standard 7 und höher: Konfigurationsdialog unter „Start->Programme->Beckhoff->UPS Software Components“.
- NT4, Win2K, WinXP, WinXP embedded: Zusätzlicher Reiter unter „Systemsteuerung->Energieoptionen->Beckhoff UPS Configuration“ oder „Systemsteuerung->Energieoptionen->USV“.
- Beckhoff CE Geräte mit 24V USV-Unterstützung werden mit einem speziellen Beckhoff Battery Driver für Windows CE ausgeliefert. Der Treiber ist bei diesen Geräten in dem Standard CE Image enthalten.
- Die USV wurde aktiviert und konfiguriert. Weitere Informationen zur USV-Konfiguration finden Sie in der entsprechenden weiterführenden USV-Software und Gerätedokumentation.
- Windows 7, Windows Embedded Standard 7 und höher: Konfigurationsdialog unter „Start->Programme->Beckhoff->UPS Software Components“.
- NT4, Win2K, WinXP, WinXP embedded: Konfigurationsdialog unter „Systemsteuerung->Energieoptionen->Beckhoff UPS Configuration“.
- Windows CE: Die USV-Funktion ist standardmäßig deaktiviert und muss über ein RegFile aktiviert werden. Neuere Images beinhalten ein Konfigurationsdialog unter „Start->Systemsteuerung->BECKHOFF UPS Configuration“.
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).
Eingänge
VAR_INPUT
sNetId : T_AmsNetId;
nPort : T_AmsPort;(* 0 = Windows UPS service / Windows Battery Driver *)
bEnable : BOOL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
sNetId | T_AmsNetID | 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 | T_AmsPort | Die ADS-Portnummer. Setzen Sie diesen Wert auf Null. Andere Portnummern sind für zukünftige Anwendungen reserviert. |
bEnable | BOOL | Bei einem gesetzten Eingang wird der USV-Status zyklisch gelesen. |
Ausgänge
VAR_OUTPUT
bValid :BOOL;
bError :BOOL;
nErrId :UDINT;
stStatus :ST_UPSStatus;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bValid | BOOL | Wenn dieser Ausgang gesetzt ist sind die Daten in der ST_UPSStatus-Struktur gültig (beim letzten Lesezyklus ist kein Fehler aufgetreten). |
bError | BOOL | Sollte ein Fehler bei der Ausführung der Funktion erfolgen, dann wird dieser Ausgang gesetzt. |
nErrId | UDINT | Liefert bei einem gesetzten bError-Ausgang die ADS-Fehlernummer oder einen Befehlsspezifischen Fehlercode zurück (Tabelle). |
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. |
Name | Typ | Beschreibung |
---|---|---|
stStatus | Struktur mit den Statusinformationen der USV. |
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:
Online-Daten mit Statusinformationen einer USV:
Voraussetzungen
Entwicklungsumgebung | Zielplattform | USV Hardware | Einzubindende SPS-Bibliotheken (Kategoriegruppe) |
---|---|---|---|
TwinCAT v3.1.0 | PC oder CX (x86, x64, ARM) |
| Tc2_IoFunctions (IO) |