PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programmierbare Schnittstelle zum PC



horst
24.01.01, 20:38
Ich bin Programmierer vom Beruf und werde demnächst ein Einfamilienhaus bauen, das ich mit dem EIB-Bus ausstatten möchte. Ich suche nun eine Möglichkeit, den EIB-Bus von meinen eigenen Programmen am PC aus zu steuern. Ich weiß, dass es Schnittstellen zum PC mit div. Software gibt. Für mich ist eine solche Schnittstelle jedoch nur interessant, wenn ich sie von meinem Programm aus ansprechen kann (z.B. über dll's).

Danke

Horst

Ralf Engels
24.01.01, 22:04
Hallo Horst,

diese links werden Dir bestimmt helfen.

http://www.eiba-software.com/
http://www.eiblet.com/

Gruß
Ralf

Martin
06.02.01, 19:49
Hallo Horst !

Ich bin bereits beim Bau meines
Einfamilienhauses und hatte dasselbe
Problem wie du !

Ich habe mich für Visual Basic und den
EIB OPC Server entschieden, da ich eine
Visualisierung auf PC Basis nach meinen
Vorstellungen aufbauen wollte.

Ich bin derzeit soweit, daß ich folgende
Dienste vom PC aus steuern kann:

+ Telefonieren
+ Gegensprechen
+ Türkamera
+ Türöffner
+ Stereoanlage (MP3 und CD's)
- geht derzeit leider nur mit B&O Master Link Anlagen
+ Licht steuern
+ Allgemeines (Internet, E-MAIL, FAX, Geburtstage, etc.)

Ich kann von meiner Seite aus nur sagen, daß du mittels
Programmiersprache wesentlich flexibler bist. Ich
habe mir auch die Software Siemens Home Assistant bzw. früher einmal Bosch Domotik angeschaut. Mit dieser Software
bist du mit dem Hersteller verheiratet und kannst keine zusätzlichen Dienste einbinden.
Somit gibt es für mein Problem nur eine Lösung
den OPC Server zu verwenden - kostet zwar etwas bringt
aber auch etwas !


Gruß
Martin

veitkafka
07.02.01, 10:55
Hallo an alle,
Ich habe auch gerade gebaut und möchte meine Busgeräte nun über den PC ansteuern. Dazu würde ich wie Horst auch gerne direkt programmieren können, am liebsten unter linux und im LAN.
Dazu 2 Fragen:
1. Martin, was ist der OPC-Server, von wem ist der, und was kostet der (nachdem Du so explizit darauf hinweist)? Klingt ja erstmal ziemlich interessant.
2. Hat jemand Erfahrungen mit den Produkten von Schlaps?
http://www.schlaps-automation.de
Da gibt es LAN-Schnittstellen (CCEIBGW) und eine serielle Schnittstelle ohne zeitkritisches, da selbstdefiniertes Protokoll (EIB-Weiche mit OPENEIB, ca. 1000DM). Leider sind die Spezifikationsangaben bzgl. des Protokolls, die ich vorab bekommen habe, nicht sehr aussagekräftig.
Vielleicht weiss hier jemand etwas mehr darüber?

Gruss, Veit

kunde
08.02.01, 12:40
Hallo zusammen,

von Disch (www.disch-gmbh.de) gibt es einen EIB-Linux-Treiber.

Gruß

Dietmar Kunde

Martin
11.02.01, 22:16
Hallo veitkafka !

Zur Frage OPC Server eine
kurze Anleitung - scheint
im ersten Moment vielleicht
etwas kompliziert ist es aber nicht !


OPC Server:

OPC ist die Abkürzung für OLE for Process Control, wobei das aus Windows herrührende OLE wiederum für Object Linking and Embedding steht. Vereinfacht kann man von einer Automatisierungsschnittstelle zwischen EIB und Windows-Programmen sprechen.

Unter Windows98 sieht es beispielsweise so aus,
daß ich einen EIB OPC Server als Gateway zwischen
meinem PC Programm (programmiert unter Visual Basic, C, etc.) und dem EIB Bus habe. Aus der ETS heraus kann ich die
einzelnen Gruppenadressen via Druckbefehl exportieren und
anschließend in den OPC Server importieren. Somit ist
keine zusätzliche Tipparbeit mehr notwendig.

Nach getaner Arbeit existiert innerhalb der Programmiersprache eine "OPC Automation Library" (OPCDAAUTO.DLL) die innerhalb von Visual Basic angesprochen
werden kann (funktioniert natürlich mit allen anderen Programmiersprachen ebenso).

Der Nachteil ist der Preis - ca. 2000 DM habe ich noch
bezahlt - als ich heute im Internet nochmals nachgeschaut
habe waren es nur mehr 200 EUR !
Irgenwo habe ich zuviel bezahlt oder die EIBA hat auf der Homepage einen Tippfehler - den Preis muesste
man nochmals hinterfragen !

Weiters gibt es dieses Ding bislang nur unter "Bill Gates
Betriebssysteme Ges.m.b.H" - also kein Linux, etc.
Genaue Informationen gibt es im Internet
unter http://www.eiba.com (unter Software - eteC OPC Server)
Weiters befindet sich auch auf dieser Seite eine Demoversion zum freien herunterladen (einzige Einschränkung ist die Anzahl der Gruppenadressen)



Ich hoffe dir geholfen zu haben !

Gruß Martin
;-)

Torsten Schmidt
13.02.01, 12:10
Hi
ich stehe vor einem ähnlichen Problem. Ich möchte den EIB-OPC Server verwenden und dann mit Visual Basic oder C++ eine Steuerungssoftware schreiben. Ich möchte es aber vermeiden zusätzlich die Software ETS2 zu benutzen, da es ja mit dem OPC-Server auch möglich sein müsste die Gruppenadressen in die eigene Software zu übernehmen. Es sollte also möglich sein den Bus auszulesen und die gefundenen EIB-Elemente anzuzeigen. Falls jemand jemand hiermit schon Erfahrung hat oder Quellen kennt wäre ich sehr dankbar.

MfG
Torsten

Martin
13.02.01, 14:20
Hallo Torsten !

Ich hätte noch eine Frage zu deinem Posting !

Wie programmierst du deinen EIB Bus ??
Für das Programmieren benötigst du doch
immer die ETS ??

Bei der ETS kannst du ja einmal einen Export
deiner Gruppenadressen machen (via Drucken)
Anschließend benötigst du die ETS nie mehr - höchstens
du änderst an deiner EIB Programmierung etwas.
(vielleicht macht dies dein E-Installateur für dich)

Eine weitere Möglichkeit wäre den OPC Server zu verwenden.
Dieser bietet eine Monitoring Möglichkeit für den Bus.
Du startest einfach den OPC Server - gehst auf den
Monitoring Betrieb - drückst einen Schalter - dieser
sendet ein Bustelegramm welches im OPC Server am Schirm angezeigt wird. Dort siehst du dann die Gruppenadresse
und den gesendeten Wert (EIS1,EIS4, etc.)

Gruß
Martin

Torsten Schmidt
13.02.01, 17:12
Hi Martin
Falls ich das richtig verstanden habe benutzt die ETS ja auch den OPC-Server für den Zugriff auf den Bus also sollte es doch möglich sein direkt über OPC den Bus auszulesen.

Das man mit der ETS die Gruppenadressen in eine Datei drucken kann und dann in den OPC-Server importieren kann weiß ich. (Das ist aber auch alles wofür man die Software gebrauchen kann und das ist ja nicht besonders viel!)

Genau das soll die neue Software miterledigen.
Die Idee dahinter ist über eine Software die auf den OPC-Server zugreift den Bus zu scannen die gefundenen Elemente in dieser Software anzuzeigen (z.B. als Liste mit der jeweiligen Funktion des Gerätes) und diese dannach in einem virtuellen Bedienpanell zu plazieren (z.B. mit Hilfe eines Raumplans). In dieser Anordnung sollen die Geräte dann gesteuert werden. Außerdem sollen versch. Settings. gespeichert werden können.
Ich denke eigentlich das das möglich sein sollte.
Grüße Torsten

Martin
14.02.01, 16:22
Hallo Torsten !

Die ETS wird nur einmal für die Konfiguration
der Buskomponenten benötigt. Falls du nichts mehr änderst kannst du die ETS vom PC entfernen !

Der OPC Server ist ein eigenständiges Produkt
der EIBA und funktioniert auch ohne ETS !

Zum Thema auslesen !

Kann ich mir grundsätzlich vorstellen, daß dies
mit dem OPC Server funktionieren könnte.
Ich Programmiere derzeit mittels Microsoft Visual
Basic und OPC meine Hausvernetzung. Dort verwende
ich aber meistens die Befehle OPCServer.ReadItem und
OPCServer.WriteItem. Ich schaue dir in der Library
(OPCDAAUTO.DLL) einmal nach ob es dort einen Scan Befehl gibt.

ich melde mich wieder !
Martin

Meudenbach
14.02.01, 17:41
Hi Leute,

ich find toll was Ihr da so alles macht. Bin stark an euren individuellen Lösungen interessiert. Wenn die was taugen, könnt Ihr Geld damit verdienen. Wir suchen freie Programmierer, die uns individuelle Lösungen liefern können, damit wir gerade dem Häuslebauer auch günstige Lösungen bieten können. Wer von euch daran interessiert ist, der möge sich doch mal bei mir melden.

.. ansonsten weiter so..

MfG

Mike

Torsten Schmidt
16.02.01, 18:08
Hallo Martin,
wärst du bereit mir deinen Quellcode zu schicken oder zumindestens einen Auszug daraus (z.B. Licht an aus, Dimmer Jalousie) da es sonst im Internet kaum Quellen gibt die sich mit Softwareentwicklung für den EIB beschäftigen. Die Befehle in der DLL habe ich mir zwar angeschaut aber leider sind die nicht so aussagekräftig ohne Bsp. oder Dokumentation. Falls du mir deine Ergebnisse zusenden würdest könnte ich dir dafür die Ergebnisse meiner Diplomarbeit zukommen lassen. Ich habe ja schon kurz erklärt um was es in dieser Diplomarbeit im groben gehen soll.
E-Mail: tschmidt@glueckkanja.de
Danke im Vorraus!

Ach da fällt mir noch ne Frage ein, kann man den EIB nur abfragen (read/write) oder können die Geräte selbst Signale auf best. Ereignisse senden die dann ausgewertet werden können. Kurz gesagt ist eine Prorammierung mit aktivem Warten oder ohne nötig?

MfG Torsten

Meudenbach
16.02.01, 19:05
Hallo Thorsten,

ich hoffe ich habe Deine Frage bezüglich des Abfragens der Geräte richtig interpretiert.

Grundsätzlich lösen die Geräte selbständig Aktionen aus wenn eine Ereignissänderung vorliegt. Sie können auch bei einem bestehendem Ereigniss eine Aktion mehrfach (zykl.) auslösen.

Beispiel: Raumtemperatur > 23° --> Heizung aus. Diese Kommunikation wird selbst. vom Raumtemperaturregler ausgelöst. Weiterhin kann in der Geräteapplikation eingestellt werden, ob der Stellwert für den Heizungsaktor zyklisch gesendet wird (manche Stellantriebe o. Heizungsaktoren benötigen dies, da diese Geräte sonst in Störung gehen (Heizung wird permanent geöffnet und geschlosen) um eine zu hohe Abkühlung des Raumes zu verhindern (eigensicher).

Weiterhin gibt es Möglichkeiten, daß Du Dir den aktuellen Lichtwert eines Dimmers anzeigen lässt, wenn dieser eingeschaltet wird. Für diese Funktionen muß das "ü" - Flag des entsprechenden Objektes eingeschaltet sein. Für diese Funktionen sind mittlerweile auch spezielle Status - Objekte
vorgesehen (besser). Beachte aber bitte, daß Du mit diesem Flag auch sehr schnell Deine Anlage "hochschaukeln" kannst.

Du mußt also nicht die Geräte abfragen um entsprechende Aktionen auszulösen. Dies würde uns auch eine zu hohe Buslast bescheren. Das sog. Pollen benuzt man dann, wenn man erhöhte Sicherheitsanforderungen an die Anlage stellt um diese auch sabotagesicher zu machen (Kontaktabfragen von Meldern, wenn EIB auch als EMA (Einbruchmeldeanlage)eingesezt wird. Anderseits (besser) kannst Du aber auch die Melder zykl. senden lassen und über ein Logikmodul Zeitfunktionen definieren, die beim Ausbleiben einer Meldung eine Störung signalisieren. Aber auch dies ist mit Vorsicht zu genießen!!

Also ich hoffe ich konnte Dir etwas helfen und Deine Frage beantworten.

Und denk bitte Daran, daß Du die Geräteeinstellungen sowie die Zuordnug der Gruppenadressen nur über die ETS vornehmen kannst. Es gibt auch andere Möglichkeiten, aber da mußt Du Dir einen Hersteller suchen, der Dir ein dokumentiertes S19 - File der Geräteapplikation zusendet. Dann kannst Du die entsprechenden Änderungen direkt in den Gerätespreicher schreiben. Um dies zu können mußt Du Dir allerdings einen Hex-Editor programmieren, mit dem ein solch aufwendiges vorgehen möglich ist. Solch ein Programm gibt es schon. Ist aber meines Wissens nur den Herstellern vorbehalten. (Busmonitor - DOS Version von Siemens). Wenn Du einen guten Draht zu einem Hersteller hast, dann frag Ihn doch einfach...

Also viel Spass noch....

Mike

Meudenbach
16.02.01, 19:19
Hallo Leute,

es gab da mal nen paar Studenten, die haben eine Linux - Version der ETS als shareware angeboten. Die Ansätze waren ganz gut, aber ich glaube Sie hatten Probleme mit den Herstellerdatenbanken.

http://www.freets.de (wenn der Server mal läuft...)

Mein Kenntnistand diesbezüglich ist allerdings nicht mehr up to date, da diese Software für mich als "damitgeldverdienender" oder auch EIBGOTT, wie mich manche liebevoll bezeichnen, nicht in Frage kommt.

MfG

Mike

Martin
17.02.01, 23:37
An alle ein Hallo !

Meudenbach:
Habe Interesse an deinem Angebot !
Wie können wir weiterkommunizieren ??


Thorsten
Habe dir nachgeschaut, ob es einen
EIB-BusScan in der OPC Library gibt.
Leider nicht bzw. die OPC.Browser Funktion
verursacht bei meinem PC immer eine
tolle Schutzverletzung !


Gruß
SeM

a hafner
18.02.01, 13:13
Hallo Ihr PC-Freaks,

als EIB-Spezi eines Herstellers und PC-Junkie bin auch ich natürlich auf FreeTS gestossen.

Da die von Mike erwähnte Adresse eigentlich nie ereichbar ist habe ich mich dann ein wenig dahintergehängt und im Oktober 2000 einen der Programmierer ausfindig gemacht.

Der mir dann folgendes Mitteilte:


"Von: Witali Sauter <y0002419@tu-bs.de>

Die Software ist zur Zeit noch nicht fertig. Sie entsteht im Rahmen meiner
Diplomarbeit. Das Program ist mit Java 2 unter Linux implementiert und
verwendet einen fuer Linux implementierten Hardwaretreiber.

Die EIBA-Leute haben uns schon ein bischen Aerger gemacht (davon
lassen wir uns aber nicht einschuechtern) und daher wollen wir das
Programm nicht vor Ende der Diplomarbeit veroeffentlichen.

Wenn wir jedoch fertig sind stellen wir Ihnen das Programm gerne zur
Verfuegung. Wenn sie Fragen haben, koennen sie sich an
all@freets.org wenden.

MFG
W.Sauter "

Leider habe ich seitdem nichts mehr von Ihm gehört ,habe aber auch nicht mehr Angefragt. Auch desghalb weil ich es mir zwar schon lange vorgenommen, aber bisher nicht geschaft habe mich etwas mit Linux zu beschäftigen :-).
So reicht es mir als fortgeschrittener PC-Anwender halt dazu
Programme einigermaßen sinnvoll einzusetzen aber nicht dazu eigene Programme zu schreiben.

ich hoffe das Witali unter der o.g. Mailadresse noch erreichbar ist und Ihr gemeinsam zu einem brauchbaren Ergebnis kommt.

Toll wäre es wenn ihr mich dann auch darüber informiern würdet ...........bin ja schließlich neugierig *fg*

Gruß

Alexander

cs
19.03.01, 12:55
Ich suche eine Übersicht über alle in OPCDAAUTO.DLL enthaltenen Klassen und deren Methoden und Attribute.
Weiß jemand, wo ich eine solche Übersicht finde?

Vielen Dank im Voraus!

Christian L.

Torsten Schmidt
22.03.01, 11:45
Die Dokumentation :
Data Access Custom Interface Standard 2.0 (opcda203_cust.doc)

und
Data Access Automation Interface Standard (opcda20_auto.doc)

gibt es hier:

http://wwwipr.ira.uka.de/~paro/PROGRAMMIERUNG/OPC/opc.htm

MfG Torsten Schmidt

Meudenbach
11.04.01, 08:55
Hi Thorsten, Hi Martin,

teilt mir doch mal bitte mit, wie weit Ihr mit euren Experimenten fortgeschritten seit. Bin echt neugierig, was Ihr da so baut....

MfG

Mike

Martin
12.04.01, 12:15
Hallo Mike !

Da ich mich schon länger nicht mehr gemeldet habe, freut
es mich zu hören, daß immer noch Interesse an der OPC
programmiererei besteht ;-)

Meine Visualisierung wird derzeit immer größer und größer.
Ich programmiere derzeit eher an der Peripherie als direkt
am OPC Server.
Derzeit implementiere ich den neuen Beoplayer von Bang & Olufsen in meine Visualisierung. Somit kann ich MP3's
via Touchpanel beispielsweise im Esszimmer anhören.
Ich habe in diesem Board gelesen, daß es auch einen
IR Empfänger von B&O für EIB gibt. Ich bekomme demnächst
dieses Ding zur Teststellung. Falls es funktioniert wäre dies GENIAL !
Ich könnte somit mittels einer Fernbedienung alle Dinge
im Haus steuern (Heizung, Licht, Jalo, Musik, Video, etc.)


Als nächster Schritt möchte ich mittels B&J Temperatursensor
eine Art Aussentemperaturaufzeichung realisieren - über die Jahre Temperatur und Helligkeit speichern.


Was mir noch fehlt ist die Programmierung der Heizungssteuerung. Ich möchte mittels Stellantrieb und dem B&J Triton Schalter eine visualisierte Temperaturregelung realisieren. Im Keller läuft die Gastherme mittels Standardregelung. Ich konnte von der Firma HOVAL
!!! ENDLICH !!! die Anschlußklemmen für "Sammelalarm" und "Frostschutz Aktivierung" bekommen. Diese Kontakte werde
ich dann auf einen Binärausgang bzw. eine Tasterschnittstelle legen und somit in der Visualisierung abbilden.

Last but not least fehlt mir noch die Programmierung der Alarmanlage. Alle Fenster und Türen haben einen Kontakt eingepflanzt bekommen. Bei der Haustüre habe ich einen
speziellen Kontakt aus dem Conrad Katalog, welcher beim Absperren der Türe via Tasterschnittstelle einen TRUE Wert
sendet. Bei der Haustüre kommt noch ein kleines Display hin,
wo ich dann Statusmeldungen anzeige (z.B: Martin du hast die Terassentüre nicht geschlossen :-)) Da ich eine AGFEO
Telefonanlage habe und die drei Ein-/und Ausgänge besitzt kann ich so bei einem Alarm mein Handy anrufen.

