Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem: Falcon-connection für USB-Zugriff auf EIB

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [VB] Problem: Falcon-connection für USB-Zugriff auf EIB

    Hallo zusammen,
    seit vielen Jahren betreibe ich eine selbstgemachte VisualBasic-6-Application (Visualisierung und Steuerung) mit Zugriff über Falcon auf den EIB-Bus meines Hauses. Die Verbindung geht über eine RS-232 Schnittstelle. Hat alles wunderbar funktioniert.
    Nun möchte ich auf VB.net umstellen und dabei den Zugriff über USB realisieren.
    Ich finde leider in der Falcon-Dokumentation kein Beispiel und auch keinen Hinweis, wie der Aufruf des EdiMan parametriert werden muss, um die connection zu öffnen.
    Eine Anfrage bei KNX brachte nur die nette Antwort, ich solle mal genau in die Doku schauen. Ich finde aber nichts. Und bisher auch keine Beispiele im Internet.

    Seriell (hat immer geklappt):
    devOpenErr = ConnectionObj.Open(EdiMan.GetStandardEdiGuid(Selec tedPort, EdiTypeBcu1xPei16x9600))

    USB:
    devOpenErr = ConnectionObj.Open ( ??????? )

    Den COM-wrapper habe ich genau wie die notwendigen Falcon Type Libs unter den Verweisen des Projekts (VS Express 2013) eingebunden. Die ETS4 arbeitet übrigens klaglos über die USB-Verbindung, so auch der Busmonitor. Mein Projekt scheitert beim open.
    Hat jemand mit der Schnittstellen-Programmierung Erfahrung oder noch besser ein paar Zeilen Code, wie das zu handhaben ist?

    #2
    Ich kann leider nicht direkt helfen, aber ich habe eine C# Library, die über LAN auf den BUS zugreift. Immerhin verwendet diese die gleiche COM-Library:

    PHP-Code:
    var connection = new FalconLib.ConnectionObject Mode ConnectionMode.ConnectionModeRemoteConnectionless };

    connection.Open2("FalconEibnetEdi.EibnetEdi""Name='Name des Routers';IpAddr='192.168.1.x';Port='3671';NAT='off'"); 
    Einen Tipp noch:
    Du kannst den Falcon ConnectionManager öffnen, um Details zu deinen konfigurierten Verbindungen anzuzeigen und zu ändern.

    Kommentar


      #3
      Falcon USB-open

      Hallo mymazl,
      vielen Dank für deine Antwort. In der Zwischenzeit habe ich eine Lösung gefunden für den USB-Zugriff:

      Dim deviceOpenError As FalconInterfacesLib.DeviceOpenError

      Dim EdiGuid AsString
      EdiGuid = "{273A2B65-F373-417d-8AB9-CC4399D6CC12}"
      ConnectionObj.Mode = CType(FalconInterfacesLib.ConnectionMode.ConnectionModeRemoteConnectionless, ConnectionMode)

      Try
      deviceOpenError = CType(ConnectionObj.Open2(EdiGuid, "Device=0;"), FalconInterfacesLib.DeviceOpenError)

      If (deviceOpenError = FalconInterfacesLib.DeviceOpenError.DeviceOpenErrorNoError) Then
      EIBconnected = True
      GroupDataObj = NewGroupData
      GroupDataObj.Connection = ConnectionObj

      Else
      EIBconnected = False
      EndIf
      Catch openException AsException
      MessageBox.Show("EIB open: " & openException.Message)
      EndTry

      Stand übrigens so ähnlich doch in den Falcon-downloads, nur nicht direkt in der eigentlichen Doku, in der ich heftig gelesen habe, sondern in mitgelieferten Beispielprojekten.
      Jedenfalls klappt der Zugriff und ich kann weitermachen mit meinem Projekt.

      Dazu würde ich gerne Teile der Konfi-DB der ETS4 auslesen, um meine Visu automatisch zu bestücken. Hast du zufällig einen Hinweis auf eine SQL-Auslesbarkeit? Bisher muss ich den manuellen Zwischenschritt gehen über den Export in eine Datei.
      Danke und schönen Gruss

      Kommentar


        #4
        Geht bestimmt, irgendwie. Ich mach es aber auch über einen Export. In der Regel ändert sich das ja nicht so häufig.

        Ich habe ein separates Tool geschrieben, das die exportierten Daten ausliest und in mein internes Objektmodell-Format serialisiert.
        Dann lege ich dieses File immer in den Ordner der Anwendung.
        Die Anwendung lädt bei Anwendungsstart immer nur diese Datei.

        Kommentar

        Lädt...
        X