Hallo zusammen,so da man hier ja nichtnur Fragen sondern auch Lösungen präsentieren soll, berichte ich kurz von meinem Durchbruch heute morgen:
Die Feedback-Funktionalität ist im DDW-Server 0.8.0 fehlerhaft, was genau das problem ist kann ich nicht sagen, da ich es nicht weiß. Die DDW-Version 0.78 hat diese Probleme allerdings nicht, das habe ich heute morgen rausgefunden. Mein Client sowie der Server melden nun ordnungsgemäß mit den Viessmännern zurück. Allerdings auch erst, seit ich die zentrale Masseverbindung des S88-Moduls abgezogen habe, davor gab es willkürliche Fehlermeldungen.
Jetzt muss ich nurnoch rausfinden, wie ich die jeweiligen Zustandsänderungen, welche am DDW-Server auflaufen, in meinen Client bekomme. Habe schon rausgefunden das folgender EventHandler jedesmal auslöst, wenn eine INFO-Meldung am Server eintrifft:
conn.Info += new InfoHandler(conn_Info); //conn = ServerConnection Allerdings fehlt jetzt noch die Meldung selbst...... mgrafe@snafu.de schrieb:
Hi Thomas, es gibt zwei Möglichkeiten: Du fragsz den S88 Port mit GET ab, dann bekommst Du eine INFO mit dem Zustand des Ports. DDW sendet darüber hinaus jede Änderung eines S88 Ports auf dem Info Kanal, so dass man nicht Pollen muss. Da offenbar die S88 Module mit dem s88Monitor bei Dir funktionieren, sollten sie auch unter DDW korrekt arbeiten. Auf der anderen Seite kannst Du deine Client Software einfacher ausprobieren wenn der S88 Simulator aktiviert ist. Eine Info-Kanale Verebindung startest Du, wenn Du nach der Verbindungsaufnahme den Befehl "SET CONNECTIONMODE SRCP INFO" und dann ein "GO" sendest. Nach der Verbindungsaufnahme wird der Zustand aller s88 Ports gesendet. Wenn die Verbindung zum s88 Modul in Ordnung ist also normalerweise immer '0', wenn die Verbindung zum s88 Modul nichtfunktioniert, dann werden '1' gesendet.Gruß - MichaelOn Fri, 21 Aug 2009 14:53:10 +0200, Thomas <samybri@gmx.de> wrote:"true" anHallo Michael,mmh da verstehe ich jetzt nicht ganz was du meinst mit neue Verbindung im Info-Modus?Wie sehen dazu die Befehle bzw. Methoden aus?Ich kann bei der Verbindungsherstellung ja garnicht definieren ob Kommando oder Info-Modus.....Zudem erscheinen ja die Info-Meldungen im DDW-Server als auch in meinem CLient, so sehen sie aus:Es wird an den Client gesendet: 1250859053.109 100 INFO INFO 8 FB 1 0Nur das ich halt bei allen Anschlüssen "0" bekomme, bzw. "1" vor dem Invertieren, und nicht die tatsächlichen Belegtzustände........mgrafe@snafu.de schrieb:Hallo Thomas,das liegt daran, dass die S88 Zustandsänderungen nicht auf dem Kommandokanal, sondern über den Infokanal gesendet werden. D.h. es muss eine neue Verbindung im Info-Modus eröffet werden, auf der kannst Du dann die Daten des S88 Moduls empfangen. gruß - Michael On Fri, 21 Aug 2009 13:46:04 +0200, Thomas <samybri@gmx.de> wrote:Hallo Michael,so mit dem S88-Monitor klappt es wunderbar, was mich aber wundert ist das weder das Logfenster des DDW-Servers noch mein Client eindem S88-Port liefert, an welchem der S88-Monitor es korrekterkennt.......Ist der Source-Code zum S88-Monitor öffentlich? gruss Thomas mgrafe@snafu.de schrieb:Hi Thomas, der eine Pol ist der Eingang des S88 Bausteins, der andere Masse! Das Programm zum Testen des S88 Bausteinsw kannst Du von der DDW Downloadseite herunterladen. Gruß - MichaelOn Fri, 21 Aug 2009 09:05:02 +0200, Th Br <samybri@gmx.de> wrote:hallo Michael, also muss ich den Simulator ausschalten? Das Programm kannst mir gerne schicken, Adresse hast ja aus der Listeoder?Ich habe da noch eine Grundsätzliche Frage zur Rückmeldung: Ich dachte bisher eigentlich immer eine Rückmeldung funktioniert wieeine Glühbirne, ein Pol ist fest verbunden, der andere wirdgeschlossensobald die Lok über eine Rückmeldestelle fährt, und die Glühbirne brennt, bzw. das Modul meldet zurück, aber genau dieser 2.Pol sehe ichin meiner Schaltung nicht......oder habe ich da ein Denkfehler? Gruss Thomas -------- Original-Nachricht --------Datum: Fri, 21 Aug 2009 08:54:46 +0200 (CEST) Von: mgrafe@snafu.de An: ddw-mailing-list@kim.homelinux.com Betreff: Re: AW: AW: DDW-DDL-ML Generic Accessory mit .NET(C#)ansprechen?Hallo Thomas! Du hast den S88 Simulator auf dem DDW eingeschaltet, dieserModus istzum Testen der Client Software gedacht. Um die Hardware zu testen,habeich ein kleines Testprogramm geschrieben ("S88 Monitor), das ich Dir gerne zusenden kann. Noch ein Hinweis: ich würde das Senden und Empfangender Befehle entkoppeln, z.B. in verschiedene Threads packen, da Du dieAusführungDeines Programms evtl. blockierst. So zum Testen ist dasnatürlich OK.Gruß - Michael On Fri, 21 Aug 2009 08:42:46 +0200, Thomas <samybri@gmx.de> wrote:Hallo Michael,ja genau das habe ich gestern nacht noch mit einer Testschleife rausgefunden, Adresse 5 funktioniert für den 1.Port am1.Decoder.....leiderHeute morgen geht es weiter mit dem Viessmann S88 Modul(5217),vomgibts hier auch probleme.... Kabel vom LPT an das S88 Modul habe ich gebaut und Spannung kommtPC-Netzteil, er meldet aber nicht zurück. Folgende Befehle/Methoden habe ich getestet: 1. nSrcp.Client.SrcpFeedback fed = newSrcpFeedback(conn);//s88?fed.Init(8, "S88", ""); for (int g = 0; g < 19; g++) { try { lbInfo.Text = lbInfo.Text +fed.ReadState(g).ToString();} catch { } } Liefert mir einen langen String aus "false" zurück obwohl da ein"true"geschaltet ist....... Der Server gibt dabei folgendes aus: S88 initalization S88 simulator successfully initialized! Number of S88-modules: 1 Es wird an den Client gesendet: 1250836516.490 200 OK Server connected to client 127.0.0.1 Es wird an den Client gesendet: 1250836518.488 201 OK PROTOCOL SRCP Es wird an den Client gesendet: 1250836518.488 202 OKCONNECTIONMODEFalschenEs wird an den Client gesendet: 1250836518.490 200 GO 3484 Jetzt wurde der Info-Thread gestartet! 2.Variante: INIT 5 FB; GET 5 FB 1; führt zur Meldung "List too Short", ich vermute ich habe denBus(5), ist der Fb-Bus 8?Ich hatte dazu mal ein Dokument, findeich abernichtmehr. mgrafe@snafu.de schrieb:Hallo Thomas, zunächst einmal: es funktionieren nicht alleMagnetartikeldekoder mitDDW/DDL. Ob der Viessmann 5211 funktioniert, kann ich Dir nichtsagen,aber vielleicht weiß das jemand anderes. Die Zählweise der Dekoder Ausgänge gibt immer wieder Anlass zu Problemen: Weichendekoder 1 hat die Ausgänge 5 bis 8!! Für den Port 5 hießen die Kommandos also: INIT 5 GA 5 M SET 5 GA 5 0 1 1000 bzw. SET 5 GA 5 1 0 1000 Viel Erfolg - Michael On Thu, 20 Aug 2009 19:12:09 +0200, Th Br <samybri@gmx.de> wrote:So ich melde mich nochmal bezüglich meines GA Problems. Ich habe heute einen Viessmann 5211 Weichendecoder gekauft umdamitein wenig zu testen, und ich schaffe es nicht ihn anzusprechen.Ich habe zuerst die Adresse am Schieberegister auf 1-4gestellt(-23-5-7-).So, nun habe ich mit folgenden beiden Varianten versucht denAusgang1des Decoders anzusteuern, leider ohne erfolg:1. GA = new SRCP.GenericAccessoire(conn); GA.INIT(5, 1, "M", 2); (BUS, Adresse, Protokol, Ports) GA.SetPort(1, true); (Port, Wert) (habe den Code aufm anderen Rechner, die ein oder andereMethode kannnicht 100% korrekt sein....aber im wesentlichen stimmts)2. SendCommand("INIT 5 GA 1 2"); (Bus, GA, Adresse, Ports) SendCommand("SET 5 GA 1 0 1 1000"); (Bus, GA, Adresse, Port,Wert,Zeitraum)(habe den Code aufm anderen Rechner, die ein oder andereMethode kannnicht 100% korrekt sein....aber im wesentlichen stimmts)Kann mir jemand sagen ob ich etwas grundlegendes vergessen habeoderetwas im DDW Server einstellen muss damit GA funktioniert?Spannung kommt am Modul an, daran sollte es nicht liegen. gruss Thomas -------- Original-Nachricht --------Datum: Fri, 31 Jul 2009 11:21:22 +0200 (CEST) Von: "André Schenk" <andre@melior.s.bawue.de> An: ddw-mailing-list@kim.homelinux.com Betreff: Re: AW: AW: DDW-DDL-ML Generic Accessory mit .NET(C#)ansprechen?Hallo Sven, hallo Thomas,Danke. Sieht so aus, als würde das Projekt nicht gepflegt(letzterCheckinvor 1623 Tagen). Du könntest versuchen Michael Geramb, denMaintainerdesProjekts direkt zu kontaktieren.Falls es nicht unbedingt .NET sein muß, kann ich Euch http://sourceforge.net/projects/jsrcpc/ (Java) empfehlen.Das wirdgepflegt und im Projekt "j-man" auch eingesetzt. Tschüß André-- Jetzt kostenlos herunterladen: Internet Explorer 8 und MozillaFirefox 3 -sicherer, schneller und einfacher!http://portal.gmx.net/de/go/atbrowser-- Jetzt kostenlos herunterladen: Internet Explorer 8 und MozillaFirefox 3 -sicherer, schneller und einfacher!http://portal.gmx.net/de/go/atbrowser