![]() |
Easy and unlimited visualization of the EIB. Without Visu-License-costs!
Highlights:
Applications:
Introduction:
EIB.VB is the EIB-interface to Visual Basic from Microsoft. To create an own visualization you only need Visual Basic or ACCESS or EXCEL from Microsoft Office. The interface to the EIB is the EIB-ASCII-Terminal (serial buscoupler to EIB) or the EIBWeiche. A software to create EIB-process-items and several examples in source code belong to the package content.
The European Installation Bus EIB gains more and more influence. The available visualizations are either very simple and so don't full-fill the wishes of the customers or the beginning with a complex visualization is expensive and time intensive. With EIB.VB you use Visual Basic from Microsoft to create your visualization desktop.
How to program process-items?
Only three commands are necessary. x = EIB.Value("0/0/1") returns a value from the EIB, EIB.Value("0/0/1") = x writes a value to the EIB and EIB.read("0/0/1") requests a value from a groupaddress. It doesn't matter if the value is a switch-, dim- or temperature value.
To program a switch, which should turn on a light, you have to place a command button in the VB-form, enter a caption and make a double-click on the button. VB automatically creates the program code:
Private Sub L1_on_Click()
End Sub
From the program examples you add: EIB.Value("0/0/1") = "1",
so the program code looks like this:
Private Sub L1_on_Click()
EIB.Value("0/0/1") = "1"
End Sub
To turn the light off you write: EIB.Value("0/0/1") = "0"
If the same switch should turn the light on and off, select from the program examples the following code:
Private Sub L1_Click()
If EIB.Value("0/0/1") <> "1" Then
EIB.Value("0/0/1") = "1"
Else
EIB.Value("0/0/1") = "0"
End If
End Sub
Does EIB.VB support logic functions?
There are almost no limits for the programmer. Based on the program examples is relative easy to realize logics, scenes, time functions, loggings, statistics and much more.
The following example shows, how to check, if there is still a light on in the house. To simplify the example, we suppose that only 3 lights exist. An or-Function is needed. If one of the three lights is on (0/0/1 bis 0/0/3), so groupaddress 12/0/0 = 1, otherwise 0.
Private Sub Is_still_light_on()
If EIB.ObjValue("0.1.12_1") = "1")
or EIB.ObjValue("0.1.12_2") = "1")
or EIB.ObjValue("0.1.31_0") = "1")
Then
EIB.Value("12/0/0") = "1"
Else
EIB.Value("12/0/0") = "0"
End If
End Sub
In this case it is important, that as sources not only groupaddress, but actor-objects are used. To recognize the difference the following example is used:
A combination-actor is used, where two lights E1 and E2 are connected. So the according switch-objects are 0.0.12_1 and 0.0.12_2. The third light is connected to the actor 0.1.31 at object 0 (0.1.31_0).
The object 0.0.12_1. has the following groupaddresses:
0/0/1, 14/1/0 and 14/0/0.
0/0/1 switches the light E1 from the local switch in the room
14/1/0 is a central function and switches all lights in the floor
14/0/0 is a central function and switches all lights in the building (i.e. over a time function).
If the light E1 is locally switched on, the groupaddress 0/0/1 has the value 1. If the time function then switches all lights off, the value of the groupaddress 0/0/1 only changes, if you request the value of the groupaddress with a request-telegram or the groupaddress 0/0/1 sends a status-telegram automatically on the bus if the value of the object changes. Both solutions have the disadvantage of high busload. To avoid this you use the object mode. Here EIB.VB automatically recognizes, that the central-function (i.e. 14/0/0) switches more than one light and updates the value of the object. This saves busload and returns the values much more faster and the visualization can display the correct image without delay.
Now everybody can write his own visualization, without high starting costs and license-costs.
Content of Package:

