FB_S_UPS_CX9020_U900
Notice | |
Loss of data If other applications or the PLC keep further files open or write to them, file errors may occur if the 1-second UPS switches off the controller. |
In the case of the CX9020 the function block FB_S_UPS_CX9020_U900 is used to control the 1-second UPS from the PLC. If possible, use the default values of the FB_S_UPS_CX9020_U900 and call the function block cyclically in the PLC.
The 1-second UPS can be used only for a few seconds in the event of a power failure in order, to save persistent data. The data must be saved in the fast “persistent mode” “SPDM_2PASS”, even though this can lead to real-time violations. Make sure you configure adequate router memory for saving the persistent data.
Irrespective of the mode and irrespective of whether data were saved or the quick shutdown was executed, the 1-second UPS switches off the mainboard after the discharging of the capacitors.
Function block modes
A QuickShutdown is performed automatically in the eSUPS_WrPersistData_Shutdown mode (standard setting) after the storage of the persistent data.
In the eSUPS_WrPersistData_NoShutdown mode only the persistent data are saved, no QuickShutdown is performed.
In eSUPS_ImmediateShutdown mode a quick shutdown is executed immediately, without saving data.
In the eSUPS_CheckPowerStatus mode only a check is performed as to whether a power failure has occurred. If this is the case, the function block only switches back to the PowerOK state after the expiry of tRecoverTime (10s).
Inputs
VAR_INPUT
sNetID : T_AmsNetId:= ''; (* '' = local netid *)
iPLCPort : UINT; (* PLC Runtime System for writing persistent data *)
tTimeout : TIME := DEFAULT_ADS_TIMEOUT; (* ADS Timeout *)
eUpsMode : E_S_UPS_Mode := eSUPS_WrPersistData_Shutdown; (* UPS mode (w/wo writing persistent data, w/wo shutdown) *)
ePersistentMode : E_PersistentMode := SPDM_2PASS; (* mode for writing persistent data *)
tRecoverTime : TIME := T#10s; (* ON time to recover from short power failure in mode eSUPS_WrPersistData_NoShutdown/eSUPS_CheckPowerStatus *)
END_VAR
Name | Type | Description |
---|---|---|
sNetID | T_AmsNetId | AmsNetID of the controller |
iPLCPort | UINT | Port number of the PLC runtime system (851 for the first PLC runtime system, 852 for the second PLC runtime system, etc.). If you do not specify a port number, the function block then automatically determines the port of the PLC runtime system. |
tTimeout | TIME | Timeout for writing the persistent data or the quick shutdown |
eUpsMode | E_S_UPS_Mode | Defines whether persistent data are to be written and whether a quick shutdown is to be executed. The default value is eSUPS_WrPersistData_Shutdown, i.e. a quick shutdown is executed automatically once the persistent data have been saved. |
ePersistentMode | E_PersistentMode | Mode for writing the persistent data. Default value is SPDM_2PASS. |
tRecoverTime | TIME | Time after which the UPS reverts to the PowerOK status in the event of UPS modes without shutdown. tRecoverTime must be somewhat longer than the maximum holding time of the UPS in order to ensure that the capacitors are fully charged. |
Outputs
VAR_OUTPUT
bPowerFailDetect : BOOL; (* TRUE while powerfailure is detected *)
eState : E_S_UPS_State := eSUPS_PowerOK; (* current ups state *)
END_VAR
Name | Type | Description |
---|---|---|
bPowerFailDetect | BOOL | TRUE during power failure. FALSE if the supply voltage is present. |
eState | E_S_UPS_State | Internal state of the function block |
Global Variables
VAR_GLOBAL
eGlobalSUpsState : E_S_UPS_State; (*current ups state*)
END_VAR
Name | Type | Description |
---|---|---|
eGlobalSUpsState | E_S_UPS_State | Internal state of the function block as global copy of VAR_OUTPUT |
eState | E_S_UPS_State | For values see E_S_UPS_State |
Requirements
Development environment | Target platform | Hardware | PLC libraries to include |
---|---|---|---|
TwinCAT v3.1 B4016 | CX9020-U900 | 1-second UPS | Tc2_SUPS |