Process Server Programming

31.08.2006 11:47



Product: Elvis
Version: 2.5
Stand: 2006-08-31


This article presents two solutions for the following problem:

A display shall be implemented whether one of several switch channels (e.g. light) is switched on. If that is the case, by a click all channels shall be switched off (central off).


For implementing the display in both solutions an OR Logic in Elvis is used. This is simple:

  • Select all datapoints to be summarized in the datapoint list (these datapoints are called individual datapoints in the following)
  • Click Extras > Execute > Wizards > Logic Operation in the menu
  • Enter a name for the new datapoint and select “OR” as operation.

By this a new datapoint is added (called summary datapoint in the following), whose ActualValue is True (On) whenever at least one of the ActualValues of the individual datapoints is True (On).

For collectively switching off there are two options:

  1. Via a central address
    With this (KNX/EIB specific) mechanism all channels are switched off with a single group telegram.

    1. First in ETS a new group address for the central function has to be added and assigned as second address to the switch objects of the actuators.
    2. In order to update the individual datapoints correctly when switching via the central address, add the central group address into the column Address of the datapoint list as second address (separated with a semicolon).
    3. The central address can be assigned to the summary datapoint. Since this is only for sending prepend the address with a “greater than” character, e.g. “>01/1/100”.

    In the example, this mechanism is implemented for the datapoints “Wohnen” and “Arbeitszimmer” (sorry for the german names).

  2. Via individual addresses
    Here, Elvis generates an Off command for every channel. For many channels this will generate quite some bus load. In order to send multiple group telegrams when the NominalValue of the summary datapoint changes, the NominalValues of the individual datapoints must be set by a calculation:

    1. For each individual datapoint, click into the column Calculation
    2. Select “NominalValue” from the list (this shall be calculated)
    3. Enter the following formula:
      //CODE:vb:If @(Sammeldatenpunkt).NominalValue = 0 Then Result = 0 End If//CODE

      Replace “summary” by the actual name of the summary datapoint. The effect is that whenever the NominalValue of the summary datapoint gets 0, also the NominalValue of the individual datapoint is set to 0 (this triggers the sending of ths group telegram).

    In the example, this mechanism is implemented for the datapoints “Esszimmer” and “Kochen”.

Download of the example project