FB_HVACNOVRAMDataHandling

FB_HVACNOVRAMDataHandling 1:

Mit diesem Funktionsbaustein werden SPS-Variablen spannungsausfallsicher ins NOVRAM geschrieben. Nach einem Spannungsausfall oder nach einem Neustart der Steuerung wird das NOVRAM komplett ausgelesen.

Das Verhalten vom Funktionsbaustein sieht wie folgt aus, wenn beim Starten alles korrekt war:
udiStatus:= 1;
iNovRamReadCount:= 1;
iNovRamWriteCount:= 0;
bDone:= TRUE;

FB_HVACNOVRAMDataHandling 2:

Bei ARM basierten Laufzeitsystemen bitte darauf achten, dass die Speicheradressen der SPS-Variablen durch 4 teilbar sind!

Die global deklarierten Variablen g_dwHVACVarConfigStart und g_dwHVACVarConfigEnd werden mit der Anfangsadresse und Endadresse des Speicherbereiches lokiert. Der Anwender muss darauf achten, dass es nicht zu Speicherüberlappungen kommt. Aus den beiden Adressen wird dann intern die Blockgröße ermittelt. Der gesamte Merkerbereich wird automatisch bei Änderung der Merkervariablen in das NOVRAM weggeschrieben.

VAR_INPUT

sNETID            : T_AmsNetId; 
TMOUT             : TIME;    
udiDevID          : UDINT;   
usiBlockSize      : USINT; 

sNETID: AmsNetId des TwinCAT-Rechners auf dem die Funktion ausgeführt werden soll. Für den lokalen Rechner, kann auch ein Leerstring angegeben werden.

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

udiDevID: Über die Geräte-ID wird das NOVRAM des CX90xx oder CX10xx spezifiziert, auf das mit dem Funktionsbaustein schreibend oder lesend zugegriffen werden soll. Die Geräte-IDs werden während der Hardware-Konfiguration vom TwinCAT System Manager festgelegt.

FB_HVACNOVRAMDataHandling 3:

usiBlockSize: Die Blockgröße auf die pro Lese-/Schreibzyklus zugegriffen wird, wird in Prozent angegeben, z. B. 20, d.h. es werden 5 Lese-/Schreibzyklen benötigt, um auf den gesamten Merkerbereich zuzugreifen.

VAR_OUTPUT

udiStatus           : UDINT;
iNovramReadCount    : INT;  
iNovramWriteCount   : INT; 
bDone               : BOOL;
bBusy               : BOOL; 
bError              : BOOL;
udiErrorID          : UDINT;

udiStatus: =0, kein Status

=1, gültige Daten beim letzten Lesen des NOVRAM

=2, ungültige Daten beim letzten Lesen des NOVRAM. Daten wurden verworfen.

iNovramReadCount: Zähler, der beim Auslesen des NOVRAM um 1 inkrementiert.

iNovramWriteCount: Zähler, der beim Beschreiben des NOVRAM um 1 inkrementiert.

bDone: Wird auf TRUE gesetzt, wenn der Funktionsblock ausgeführt wurde.

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorID enthalten.

udiErrorID: Enthält den befehlsspezifischen Fehlercode (siehe ADS Return Codes).

Voraussetzungen

Entwicklungsumgebung

erforderliche Bibliothek

Erforderliche Function

TwinCAT 3.1 ab Build 4022.16

Tc2_HVAC V3.3.1.0

TF8000 | TC3 HVAC V1.0.0.0