Dupline bzw. Modbus RTU

Hallo,

ich habe bei uns im Haus das Bussystem Dupline der Fa. Doepke (ich weiß das kennt keiner… höre ich öfter). Es funktioniert alles bestens und ist auch gar nicht „so“ teuer. Nur leider gibt es seit fas 3 Jahren keine Weiterentwicklung im Bereich der Visualisierung. Der Webserver benötigt Java - und das iPhone kann kein Java.
So nun zum technischen:
Programmiert wird die Anlage über eine Software (ProLineNG). Die Aktoren und Schalter haben die Adressen A1-8 bis P1-8. Es handelt sich hier um das Zentralgerät DKG 20.
Wie ich herausgefunden habe, ist das Protokoll für die erhältlichen Touchscreens auf dem 2ten ComPort Modbus RTU.
Es gibt auch einen DDE Server der dann mit Excel zusammenarbeitet.
Der Wert für Digital A1 wäre: =DlDdeSrv|Digital!‚1:A1‘
für Analink L1: =DlDdeSrv|Analink!‚1:L1‘ (nur als Beispiel)

Da IP-Symcon Modbus kann, dachte ich fang einfach mal an, aber nach 2 schlaflosen Nächten… hoffe ich hier etwas Hilfe zu finden.
Nachfolgend mal einige Mitschnitte vom ComPort (gekürzt - ausführlicher in angehängert txt.

Um nicht zu viele Werte zu haben, habe ich in der Visualisierungssoftware smart-house nur den Wert B2 (Licht Schlafzimmer) eingefügt.
Daraufhin habe ich mit portmon folgendes ausgelesen:
javaw.exe IRP_MJ_WRITE VCP0 SUCCESS Length 8: 01 03 00 10 00 08 45 C9
javaw.exe IRP_MJ_READ VCP0 SUCCESS Length 21: 01 03 10 00 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 D8 65
javaw.exe IRP_MJ_READ VCP0 SUCCESS Length 6: 00 00 00 00 19 9A
usw.

Daraufhin habe ich IPS ein Modbus Device angelegt das als übergeordnete Instanz den SerialPort hat.
Hier der Auszug aus dem Debug:
09.12.2010 07:05:06.00 | TRANSMITTED | 01 03 00 01 00 01 D5 CA
09.12.2010 07:05:06.00 | RECEIVED | 01 03 02 00 00 B8 44
09.12.2010 07:05:07.00 | TRANSMITTED | 01 03 00 01 00 01 D5 CA
09.12.2010 07:05:07.00 | RECEIVED | 01 03 02 00 00 B8 44
09.12.2010 07:05:07.00 | TRANSMITTED | 01 03 00 30 00 02 C4 04
09.12.2010 07:05:12.00 | TRANSMITTED | 01 03 00 30 00 02 C4 04
09.12.2010 07:05:17.00 | TRANSMITTED | 01 03 00 30 00 02 C4 04
09.12.2010 07:05:22.00 | TRANSMITTED | 01 03 00 30 00 02 C4 04
09.12.2010 07:05:27.00 | TRANSMITTED | 01 03 00 30 00 02 C4 04
09.12.2010 07:05:32.00 | TRANSMITTED | 01 03 00 30 00 02 C4 04
09.12.2010 07:05:37.00 | TRANSMITTED | 01 03 00 01 00 01 D5 CA
09.12.2010 07:05:37.00 | RECEIVED | 01 03 02 00
09.12.2010 07:05:37.00 | RECEIVED | 00 B8 44

und analog dazu aus portmon:
0 0.00000000 ips.exe IRP_MJ_WRITE VCP0 Length 8: 01 03 00 30 00 02 C4 04
0 0.00094653 SUCCESS
1 0.00000000 ips.exe IRP_MJ_WRITE VCP0 Length 8: 01 03 00 01 00 01 D5 CA
1 0.00027578 SUCCESS
2 0.00000000 ips.exe IOCTL_SERIAL_GET_COMMSTATUS VCP0

Fazit: Das sieht für mich so aus, als wenn die Kommunikation Ok ist, nur die Angesprochenen Adressen noch falsch sind.
Und da kommt glaube ich mein Problem - ich habe keine Ahnung welchen Wert ich für A1 oder B2 usw. eingeben soll.
Sämtliche Versuche hex in dez umzurechnen und diese Zahl zu benutzen schlugen bis jetzt fehl.

Es wäre total nett, wenn einer der sich gut mit Modbus auskennt mir hier etwas weiterhelfen könnte.
Ich kann mir gar nicht vorstellen, das Dupline so eine Insellösung ist, da z. B. der Hamburger Yachthafen auch so etwas hat und die Geräte von CarloGavazzi sehen von From (bis auf Farbe) und Beschreibung genauso aus und ein Stromzähler dieser Fa. wird von IPS doch auch schon unterstützt.

Vielleicht finden sich durch diesen Beitrag noch mehr Benutzer von Dupline und es wird vielleicht in IPS integriert oder wir können gemeinsam etwas erstellen.

Gruß comdi

Dokument1.txt (20.6 KB)

Hast ja schonmal gut recherchiert. Logge doch mal mit Portmon mit, was deine Dupline Visu schickt, wenn du die Lampe an und dann wieder aus machst. Das am besten ein paar Mal, damit man das Pattern sieht.

Dann kann ich mal gucken mit welchen Einstellungen du das in IPS reproduzieren kannst.

Das was du oben mitgeloggt hast, liest mehrere Register ein… was recht unpraktisch wäre zum Auswerten.

paresy

Hallo
erstmal Danke für die Superschnelle Antwort.

Anbei ca 1 min log aus smart-house - musste es auf 3 Dateien aufteilen.
In der zwischenzeit habe ich noch ein paar sachen ausgegraben - ich hoffe das hilft.
Ein Word und Excel Dokument und ein Modbus Testtool von Dupline.
Ich glaube der Screenshot bestätigt das mit den Registern.
Fast alle Zeilen fangen mit 01 03 an - glaube 01 für den Master (da man damit ja auch ein Netzwerk aufbauen kann.
03 scheint die Art zu sein (Screenshot) und weiter habe ich es noch nicht durchschaut.

Kannst Du damit was anfangen? und mir helfen?
Danke schon mal im vorraus.

mfg
comdi

PS: Bei 128 Kanälen A1 bis P8 Zykluszeit 136ms
Zum Verständnis des Systems gibt es bei einer FH ein schönes Dokument
http://www.fh-dortmund.de/de/studi/fb/3/personen/lehr/aschendorf/lehre/Lehrartikel_EG/Kapitel_5_D__pke_Dupline.pdf

Portmon.txt (161 KB)

Portmon2.txt (170 KB)

Portmon3.txt (38.7 KB)

G34960005 Telegram structure.doc (69 KB)

Master Module G34960005 Dupline Mapping.xls (50.5 KB)

ach ja - B2 3x an und ausgeschaltet - aber wie findet man das in dem langen Logfile. Wie gesagt, habe alles aus der Visualisierung rausgenommen - bis auf Schalter B2…
Kann mir einer helfen?

Gruß comdi