XCommand event definitions

The definition of XCommands provides the possible linkage of logical functions between multiple different server items. The defined XCommands can be executed by defining events which react on input value of the involved server items.

File location of configuration:

<WorkspaceDirectory>\EventFiles\nxaXLogicEvents.dat

Changes within this definition file are immediately effective after saving. Server restart is not required.

Col#

Name

Description

Col#

Name

Description

1

Name

The name of the XCommand instance. Must be unique.

2

Variable group

The scope in which the used internal variables of the XCommand are valid. All XCommand instances that are configured for the same variable group access the same internal variables. This means that all XCommand instances share the same internal variables. If left empty, the instance name (column 1) is used as variable group.

3

Type

Specifies under which conditions and circumstances the XCommand shall be triggered. The following types are available:

  • ON_START: the XCommand is executed once when the NETx BMS Core Server starts.

  • ON_STOP: the XCommand is executed once when the NETx BMS Core Server stops.

  • ON_INPUT*: executes the XCommand whenever one input item changes its value.

  • ON_VALUE_CHANGE*: the XCommand is only executed when one of the input items are changing.

  • ON_VALUE_RISING*: the XCommand is only executed when one of the input items are changing and the new value is greater than the last one. When working with boolean values, TRUE is higher than FALSE.

  • ON_VALUE_FALLING*: that the XCommand is only executed when one of the input items are changing and the new value is lower than the last one. When working with boolean values, TRUE is higher than FALSE.

  • ON_ABOVE_LIMIT*: the XCommand is only executed when one of the input items is above a limit.

  • ON_BELOW_LIMIT*: the XCommand is only executed when one of the input items is below a limit.

  • ON_TIMER: the XCommand is cyclically triggered.

  • ON_TIMER_AND_INPUT*: the XCommand shall be triggered cyclically and whenever any of the input items changes.

Types that are marked with an * require XCommands with an input field that gets tracked. E.g. XCommand SCRIPT will not work with these types (on saving the definitions, an error message will be logged).

4

Options

Depending on the selected type, different options can be specified here:

  • ON_START: no options.

  • ON_STOP: no options.

  • ON_INPUT*

    • Trigger on start (default is false). If true, the logic is also executed on server start-up.

    • Synchronous call (default is false). If true, the logic is executed synchronous i.e. no other server tasks or events are triggered until the execution is finished.

    • Trigger on uncertain value: If true, the logic is also executed when a value changes from good quality to uncertain.

  • ON_VALUE_CHANGE*

    • Tolerance: value range which must be exceeded between two values in order to trigger the event.

    • Trigger on start (default is false). If true, the logic is also executed on server start-up.

    • Trigger on uncertain value: If true, the logic is also executed when a value changes from good quality to uncertain.

  • ON_VALUE_RISING*

    • Tolerance: value range which must be exceeded between two values in order to trigger the event.

    • Once: if enabled, the XCommand is executed a single time after it begins to rise. 

  • ON_VALUE_FALLING*

    • Tolerance: value range which must be exceeded between two values in order to trigger the event.

    • Once: if enabled, the XCommand is executed a single time after it begins to fall.

  • ON_ABOVE_LIMIT*

    • Limit: value that must be exceeded.

    • Once: if enabled, the command is only executed a single time after the limit is exceeded.

    • Hysteresis

  • ON_BELOW_LIMIT*

    • Limit: value that must be exceeded.

    • Once: if enabled, the command is only executed a single time after the limit is exceeded.

    • Hysteresis

  • ON_TIMER

    • Timer type (cyclic or time). If cyclic is selected, the logic will be triggered in a cyclic interval. If time is chosen, the logic will be triggered every day at a given point in time. 

    • Interval: The interval in seconds.

    • Time: The time at which the XCommand shall be executed every day.

  • ON_TIMER_AND_INPUT*

    • Timer type (cyclic or time). If cyclic is selected, the logic will be triggered in a cyclic interval. If time is chosen, the logic will be triggered every day at a given point in time. 

    • Interval: The interval in seconds.

    • Time: The time at which the XCommand shall be executed every day.

Types that are marked with an * require XCommands with an input field that gets tracked. E.g. XCommand SCRIPT will not work with these types (on saving the definitions, an error message will be logged).

5

XCommand

The XCommand that shall be executed. To assist in selecting the inputs, outputs, and parameters, a dialog is available which can be open via the "..." button.

6

Inputs

The inputs of the XCommand. If the XCommand is selected via the dialog, this parameter is filled automatically.

7

Outputs

The outputs of the XCommand. If the XCommand is selected via the dialog, this parameter is filled automatically.

8

Parameters

Parameters of the XCommand. If the XCommand is selected via the dialog, this parameter is filled automatically.

9

Description

Optional description of the XCommand. The value is only used for documentation purposes.

10

Comment

Optional comment of the XCommand. The value is only used for documentation purposes.