Create Virtual Variables


 

Create Virtual Variables

Virtual variables are used to create new calculated variables that are a mathematical function of one or more sensor readings. Virtual Variables can be used as any other sensor in the system. Add it to a plot and configure for an alarm.

Configure Virtual Variables (VV)

Go to Setup → Virtual Variable.

Click + button in the top right corner to create a new VV.

Here is a basic sensor calibration Equation. Notice the $1612$ which is the Variable ID. All variables in the equation will be listed in the Variable table.

A screenshot of a computerDescription automatically generated

Match Timestamps

When the Virtual Variable Equation includes variables from more than one Site and they have different logging periods the Non-Matching Timestamps option can be selected.

When the option is selected the following controls become available:

A screenshot of a computerDescription automatically generated

Match Timestamp Calculation Example

The following variables are being used in an equation

Sensor Sensor Update Rate Sensor update time (HH:MM)
A Hourly HH:56
B Hourly HH:31
C 15 Minutes HH:00, HH:15, HH:30, HH:45

Scenario 1.

Equation Main Variable Pre Buffer Post Buffer
A + C Sensor C 30 min 30 min

The VV calculates the formula at 15 minute intervals where the C uses its own data and looks for data in A 30 minutes before and 30 minutes after.

Scenario 2.

Equation Main Variable Pre Buffer Post Buffer
A + B + C Sensor A 30 min 5 min

The VV calculates the formula hourly with the timestamp as HH:56.

A uses its own data and looks for data in C and B 30 minutes before and 5 minutes after. This means that at HH:56 if it does not find data for both B and C in the range 30 minutes before and 5 minutes after it will not return anything. However as B has updates at HH:31 and C at HH:00 this scenario will return value.

Note that it would have found data for C at HH:00, HH:30 and HH:45. It would use the HH:00 measurement as that is the closest one.

Scenario 3.

Equation Main Variable Pre Buffer Post Buffer
A + B + C Sensor C 25 min 20 min

The VV calculates the formula at 15 minute intervals.

At HH:00 the buffer doesn't reach Sensor B so no reading will be returned there.

At HH:15 the buffer finds values from both A and B and returns normal values

At HH:30 the buffer doesn't reach Sensor A so no reading will be returned there.

At HH:45 the buffer finds values from both A and B and returns normal values

If the time is 9:50, the data for Sensor A hasn't been read yet so Scenario 3 will only return the reading for 9:45 after Sensor A has received it's data at 9:56

Wait until post buffer is reached

If this option is selected, the calculations will wait until the timestamp of the post buffer is reached to return a value.

Example:

If the current time is 08:53 and the post buffer is set to 10 minutes from the main variable which updates every hour the calculation will not be made until the post buffer timestamp is reached even though the prebuffer finds a valid timestamp.

Time Variable

It is possible to have a different formula for different time period. This is useful if the sensor has been replaced or re-calibrated and a new formula is needed.

Check the Time Variable checkbox to activate the Time variable. A date picker appears above the equation to select the data when this formula starts.

A screenshot of a computerDescription automatically generated

To add a new time period click the + button below the first equation calculation example.

A screenshot of a computerDescription automatically generated

VV Constants

It is simple to add constants into the Equation to make it easier to manage and read.

Expand the Constant section and add a new constant. It is possible to add multiple constants.

Rate of Change

The rate of change is used to calculate how fast a sensor value changes. This is useful to indicate a flood or a landslide or any sudden movement that is otherwise hard to detect. RoC for a sensor value may be plotted just like the sensor value itself.

A screenshot of a computerDescription automatically generated

The Precision is selected in the drop down menu and indicates the numerical precision of the results.

The Interval can be in minutes, hours or days, RoC is calculated for this time interval

The Unit can be in seconds, minutes, hours or days. The RoC unit allows the user to plot the average difference for specific units for the RoC.

Example 1: RoC with an Interval of 1 day and a Unit of 1 day, means that the user is plotting the Rate of Change for each timestamp (the Unit) comparing it to the one exactly 1 day back (the Interval). So if the current value is 7 and the value exactly 1 day ago was 4 then the RoC value is equal 3.

Example 2: RoC with an Interval of 24 hours and 1 hour Unit, means that the user is plotting the average difference per hour (the Unit) for those 24 hours (the Interval).

Sometimes it is of interest to plot both a sensor value and its RoC which gives a clear picture of how RoC behaves. In order to plot both the sensor value and its RoC value you need to create a virtual variable of the sensor value and then choose to plot one of the two as a normal trend line and the other as RoC

VV Datum

Often there is a need to use a baseline reading in the equation. The Datum feature is useful for this purpose.

Expand the Datum Section and click Select.

Select Site, Variable and Timestamp for the Datum Reading. VDV will automatically select the oldest reading in the database. Click Select to select the Datum value.

A screenshot of a computerDescription automatically generated

Now we can change the baseline reading (8553.91) and simply type in datum. When the Datum reading is changed the formula is updated at once.

A screenshot of a computerDescription automatically generated

Calculation Example

If your Virtual Variable contains another Virtual Variable then the calculation example will not work.

When a VV has been created it is a good practice to make sure it is working properly.

Expand the Calculation Example section.

Change the Value for each Variable in the equation and see how the result changes.

A screenshot of a calculatorDescription automatically generated