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