Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

title
Info

File location of configuration:

<WorkspaceDirectory>\EventFiles\nxaXLogicEvents.dat

Info

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

Info

Since version R2 Build 2071, there is second XCommand event definition file:

<WorkspaceDirectory>\DataFiles\nxaXLogicEvents.VT.dat

This file is automatically generated by the template engine of the visualization editor and loaded after the original definition file.

Col#

Name

Description

1

Name

This parameter defines the name of

A name for the XCommand instance

. The name must be unique

.

2

Variable group

This parameter defines the scope where

The scope in which the used internal variables of the XCommand are valid. All XCommand instances that are

using

configured for the same variable group

are accessing

access the same internal variables. This means that all XCommand instances

are sharing

share the same internal variables. If left empty, the instance name (column 1) is used as variable group.

3

Type

This attribute defines when

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

possible

available:

"
  • ON_START

" means that
  • : the XCommand is executed once when the NETx BMS Core Server starts.

"
  • ON_

TIMER" triggers
  • STOP: the XCommand

cyclically (the interval in seconds can be specified in "Options" column)."
  • is executed once when the NETx BMS Core Server stops.

  • ON_INPUT

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

"
  • ON

_TIMER_AND
  • _

INPUT" is used for XCommands that shall be triggered cyclically and whenever one input item changes.
  • "ON_STOP" means that the XCommand is executed once when the NETx BMS Core Server stops.
  • "ON_
    • VALUE_CHANGE

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

    "
    • ON_VALUE_RISING

    " means that
    • *: 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

    " means
    • *: 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

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

    "
    • ON_BELOW_LIMIT

    " means that
    • *: 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_

    TIMER": time interval (in seconds)
    • STOP: no options.

    "
    • ON_INPUT

    ": trigger "ON_VALUE_CHANGE": tolerance
    • *

      • 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.

  • "ON_TIMER_AND_INPUT": time interval (in seconds).
  • "ON_STOP": no options.
      • 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
    • *

      • Tolerance: value range which must be exceeded between two values

    . "'Once"' means that the command is only executed once
      • in order to trigger the event.

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

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

    ": tolerance
    • *

      • Tolerance: value range which must be exceeded between two values

    . "'Once"' means that the command is only executed once
      • 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"' which
    • *

      • Limit: value that must be exceeded.

    "'Once"' means that
      • Once: if enabled, the command is only executed

    once
      • a single time after the limit is exceeded.

    In addition, a hysteresis can be specified too."
      • Hysteresis

    • ON_BELOW_LIMIT

    ": "'limit"' which
    • *

      • Limit: value that must be

    underrun
      • exceeded.

    "'Once"' means that
      • Once: if enabled, the command is only executed

    once
      • a single time after the limit

    is underrun. In addition, a hysteresis can be specified too
      • 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

    parameter defines 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

    This parameter defines the

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

    7

    Outputs

    This parameter defines the

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

    8

    Parameters

    This parameter defines the 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.