leider musste ich mein ips system komlett neu aufsetzen und die scripts neu erstellen. (das übt!)
soweit ist alles wieder in ordnung bis auf die verbindung per com1 zu meinem denon a/v receiver.
der com-port ist als instanz eingerichtet und sagt auch „open“.
wenn ich aber z.b.
anleitung sagt:
communication system: tone step synchronisation
communication speed: 9600bps
character length: 8 bits
parity control: none
start bit: 1 bit
stop bit: 1 bit
communication procedure: non procedural
communication data length: 135 bytex max.
ich würde auch gerne meinen Denon AVR-2805 mit IPS steuern. Hat jemand eine Idee?? Ich habe es mit „Comport-Sendtext“ versucht, es passiert aber nichts… Ich habe den Receiver über ein „gerades“ Kabel mit dem COM1 - Anschluß verbunden.
Der Receiver hat einen RS232C Anschluß und ist nach der Bedienungsanleitung geeignet, um in Mediensteuerungen (AMX oder Creston) integriert werden zu können.
Uuuups, der thread stammt aus 2006!
Seither ist schon einiges Wasser die Elbe hinunter geflossen:D
Hast du mal nach „Denon“ gesucht?
Da gibt’s schon „Neueres“
ich habe heute erfolgreich meinen Denon 2307 via RS/232 USB Adapter angeschlossen (das ganze via Silex USB 2.0 Ethernet Extender) und erfolgreich über IPS 2.1 geschaltet.
Zur Vorgehensweise:
[ul]
[li]USB RS232 COM Port unter Windows eingerichtet (in Windows ist die Flow Controll standardmäßg deaktiviert)
[/li][li]In IPS 2.1 eine I/O Serial Port angelegt (9600, 8, N, 1)
[/li][li]Mittels COMPort_SendText wie ganz oben angegeben mit z.B. „ZMON“ + „chr(13)“ den Receiver schalten
[/li][/ul]
Was mir aber passiert ist: Der Receiver war zunächst aus, solange ich alles verkabelt habe und es passierte nichts. Das Schalten ging nicht. Dann habe ich ihn manuell eingeschaltet und das ausschalten („ZMOFF“) ausprobiert. Und Voilá, es geht. Danach lief auch das Einschalten problemlos.
Nächster Schritt ist eine Register-Variable an die Instanz, die auf Änderungen am ComPort reagiert…
ja, das Skript habe ich überflogen. Ich versuche gerade, am Denon selbst zu lernen.
Aktuell bekomme ich zwar die Daten über die RegisterVariable, aber leider sind die immer etwas „schräg“.
So bekomme ich mal „MV175#MVMAX#“, dann „8#MVMAX“, dann mal „MV19#MV“ oder dergl. ( # ist ein hex 0D).
Es wird also nicht ein kompletter Satz wie „MV175“, dann „MVMAX“, dann „MV18“, etc. gesendet, sondern immer was „dazwischen“. 0D ist im Cutter als rechtes Trennzeichen angebeben. Ideen?
!UPDATE!
Das Problem lag wohl irgendwie am Cutter. Den hatte ich zwar korrekt auf 0D rechts hex eingestellt, aber irgendwie hat er das nicht gemacht. Nach erneutem einstellen, setzen und übernehmen (schliessen) hat er dann korrekt gesplittet und die Daten sind wie gewünscht im Debugger zu sehen.
@Philip: Ich nehme dein Skript mal als Anregung für das Variablen-Handling. Da ich die Variablen etwas anders strukturiert haben möchte (z.B. auch logisch nach Zonen aufgeteilt) werde ich es etwas für mich adaptieren. Aber immerhin - es läuft
ich versuche gerade meine Heizungssteuerung (Kieback & Peter HRP22) per seriellen Link mit IPS zu verbinden.
Dabei send ich mit COMPort_SendText ein Anfrage an die HRP und bekomme eine Antwort. Nur habe ich immer ‚komische‘ Antworten erhalten. Also habe ich das Ganze mal mit einem RS232 Monitor mitloggen lassen. Dabei kam raus, dass IPS meine Anfrage gleich mehrfach (bis zu 18x) abschickt. Die Gegenprobe mit einem Terminalprogramm hat wie erwartet normal funktioniert.
Also 1x eine Anfrage abgesschickt und auch nur 1x per RS232 ausgegeben. Gibt es was zu beachten, wenn ich den Befehl COMPort_SendText verwende?
Angeschlossen ist das ganze über einen USB2.0<->RS232 Adapter.
Wie führst Du denn das Script aus, per Hand, Event…
Mach doch mal einen Debug im SerialPort, dann siehst Du was gesendet wird.
Das Script wird nur einmal durchlaufen wenn es nicht dauernd getriggert wird. Also kann quasi auch nur ein Befehl rausgehen.
Das komische ist, dass wenn ich den string per IPS an den COM Port sende der request mehrfach raus geht (siehe log ). Meine Anfrage ‚G0 0000+CRLF‘ taucht im log mehfach auf. Dabei ist es egal, ob ich das script per Hand oder z.B. per Zeitintervall starte.
Wenn ich diesen string nicht aus IPS sondern aus einem Terminal Programm absende (gleiche HW, gleicher USB<->RS232 adapter) funktioniert es.
Dass die Anfrage mehrfach gesendet wird kann ich auch im IPS Debug Fenster der COM Instanz sehen. Dass die Regelung 4x antwortet scheint normal zu sein, da das auch bei den Versuchen mit dem Terminal Programm so ist.
Wird eventuell irgendein Buffer mehrfach versendet?
Das kann nicht sein. Dann wird das Script von irgendwas getriggert.
Wie ist denn deine Verbindung zum Comport. Über Registervariable, wenn ja, wäre das die Erklärung.
Was hast Du denn für eine Version laufen, ich trenn das dann mal ab, da es nicht zum Thema passt.