Ergebnis 1 bis 11 von 11

Thema: Bustelegramme über ein VB Programm senden

  1. #1
    Martin ist offline Registrierter Benutzer
    Registriert seit
    Feb 2001
    Beiträge
    13

    Bustelegramme über ein VB Programm senden

    Ich habe im Jahr 2001 mein eigenes Haus mit dem
    EIB Bus ausgestattet und eine Visualisierung auf
    Basis OPC Server und Visual Basic 6 programmiert.
    Derzeit werden folgende Teile bei meiner
    Visualisierung abgedeckt:
    - Licht/Jalo/Heizung
    - Anrufbeantworter/Telefon/E.Mail/Fax
    - Stereoanlage (MP3/SAT/Radio/CD Vernetzung im kompletten Haus)
    - Alarmanlage/Anwesenheitssimulation
    - Türkontakte/Türöffner/Webcam
    - Protokollierung von Alarmen/Türkontakten/Bewegungsmelder, etc.
    - allgemeine Info's (Erinnerung an Geburtstage/Namenstage, etc.)

    Ich möchte nun meine Visualisierung wieder ein wenig
    auf Vordermann bringen und einen OLE Server programmieren
    der EIB Zugriffe über einen OLE Client steuert. Mein
    Wunsch wäre es meine HeimVisualisierung Web-fähig zu
    gestalten und mittels PDA auch eine Art Fernbedienung
    fürs komplette Haus zu programmieren.

    Derzeit sehe ich leider nur das Produkt Falcon Developer
    oder Elvis um diese Anforderungen abzudecken.
    Beide Dinger kosten nicht wenig und aus diesem
    Grund wollte ich mal nachfragen ob jemand da
    draussen Erfahrungen im Umgang mit dem Senden
    von Bustelegramme in einem Visual Basic Programm
    hat.

    Derzeit bin ich so weit, dass ich die serielle ansprechen kann,
    der Aufbau des Datenstroms eines BusTelegrammes habe ich
    über die Telegramm Analyse mit der ETS herausgefunden.
    Das Telegramm im HEX Format habe ich binär umgewandelt
    und sende es nun über die serielle Schnittstelle in den
    Bus. Leider bekomme ich kein Lebenszeichen auf dem Bus
    (via Busmonitor kontrolliert). Vielleicht ist mein Ansatz
    auch zu naiv einen eigenen kleinen OPC Server selbst zu
    programmieren. Falls dies so sein sollte bin ich über
    eure Kommentare dankbar - denn dann kann ich mit
    der Testerei aufhören.

    Gruß
    SeM
    ;-)
    SeM

  2. #2
    Martin ist offline Registrierter Benutzer
    Registriert seit
    Feb 2001
    Beiträge
    13
    Ich bin mittlerweile ein wenig weiter mit
    meinen seriellen Experimenten, leider
    fehlt mir noch ein kleiner Schlüssel
    zum Erfolg.

    Meine bisherigen Ergebnisse:

    1.) Die Komponente "Microsoft Comm Control" ins Projekt einfügen
    2.) mittels MScomm1.DTREnable = True das DTR Signal
    der seriellen Schnittstelle auf True setzen
    3.) MSComm1.RTSEnable = True aktivieren ("Request to send" )
    Dann meldet der Busankoppler ein CTS = True (Clear to send)
    4.) Mit MSComm1.Output = "BCA12D0A0AE10081AF" + vbcr
    die Daten senden.

    Telegramm senden Aufbau:
    +-------------------------------+
    BC = Kontrollbyte (BC=hex -> 1011 1100=bin und bedeutet
    niedrige Übertragungspriorität (das 11 bei 1100)

    a1 2d = Quelladresse (20.1.45)
    0a 0a = Zieladresse (1.2.10)
    E=hex -> 1110=bin und bedeutet
    1 Zieladresse=Gruppe
    110= Routingzähler6
    1=Anzahl der Nutzdaten in Byte
    00 81=bedeutet schreiben TRUE (80 wäre FALSE)
    AF=Sicherung via gerade Parität

    Leider fehlt mir noch eine Initialisierungsequents
    in den EIB
    <STX> Start of Text
    habe ich bereits getestet und funktioniert leider nicht.
    Hat jemand von euch eine Idee welche Initialisierungsequents
    ein EIB Telegramm verwendet ?

    Gruß
    SeM
    SeM

  3. #3
    Martin ist offline Registrierter Benutzer
    Registriert seit
    Feb 2001
    Beiträge
    13
    Ich musste leider feststellen,
    das meine Formatierungen im
    Board nicht übernommen wurden. Die Erklärung
    der Bustelegramme sieht ja grausam aus:

    Deshalb nochmals:
    MSComm1.Output = "BCA12D0A0AE10081AF" + vbcr
    sendet ein Telegramm über die RS232

    BC = Kontrollbyte
    ----------------------
    BC=hex umgewandelt in binär -> 1011 1100
    das 11 bei 1100 ändert die SendePriorität auf dem Bus (LowPriority, Alarm, etc.)

    a1 2d = Quelladresse
    ---------------------------
    Ist die dreistellige Quelladresse = 20.1.45

    0a 0a = Zieladresse
    -------------------------
    Ist die dreistellige Zieladresse 1.2.10

    E=Routingzähler
    --------------------
    E=hex umgewandelt nach binär -> 1110
    der erste einser bedeutet 1 -> Zieladresse=Gruppe
    das nachfolgende 110 bedeutet Routingzähler6

    1=Anzahl der Nutzdaten in Byte
    ----------------------------------------
    =Länge Nutzinformation

    00 81=bedeutet schreiben TRUE
    ----------------------------------------
    80 wäre ein False senden
    81 ist ein True auf die Gruppenadresse senden

    AF=Sicherung via gerade Parität
    ----------------------------------------

    nochmals Grüße
    ins Board

    Würde mich über eure Antworten freuen !
    ;-)
    SeM

  4. #4
    Registriert seit
    Apr 2002
    Beiträge
    51
    Hallo Martin,
    eine Programmierung über MSComm bringt gar nichts. Die EIB-Schnittstelle hat ein eigenes Timingverhalten. Alleine Synchronisation der einzelnen Bytes ist schon ein Problem für sich.
    Das Dtr - Signal ist ebenfalls wichtig denn hierüber wird der Opto-Koppler mit Spannung versorgt. Dies hast du ja auch berücksichtigt.
    Danach erfolgt im Prinzip eigentlich nur immer der Byteweisewechsel des RTS-Signals.
    Für Einzelheiten wäre hier im Forum gar keine Zeit.
    Die Grundlagen des Telegrammverkehrs sind jedoch im EIB-Handbuch zu finden.
    Es ist nicht einfach, aber auf Basis der MSComm-Komponente sehe ich im Moment keine Erfolgschancen.

    mfg
    Bits&Bytes

  5. #5
    Registriert seit
    Nov 2000
    Ort
    Unna
    Alter
    56
    Beiträge
    3.063

    a1 2d = Quelladresse
    ---------------------------
    Ist die dreistellige Quelladresse = 20.1.45


    0a 0a = Zieladresse
    -------------------------
    Ist die dreistellige Zieladresse 1.2.10
    a1 2d = 10.1.45

    0a 0a = 0.10.10

    ______________________

    Mike

    m..myhome Support Forum



    m..myhome for Mac demo Clip neuer demo Clip

  6. #6
    Registriert seit
    Dec 2002
    Beiträge
    119

    RE: Bustelegramme über ein VB Programm senden

    Hallo Martin,

    es ist erstaunlich wie weit Sie mit Ihrer Schnittstellenanalyse gekommen sind. Aber ohne Ihren Enthusiasmus abwürgen zu wollen, ist es denn sinnvoll das Rad zweimal erfinden zu wollen?
    Warum greifen Sie nicht auf die vielfach erhältlichen Gateways zurück. Ich habe z.B. ein VB Projekt zur kontinuierlichen Meßdatenerfassung realisiert bei dem wir über ein Gateway der Fa. ELKA kommunizieren.

    Grüße

    Joachim

  7. #7
    Martin ist offline Registrierter Benutzer
    Registriert seit
    Feb 2001
    Beiträge
    13
    Danke für eure Info !

    Endlich jemand der mir antwortet!
    Ich glaubte schon das intressiert hier niemand, aber
    ich gebe es ja zu mein Thema ist ein wenig
    abgehoben.


    Hallo Joachim:
    Eine Frage hätte ich noch zum ELKA Gateway. Wo kann ich das
    Ding beschaffen und was kostet es, kann ich dort mein
    Wunsch programmieren (DDE Server - DDE Client)


    Hallo Meudenbach:
    - die Konvertierung von hex auf EIB Format
    habe ich bei folgender Internetseite gefunden.
    EIB Format Converter

    Laut EIB Aufzeichnungstelegramm müßte meine 1.2.10 stimmen

    aber na ja - man kann immer etwas
    dazulernen - als nicht Elektriker


    In diesem Sinne
    bis bald
    ;-)
    SeM

  8. #8
    Registriert seit
    Apr 2002
    Beiträge
    51
    Hallo Martin,
    die Gruppenadresse 1/2/10 stimmt, jedoch die Physikalische Adresse ist falsch.
    Sender :Physikalische Adresse -> Empfänger Grp-Adresse.
    Die Antwort von Meudenbach ist also richtig.
    Das Interesse für dein Thema ist wohl da !
    Die Sache ist eben nur die Zielsetzung.
    Wäre toll wenn ich mal einen kostengünstigen Buszugriff hätte.
    Für Linux gibt es einen Freeware-Treiber, aber ich habe keine Zeit in auf die Windows-typischen Verhältnisse anzupassen.
    Also heißt es fürs erste den Umweg über die Hardware zu machen die ich von Windows aus ansteuern kann.

    Viel Erfolg bei deinem Projekt
    Bits&Bytes

  9. #9
    gamma ist offline Registrierter Benutzer
    Registriert seit
    Mar 2002
    Ort
    odenwald
    Alter
    63
    Beiträge
    168

    Cool

    Hallo Martin,
    mir ist immer noch unklar ob du jetzt
    mittels VB/MSCOMM, OPC oder DDE
    mit dem EIB kommunizieren willst.

    DDE ist der urururvorgänger von OPC, also obsolet.
    Für EIB OPC Anbindungen gibt es verschiedene Anbieter;
    EIBA, Schlaps & Partner,...

    Serielle Anbindungen auf Binärbasis und auch auf
    ASCII Basis gibt es von Schlaps & Partner.

    Grüsse von Gamma!

  10. #10
    Registriert seit
    Dec 2002
    Beiträge
    119
    Hallo Martin,

    bezugnehmend auf Deine Rückfrage:

    Original geschrieben von Martin
    Danke für eure Info !

    Eine Frage hätte ich noch zum ELKA Gateway. Wo kann ich das
    Ding beschaffen und was kostet es, kann ich dort mein
    Wunsch programmieren (DDE Server - DDE Client)


    ;-)
    hier verweise ich auf den guten Hinweis von Gamma da DDE in der Tat überholt ist. Von Schlaps & Partner gibt es eine OPC-Eibweiche. Habe aber selbst noch keine Erfahrung damit gemacht. Soviel ich gelesen habe gibt es auch fertigen VB-Code. Aber schau doch selber auf deren Homepage.
    Falls du aber dennoch auf der ASCII-Seite bleiben willst gibt es
    eben das EIB-Gateway von ELKA (www.elka.de). Das Gateway filtert EIB-Telegramme der im Gateway hinterlegten GA´s und schickt diese nach Anfrage über die RS232 als ASCII-String (im Hexformat). Man kann aber auch Telegramme einzeln lesen und schreiben. Ein gewisser Aufwand besteht darin die Telegramm-Strings zu generieren und zu interpretieren. Für die Interpretation von EIS5-Telegrammen (Telegramme mit Flieskommawerten) kann ich dir VB-Code zur Verfügung stellen.
    Dein DDE Server müsste dann eben das Gateway auslesen, interpretieren und an den DDE-Client weiterleiten.

    Gruß Joachim
    Geändert von J.Kronwitter (21.02.03 um 08:58 Uhr)

  11. #11
    Martin ist offline Registrierter Benutzer
    Registriert seit
    Feb 2001
    Beiträge
    13
    Erst einmal ein Danke für eure zahlreiche Info!

    zur Richtigstellung -> das DDE sollte OLE sein !

    Ich habe mir die einzelnen Seiten angeschaut.
    Die "EIB Weiche Standard" von Schlaps & Partner
    macht einen guten Eindruck. Hat jemand von euch via
    Visual Basic dieses Gateway schon einmal
    verprogrammiert ?
    SeM

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •