here we are...
Dim GA As String = "9/3/1" 'GA = ein Spot
Dim daten As GroupValue
'GroupValue.TryParse(CStr(90), daten) 'Wert 90 = x5A funktioniert
GroupValue.TryParse(CStr(3), daten) 'Wert 3 funktioniert nicht
bus.WriteValue(GA, daten)
Ankündigung
Einklappen
Keine Ankündigung bisher.
von VB.net mit Falcon über Weinzierl 332 zum KNX-Bus
Einklappen
X
-
Hallo Franz,
zeig doch mal ein Beispiel wie du das Byte auf den Bus schreibst.
Gruß
Mike
Einen Kommentar schreiben:
-
Hallo zusammen,
Danke an Mike, das war für mich der entscheidende Hinweis - ich habe inzwischen mein Testprogramm in VB.net laufen und kämpfe jetzt mit folgendem Problem:
wie kann ich den Datentyp bei WriteValue bestimmen?
Dieses Problem ist auch mit dem in Falcon enthaltenen FalconDemo-Project nachvollziehbar - es ist also nicht VB.net spezifisch - wenn ich dort auf eine Gruppenadresse den Wert 1 schreibe, so wird dies als Typ "1.001 Schalten" geschrieben (im ETS4-Gruppenmonitor nachvollziebar) - das gilt auch für Werte bis x3F - erst ab x40 wird dann der Typ "1Byte, besser gesagt 5.001 Prozent" geschrieben
Ich will/muss aber auch Werte unter x40 als Byte schreiben können - dazu muss ich den Datentyp je nach GA beim schreiben selbst festlegen können - und ich finde nicht wie...
Und daher bitte ich wieder um Hilfe.
Danke, freundliche Grüsse
Franz
Einen Kommentar schreiben:
-
Hallo,
VB und C# sind doch bis auf wenige Unterschiede gleich.
Aus dem Beispiel für die Verbindung wäre folgendes mal frei Übersetzt:
Dazu gibt es gute online Converter wie http://converter.telerik.com/Code:Dim bus As Bus = New Bus(UsbConnectorParameters.FromAddress("1.1.200")) bus.Connect() Dim localConfiguration As LocalConfiguration = bus.GetLocalConfiguration() If localConfiguration.Medium = MediumTypes.Tp Then // Verbindung wurde hergestellt End If
Dort muss man aber die "Using" in normale deklarationen umwandeln.
Das Objekt Bus hat dann auch das Event "GroupValueReceived", welches auf schreibzugriffe einer GA reagiert.
Gruß
Mike
Einen Kommentar schreiben:
-
Hallo Klaus,
ich habe jetzt die Versuche mit Falcon 2.2 eingestellt - Ich habe VS17 installiert und Falcon 5.7 - die FalconDemo läuft - ist aber in C geschrieben wo ich mir recht schwer tue - kein VB.net Bespiel - VB.net wäre aber nach wie vor mein Wunsch...
In einem anderen Beitrag "Verbindung zum KNX Bus mit VB.net über falcon" hast Du daniel84p einige VB.net Code-Schnipsel zur Verfügung gestellt - aber da geht es dann schon um den Empfang von Telegrammen usw, kein Verbindungaufbau und sonst alles rundum...
Was auch immer Du mir dazu zur in VB.net Verfügung stellen kannst wird mir sicher helfen hier weiterzukommen - eher bitte zuviel als zuwenig - Danke!
Freundliche Grüsse
Franz
Einen Kommentar schreiben:
-
Danke, schnelle Frage zu Falcon 5.7: würde damit meine Aufgabenstellung mit VB.net lösbar sein? LG
Einen Kommentar schreiben:
-
Hallo Franz,
hast du dir das Beispiel FalconDemoVB.NET angesehen? Dort ist das was du willst, in frmMain.vb alsdrin.Code:Public WithEvents GroupDataObj As EIBA.Interop.Falcon.GroupData
Ansonsten kann ich aber nur empfehlen, auf Falcon 5.7 zu gehen. das ist wesentlich einfach zu handhaben.
Gruß, Klaus
Einen Kommentar schreiben:
-
Hallo Klaus,
danke nochmals für den Tip mit usbEdi - ich kann jetzt in VB.net die Verbindung öffnen - ich kann eine GA beschreiben und ich kann synchron eine GA lesen - ABER
(0) davor noch kurz, was ich eigentlich machen will: ich will alle KNX-Telegramme laufend mitlesen und auf bestimmte Konstellationen reagieren, dann zB GA(s) schreiben, ein email schicken usw - dazu brauche ich eine Instanz welche laufend mitliest und gefundene Konstellationen an andere Instanzen zur Bearbeitung weitergibt, zB über pipes - nun zu meinen Problemen
(1) Ich schaffe es nicht asynchron zu lesen - ich mache es bestmöglich entsprechend den Beipielen in Falcon 2.2 - mein Ereignis wird aber nie angesprungen - und ich weiss nicht einmal ob ich in VB.net die Ereignisse falsch programmiere oder ob ich Falcon falsch parametriere, oder ob Falcon was falsch macht...
Wenn Du, oder jemand anderer glaubt er kann mir dabei helfen stelle ich gerne den kommentierten Code hier herein.
(2) die Dokumentation von Falcon 2.2 ist auch recht dürftig, zumindest was VB.net betrifft - es gibt auch eine Möglichkeit die Verbindung als Bus-Monitor herzustellen, dazu finde ich gar nichts - auch hier bin ich für Hilfe dankbar.
(3) parallel dazu habe ich mich mit VS17 beschäftigt - das sollte gleichzeitig mit VS15 installierbar sein, sodass ich nicht alle meine Programme umstellen muss - dann könnte ich Falcon 5.7 installieren - aber ist das die Lösung für mich? ist dann meine Aufgabenstellung in VB.net lösbar?
Auch dazu bitte ich um Ratschläge.
Danke, freundliche Grüsse
Franz
Einen Kommentar schreiben:
-
Ich bin weitergekommen, Write auf GA funktioniert, Read bin ich dran...
Kann erst nächstes Wochenende weitermachen, meld mich dann...
Bin dazwischen natürlich für Anregungen dankbar
LG FranzZuletzt geändert von FranzBeranek; 22.02.2020, 21:20.
Einen Kommentar schreiben:
-
Für USB:
Code:Dim usbEdi As Guid = New Guid("273A2B65-F373-417D-8AB9-CC4399D6CC12") ConnectionObj.Open2(usbEdi, "Device=0")
Einen Kommentar schreiben:
-
Ach so, das hatte ich verwechselt - sorry, dann stimmt das alles nicht, was ich geschrieben habe.Zitat von FranzBeranek Beitrag anzeigender Weinzierl 332 ist ja "nur" ein USB-Stick...
Einen Kommentar schreiben:
-
Hallo Franz,
wo kommt jetzt der EdiManager wieder her? Beim Open2-Aufruf wird der doch gar nicht benötigt.
Poste am besten mal den kompletten Code, wie du ConnectionObj erzeugst und öffnest.
Gruß, Klaus
Einen Kommentar schreiben:
-
... und IP-ADresse wüsste ich auch nicht welche anzugeben - der Weinzierl 332 ist ja "nur" ein USB-Stick...
Einen Kommentar schreiben:
-
Danke wieder, war leider nicht erfolgreich...
Ein Ausnahmefehler des Typs "System.MissingMemberException" ist in Microsoft.VisualBasic.dll aufgetreten.
Zusätzliche Informationen: Der öffentliche Member tunnelingEdi für den Typ IEdiManager3 wurde nicht gefunden.
Ich tappe im Dunkeln...
Franz
Einen Kommentar schreiben:


Einen Kommentar schreiben: