Neuling möchte sein Schaltinterface einbinden

Hallo,
ich habe das Forum mal so durchgelesen. Verwirrung…
Ich habe ein Schaltinterface als Selbstbau über eine RS232 Schnittstelle mit der Befehlsreferenz:

Lese= L
Schreibe=S
HausADR=0-254
ModulADR=0-254
BitADR=0-254

Lässt sich das in dieses System drahtgebunden (ähnlich des Multimeter-Beispiel einbinden)?
Muss ich mir sogenannte Module erstellen lassen, damit es ins System eingebunden werden kann?
Sorry wenn ich doofe Fragen stelle.
Vielen Dank für die Antworten :slight_smile:

Nein, du kannst einfach das ComPort Modul nehmen. (Quasi wie der Multimeter Tipp). Du musst dafür eine Instanz des ComPort Moduls erstellen. (RM -> Device -> ComPort ). Dananch per (RM -> Configure) ComPort / Baudrate ect einstellen, Open drücken, Apply drücken. Der Button sollte dann grün sein.
In den Einstellungen einstellen ob ggf auf SOT/EOT, CRLF geachtet werden soll. Wenn nicht, einfach „Just Forward“ benutzten.

Nun kannst du aus einem Script heraus dein Interface ansteuern:


COMPort_SendText(12345, "S".chr(1).chr(2).chr(3));

Um Daten zu empfangen musst du noch wie im Multimeterbeispiel ein „Register Variable“ Splitter erstellen, den vom ComPort zum Splitter verbinden, in der Konfiguration eine Variable einstellen, und ein Script welches auf die Variable Triggert.

Wenn es zu kurz war, einfach nochmal nachhaken :slight_smile:

Grüße, paresy

PS. Sind keine doofen Fragen, der Anfang ist in der Tat nicht leicht, wenn aber erstmal hintersich, hat man eine Menge Möglichkeiten :cool:

Danke, für die Antwort. Sobald ich die Lizenz habe, versuche ich es. Kann man so programmieren, dass die ser. Schnittstelle quasi auf neue Daten reagiert oder muss man zyklisch fragen?
Dann habe ich hier Beiträge über RS485 gelesen, es ist sicherlich auch eine RS232 – RS485 Wandlersache. Ob RS232 oder RS485, das Protokoll ist ev. auch so programmierbar, selbst DMX ist eine Protokollsache, hier wird jedoch ständig wiederholt, das ist natürlich etwas anderes, sollte aber mit Aufruf von EXE-Programmen mit Parameterübergabe machbar sein :confused:

Wenn du das Script auf die Puffer Variable triggerst, reagiert es sofort wenn neue Daten im Puffer vorhanden sind.

Dann habe ich hier Beiträge über RS485 gelesen, es ist sicherlich auch eine RS232 – RS485 Wandlersache. Ob RS232 oder RS485, das Protokoll ist ev. auch so programmierbar, selbst DMX ist eine Protokollsache, hier wird jedoch ständig wiederholt, das ist natürlich etwas anderes, sollte aber mit Aufruf von EXE-Programmen mit Parameterübergabe machbar sein :confused:

Könntest du vielleicht ein paar Beispiele nennen? Ich verstehe das Problem nicht ganz.
Klar kann man alles was über RS232 ansprechbar ist per Script realisieren. Nur ist es meisten recht aufwändig und deswegen auch einfacher wenn ein native Modul dafür da ist, dass einfach SwitchMode(ID, AN/AUS) annimmt.

Man könnte die FHZ1000PC auch per RS232 direkt ansteuern… aber es ist dann halt nicht mehr komfortabel. (Es sei denn man baut geeignete PHP Wrapper funktionen…)

Grüße, paresy

Hallo Helmut,

zurzeit wird DMX von IP-Symcon noch nicht unterstützt – es ist aber auf unserer langen ToDo – Liste.
Wer nicht warten kann hier zwei Links:
http://mikrocontroller.cco-ev.de/de/dmx512.htm
http://www.soundlight.de/techtips/dmx512/dmx512.htm
http://www.soundlight.de/produkte/wg18/usbdmx/usbdmx.htm

Gruß MST

PS: ich habe heute eine Ausnahme gemacht und Dir Dienen Key vorab geschickt

Hallo Helmut und willkommen im Klub :slight_smile: ,

ich habe ein wenig über RS-485 hier im Forum geschrieben, da ich zuhause grade auch eine für meine Proximityleser verlege bzw. seit über 20 Jahren beruflich damit arbeite.

Eine RS-485 ist vom PC aus nicht ganz so einfach zu bedienen, vor allem, wenn man so wie ich eine Zweidrahtleitung im Multidropbetrieb mit 1 Master (= PC) und bis zu 32 Slaves (= Geräte) betreibt. Gegenüber der RS-232 hat die RS-485 aber vor allem den Vorteil, dass man damit wesentlich höhere Entfernungen überbrücken kann (RS-232 = 15 m, RS-485 = 1200 m) und sie durch den Differentialbetrieb vor allem wesentlich störunempfindlicher ist, als eine RS-232. Eine weitläufigere Installation in einem Haus würde ich nicht unbedingt mit RS-232 machen.

Das Hauptproblem beim Zweidrahtmultidropbetrieb ist ja, dass sich immer nur eines der bis zu 33 Geräte (1 Master, bis 32 Slaves), die parallel an den beiden Drähten hängen, auf Senden schalten darf. Wann es das darf und wann bzw. wie schnell es sich wieder zurückziehen muss, muss im verwendeten Protokoll genau definiert sein und wird vom Master mittels Polling gesteuert. Beim PC hat man noch das Problem, dass die Aktivierung des RS-485 Senders im RS-232/RS-485 Adapter über eine Steuerleitung (RTS, DTR, etc.) der COM gemacht wird, man diese also direkt bedienen muss, falls dies nicht eine fertige Software macht.

Relativ einfach kann man übrigens die RS-232 mit sogenannten Inhousemodems verlängern, das sind steckergroße Umsetzer, die die RS-232 z.B. auf RS-422 oder eine Stromschnittstelle umsetzen und man damit dann auch größere Entfernungen überbrücken kann. Es gibt da auch welche, mit denen man sogar viele Kilometer überbrücken kann.

Will man mehr als 1 Gerät auf die Leitung hängen, hat man generell das Problem, dass diese auf irgendeine Art adressierbar sein müssen. Der Master spricht ja zyklisch mit Hilfe der Adressen einen Slave nach dem anderen an (= Polling) und derjenige, der grade angesprochen wurde, darf für eine bestimmte Zeit auf die Leitung. Den zeitlichen Ablauf steuert dabei wie gesagt das Protokoll.

Bei Fragen bitte einfach melden, wenn ich irgendwie helfen kann, tu ich’s gerne :slight_smile: .

Liebe Grüße aus Graz,

Erwin

Vielen Dank dafür, na das wird 'ne lange Nacht…
Nochmal 'ne Frage;
Da ich eine RS232-Platine mit (Max232 - Baustein) mit Sende und Empfänger für andere Funksystem z.B. Baumarktsteckdosen selbst gebaut habe, kann ich auch diese in das System einbinden?
gucks du hier:

http://mitglied.lycos.de/madmax3333/

Würde das auch mit den ELV-Sende-Empfänger Modulen verschiedenster Frequenz gehen?
Vielen Dank :slight_smile:

… und noch etwas: eine RS-232 (auch V.24 genannt) oder RS-485 sind Schnittstellen
DMX hingegen ist ein Protokoll, das mit einer Baudrate von 250 kbit/s nach RS-485 gesendet wird. Alles klar :confused:

MST

… und wieder ein neues Protokoll :slight_smile:

Infos zum Protokoll der COM Schnittstelle