Wie du siehst bin ich noch nicht ganz am Ziel
- aber das kommt noch !

Wenn ich mit dem Hausbau und anschließend mit
der Programmierung fertig bin, kannst du mein Haus
via Internet einmal besichtigen !


Gruß
Martin

as-ffm
28.04.01, 15:48
Hallo Martin,

hab auch schon lange vor meine EIB Installation von meinem PC aus in Visual Basic zu steuern. Leider habe ich noch kein passendes, preiswertes "Werkzeug" gefunden. OPC scheint es ja nach Deinen postings zu sein. Könntest Du mal eine "Kostprobe" Deiner VB-Sourcen veröffentlichen. Zum Beispiel eine Gruppenadresse schreiben oder so? Würde verhindern, dass ich das "Rad" noch einmal erfinde. Die Lizenz des OPC Servers kostet derzeit ca. DM 400, das geht ja noch. Würde nur zu gerne vorher ausprobieren ob es wirklich geht. Es gibt da eine Test-Version des OPC-Servers die auf 30 Tage beschränkt ist und maximal 60 Minuten online bleibt. Damit könnte ich aber mal probieren ob es funktioniert. Hilfreich währe halt ein kleines VB-Testprogramm. :-).

Gruss an alle EIB-Fans

Alfred

Martin
23.05.01, 20:15
Na klar !

Hier ein Beispiel, wie ich eine Gruppenadresse
auslesen kann und abhängig vom Status jeweils
einen True bzw. False Wert sende.

+-----------------------------------------------------+
Dim TheOPCserver As OPCServer
Dim MyGroup As OPCGroup
Dim MyItem As OPCItem
Dim EIBData
Set TheOPCserver = New OPCServer

TheOPCserver.Disconnect
TheOPCserver.Connect ("EIBOPCServer.1")

Set MyGroup = TheOPCserver.OPCGroups.Add("Beleuchtung.Erdgeschoss.1/2/1")
Set MyItem = MyGroup.OPCItems.AddItem("Beleuchtung.Erdgeschoss.1/2/1", 1)
MyItem.Read 1, EIBData, 1, 1

If EIBData = "Falsch" Then MyItem.Write (1) Else MyItem.Write (0)

TheOPCserver.OPCGroups.Remove (MyGroup.ServerHandle)
TheOPCserver.Disconnect
Set TheOPCserver = Nothing
+-----------------------------------------------------+

Viel Spaß damit
Martin
;-)