Skip to content

Math Parameters🔗

Math Parameters can be used to create complex values that take into account multiple channels.

Math Parameters can be found under the Tools menu in VCM Scanner.

The most commonly used Math parameters are built in (Predefined). The software allows room for 10 User defined parameters.

If your user defined math parameter is generic enough that you think others might use, please e-mail it to us and we can add it to our Predefined list.

User math parameters are stored in the local computers "VCM Scanner.cfg" file. They are not distributed with any Channel or Layout config. If you build a layout against user defined math parameters, anyone you share it with will not be able to display those controls unless you also share the math parameter, and the recipient loads the math parameter into the same slot as you.

If you define a function as a logical expression using AND OR = < or >, the result will return 1 for true and 0 for false.

Expressions🔗


Calculated Examples:

•100 * ([50119.238] - [50118.238]) / [50118.238]

•([2126.240] * ([6210.71] / 1000) * [50112.254] * [50121]) / [50030.91]

Conditional Examples:

•[50010] > 25

•([50010] > 25 OR [25] = 50) AND [3131] > 10

Supported Binary Operations

Icon Description
+ Sum up two operands.
- Subtract two operands.
* Multiple two operands.
/ Divide two operands.
^ Raise to a power.

Supported Relational Operations

Function Description
> If x > y, result is 1. If not, result is 0.
< If x < y, result is 1. If not, result is 0.
= If x = y, result is 1. If not, result is 0.

Supported Conditional Operations

Function Description
AND If x = 1 (TRUE) and y = 1 (TRUE), result is 1. If not, result is 0.
OR If x = 1 (TRUE) or y = 1 (TRUE), result is 1. If not, result is 0.
& If x = 1 (TRUE) and y = 1 (TRUE), result is 1. If not, result is 0.
| If x = 1 (TRUE) and y = 1 (TRUE), result is 1. If not, result is 0.

Supported Functions

Function Description
sin(x) Returns the sine of x where x is in radians.
cos(x) Returns the cosine of x where x is in radians.
tan(x) Returns the tangent of x where x is in radians.
abs(x) Returns the absolute value of x.
round(x) Returns the whole number nearest x
ave(x) Returns the average over x milliseconds.
slop(x) Returns the slope over x milliseconds.

Variables🔗


Examples (case insensitive):

•[12345]

•[12345.slope(x)]

•[12345.avg(x)]

•[12345.avg(x).10]

•[12345.avg(x).mph]

•[12345.10.avg(x)]

•[12345.mph.avg(x)]

Syntax🔗

Variables are contained within []'s.

Variables represent the master Parameter ID, units, and a modifier.

You can specify the units for a variable by using the Unit ID (preferred method), or by typing out the unit (not as reliable).

Variable Modifiers (case insensitive):🔗

  • avg(x), where x is in milliseconds This will construct a trapezoid for the variable between (time - x) and time, and calculate the average.

  • slope(x), where x is in milliseconds This will simply take the variable at time, and (time - x), and calculate the slope.

A value of (x) that is positive represents a direction looking backward in time.

A value of (x) that is negative represents a direction looking forward in time. Variables that have modifiers with (-) amounts only work during playback. During live scanning, we don't have the future data yet.

Variable Wizard🔗


Use the Variable Wizard to help define variables. It does all the hard work for you to create valid []'s.

Display🔗


For both Predefined and User Math Parameters, in the bottom right of the Manager window, it will show you the decoded variables into readable understandable meanings.

Variables that are highlighted in pink are not currently supported by the active Channel configuration.

↑