Wie aus der Schaltung oben ersichtlich ist, ist es eine reine Einwegkommunikation. Es wird also von dem Interface keine Antwort erwartet. Die Kommunikation läuft mit 9600 Bit/s bei 1 Startbit, 8 Datenbits und einem Stopbit. Es werden 5 Bytes gesenden.

1 Byte Header
3 Byte Daten
1 Checkbyte

Das sieht dann so aus: 23 91 11 01 9D

Zum Header, der Header besteht aus 0x23 und dient nur dazu dem Interface zu sagen das die nun folgendenen Daten für ihn bestimmt sind.
Der nun folgende Datenteil ist etwas komplezierter gestaltet. Dazu müsste man mehr über die Arbeitsweise des Atmel erfahren. Soviel sei dazu nur gesagt:

  1. Byte ist der DDRD Wert für den Atmel (A0 - A7 für den PT2260RC4)
  2. Byte ist der PORTD Wert für den Atmel (A0 - A7 für den PT2260RC4)
  3. Byte ist der PORTB Wert für den Atmel (D0 - D3 für den PT2260RC4)

91 11 01 würde also A0 und A4 auf High setzen, A7 auf Low und A1 A2 A3 A5 A6 auf Tristate. Das 3. Byte (01) setzt dann D0 auf High. D1 - D3 liegen dann auf Low. Das bewirkt das die Fernbedienung die 1 auf Kanal 1 auf OFF setzt.
Zu guter letzt das Checkbyte. Das Checkbyte errechnet sich wiefolgt, man nimmt den Wert 0x3F und XOR’t alle folgenden 4 Bytes mit diesem Wert. Das Ergebniss ist dann das Checkbyte. Das Checkbyte dient dazu um die Kommunikation zwischen PC <-> Interface sicherer zu gestalten.
Ja das geht. Gute Nacht :rolleyes:

Zu DMX gibt es hier auch etwas interessantes: http://www.pcdimmer.de/

Danke für die Info’s
Der PC-Dimmer ist sehr interessant.
Bei der RS485-Frage ist eigentlich der Störfaktor wichtig. Deshalb ist ein „Repeater“ wahrscheinlich genug.
Ich hätte mir doch zum besseren Kennenlernen mal so’n Komplettpaket bestellen sollen. Obwohl ich nur 2 ELV-Stellventile in „Arbeit“ habe. Wenn es nicht’s ist, ist es immer viel Kohle…
MfG
Helmut

Hallo Helmut,

warum meinst du, dass du einen Repeater benötigst ? Einen Repeater brauchst du frühestens dann, wenn du die Maximallänge der RS-485 überschreitest. Laut Standard sind dies 1200 m, aber real haben wir auch schon problemlos 4 km OHNE Repeater überbrückt. Das ging einfach deshalb, weil wir das Netzwerk mit einer Baudrate von nur 9600 Baud betrieben haben, auf den angegebenen 1200 m schafft die RS-485 aber locker das 10-fache.

Ganz wichtig ist, dass du eine verdrillte Leitung verwendest, unumgänglich für die Störsicherheit und zuguterletzt, dass du beim letzten Gerät den Busabschluss aktivierst (wegen der Reflexionen auf der Leitung).

Bezüglich Repeater noch kurz: dieser tut nichts anderes, als das Signal zu empfangen, es zu verstärken und weiterzusenden, alles natürlich in Echtzeit und das auf der RS-485 laufende Protokoll darf durch den Repeater nicht beeinflusst werden. Du hast dann nach dem Repeater wieder die 1200 m zur Verfügung, wobei man problemlos mehrere kaskadieren kann, das heißt, alle 1200 m kommt einer rein. Wir haben z.B. einmal mit 3 Repeater über 8 km überbrückt, von dem Modell, das wir damals verwendeten, hätte man sogar bis zu 5 hintereinanderschalten können.

Aber in einer Hausinstallation wirst du sicherlich niemals einen Repeater benötigen.

Liebe Grüße aus Graz,

Erwin