Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX & "Read"

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

    KNX/EIB KNX & "Read"

    Hallo!

    Ich habe eine relativ allgemeine Frage:
    Ich versuche unter VB.NET mit FALCON meine KNX-Installation zu steuern.
    Schreibend geht alles wunderbar, aber beim "Read" habe ich noch Probleme.

    Allgemeine Verständnisfrage zu KNX und "Lesen":
    Was kann ich denn eigentlich lesen oder wie bringe ich es raus?
    Wenn ich z.B. die Lampe über eine bestimmte Adresse anschalten kann, kann ich dann über die gleiche Adresse auch lesen?
    Es gibt ja z.B. auch manchmal noch einen separaten "Status" unter einer anderen Adresse.

    Viele Grüße,

    Martin.

    #2
    Hallo Martin,

    in aller Regel ist das Read-Flag bei den Schalt-Kommunikationsobjekten ausgeschaltet. Daher wahrscheinlich Dein Leseproblem. Das Read-Flag kannst Du nachträglich explizit einschalten, jedoch sollte eine gutes Projekt immer mit den Status-Objekten arbeiten.
    Es kann zum Beispiel sein, dass Dein Schalt-Objekt den Wert "ein" zurückgibt, obwohl aufgrund einer logischen UND-Verknüpfung der Kanal gar nicht eingeschaltet ist.

    Gruß,
    Martin

    Kommentar


      #3
      Hallo!

      Danke - ich bin inzwischen auf die Flag-Seite gestoßen ...
      Mich wundert nur warum es "L"-Flag heißt und nicht "R" wie "Read" ... ???

      Ich habe zu KNX noch nix gelesen, dafür bin ich schon ziemlich weit gekommen ... :-)

      Kommentar


        #4
        "L" wie "Lesen"
        ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

        Kommentar


          #5
          Schon, ich dachte nur daß die Bezeichnungen für KNX/EIB englisch wären ...

          Kommentar


            #6
            nicht durchgängig, war ja mal ne deutsche Erfindung und sowas hat man dann nicht mehr auf englisch umgestellt. Das "K" Flag müsste dann ja auch "C" sein etc.
            ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

            Kommentar


              #7
              Ist es in der englischen ETS auch...

              Kommentar


                #8
                ach echt! Die Flags sind sprachspezifisch umbenannt?!
                Ok, das war mir neu
                ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

                Kommentar


                  #9
                  Status auslesen

                  Hallo, ich habe auch Schwierigkeiten den Status (Ein-/ ausgeschaltet von Objekten auszulesen.
                  Ich verwende den Falcon Treiber unter VB und versuche folgendes:

                  Public WithEvents g As GroupData

                  Set g = New GroupData

                  Schreiben, also ein- und ausschalten klappt wunderbar:

                  Private Sub AR1_Click()
                  e = g.Write("1/1/3", 0, 6, True, 1)
                  End Sub

                  Was mir nicht gelingen will, ist das Auslesen:

                  Private Sub readA3_Click()
                  Dim Data As Object
                  Dim Value As Long

                  Data = g.ReadSync("1/1/3", 0, 7)


                  If (IsArray(Data)) Then
                  Value = Data(LBound(Data))
                  Else
                  Value = CLng(Data)
                  End If

                  If Value = 1 Then
                  MsgBox "Feedback Object sends 'On'"
                  Else
                  MsgBox "Feedback Object sends 'Off'"
                  End If
                  End Sub


                  Ich bekomme "Typen unverträglich" oder Automatisierungsfehler.

                  Hat vielleicht jemand Beispielcode, wie es richtig funktioniert?
                  Ich habe für den Aktor mit der Adresse 1/1/3 unter 'Flags - Lesen "setzen" ausgewählt. Reicht das aus, um den Status lesen zu können.

                  Vielen Dank schonmal im Vorraus

                  misterholiday

                  Kommentar


                    #10
                    Zitat von misterholiday Beitrag anzeigen
                    Data = g.ReadSync("1/1/3", 0, 7)
                    Der zweite Parameter ist die Priorität. Da solltest du so was wie Priority.PriorityHigh angeben, nicht einfach 0.

                    Gruß, Klaus

                    Kommentar


                      #11
                      Gelöst

                      Hallo, vielen Dank.
                      Ich habs jetzt gelöst:

                      Das Data Object habe ich einfach als Variant definiert (der Typ ist in VB am flexibelsten).
                      Nun bekomme ich ein eindimensionales Array zurück, was den Wert (0 oder 1) des Schaltobjektes beinhaltet.

                      Gruß
                      misterholiday

                      Kommentar


                        #12
                        Da ich auch gerade fleißig programmiere (bin allerdings schon beim Logik-Editor als php-Version):

                        Du kannst vom knx nichts lesen! Garnichts! Du kannst nur einen request absenden(!) und hoffen, dass jemand antwortet (response).

                        Ein L-flag bedeutet also nur, dass die GA per request abgefragt werden kann - sie wird nicht wirklich ausgelesen, sondern zum senden motiviert.
                        EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                        Kommentar


                          #13
                          That is not really correct.
                          A response to a read (Leseantwort) and an initial spontaneous transmission, are two different services.
                          Only very old devices may be confuse when receiving the response; but for the sender (responder) these are two different things.

                          Kommentar


                            #14
                            Hä? Wo ist der Widerspruch zu meiner Aussage?
                            EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                            Kommentar


                              #15
                              @Gaert
                              Deine Aussage ist insofern falsch, und genau das hat Steven erklärt:
                              Ein ValueWrite Telegramm und ein ValueResponse Telegramm sind
                              präzise Unterscheidbar.
                              Genau da liegst du falsch, basta.
                              Allerdings hat Steven ebenso dargelegt das "ältere" Teilnehmer
                              was ich jetzt mal konkretisiere als BCU 1.x diese Unterscheidung nicht
                              beherrschen. Bei diesen ist nämlich das "A"ktualisieren Flag in der ETS
                              immer gesetzt, nicht deaktivierbar - du kannst dir wahrscheinlich garnicht Vorstellen wie begrenzt die Rechenleistung und die Speicherkapazität in der 6805 CPU war.

                              Grüsse von Gamma!
                              Never stop thinkin´

                              Kommentar

                              Lädt...
                              X