NVRAM: Hardware Support

Note

Since V6.4.6, ASCET‑RP supports only the ES900 hardware system.

Projects with an ES1000  hardware configuration cannot be used.

To work with RTPRO-PC  hardware configurations, you have to use an external INTECRIO V4.7.2 or older as hardware configurator (see Selecting an External Hardware Configurator).

Non-volatile RAM (NVRAM) is available on the ES910 and on RTPRO-PC. In this memory range, data can be stored which has to be available after a power failure or longer than one power-on cycle.

Due to performance reasons (access to the NVRAM is significantly slower than access to the normal, volatile RAM and, in addition, cannot be cached), NV variables are not directly allocated to the NVRAM. Instead, they are allocated like normal, volatile variables to normal RAM, and periodically saved to the NVRAM (auto-update mode). The period is by default set to 10 seconds; it can be configured with the following API method (see also API Functions – NVRAM) in the range from 1 second to 30 seconds:

uint32 nvramSetUpdateInterval(uint32 interval_sec)

Saving to the NVRAM is done within the idle task, it does not affect the real-time behavior of the model.

For reasons of data consistency, the NVRAM is organized as alternation buffer which halves the available capacity. Furthermore, there is some overhead involved which reduces the NVRAM capacity available to the ASCET model to a little less than half of the available capacity. The following table lists the available NVRAM capacities for the respective targets.

available NVRAM

ES910

RTPRO-PC (outdated)

on target

32 kByte

depends on USB stick used as persistent memory

in ASCET

< 16 kByte

< half the available capacity

The ES910 or RTPRO-PC firmware ensures that the capacity limit is respected. If the cumulative size of NV variables exceeds the NVRAM capacity, an "NVRAM overflow" error message appears in the ASCET monitor window at the start of the experiment. In this case, the NVRAM is not used, i.e. no values are written to it. In order to be able to use the NVRAM, the user needs to reduce number and/or size of NV variables in the model.

NV identifier

The NVRAM data contain neither address information nor the names of the variables. Therefore, they correspond to the model only if the structure of the NV variables in the model did not change after the last update. To check this, a special NV identifier is created during code generation.

This NV identifier changes upon the Closedfollowing actions.

The NV identifier does not change upon the Closedfollowing actions.

See also

NVRAM Safety Information

API Functions – NVRAM

NV Variable Initialization and Update

NVRAM: Data Consistency

NVRAM Cockpit

NVRAM: Tips