mikrocontroller.net

Forum: Haus & Smart Home p90 protokoll kieback&peter ddc3200


Autor: Jay B. (jay_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
ich möchte eine ddc3200 über die serielle schnittstelle im terminal 
modus bedienen (vor allem sonderzeiten für die heizung eingeben).
gibt es dazu ein kostenloses programm?
unabhängig davon suche ich auch informationen (befehle/protokoll/alles 
andere) über die p90 schnittstelle.
desweiteren bin ich auch für jeden anderen tip, der zu meinem ziel 
führt, dankbar.

jay

Autor: Robert L. (lrlr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ein kostenloses programm?


Beitrag "Neues Terminal-Programm für Windows"

oder putty

(oder beim alten windows war eines dabei)..

Autor: Jay B. (jay_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
äähm?
ich suche kein terminalprogramm!

ich suche die befehle des p90 protokolls!
oder eben ein programm, das bereits von "irgendwas" nach p90 wandelt und 
dies dann seriell an die ddc sendet.

jay

Autor: lrlr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
konnte man halt an deiner ursprünglichen frage, nicht wirklich 
erkennen..

der Hersteller bietet so was nicht an?

Autor: Jay B. (jay_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

hm, ich dachte, das wäre durch die überschrift und den kontext 
ersichtlich :-)

zum hersteller: der bietet zwar programme an, diese liegen aber im 
bereich von mehreren hundert euro (allein ein serielles kabel kostet bei 
dem über 100e).
ist für mich als interessierten privatmensch indiskutabel.

in andren foren und artikeln sprechen techniker davon, dass es da freie 
programme "im netz" gäbe, dass man da was über den terminal mode des 
gerätes machen könnte, und dass das p90 protokoll ja öffentlich sei.

mein hauptproblem ist nun, dass p90 eine sehr oft gebrauchte abkürzung 
ist, sodass google darüber zu viele/keine brauchbaren infos rauswirft...

ich habe auch in einem artikel gelesen, dass k&p die 
protokollbeschreibung (was immer das ist) zwar als pdf per email 
versendet, dies aber nur an "kunden" tut...

ich brauche nun also jemanden, der sich mit ddc3000 zeug auskennt und 
mir infos darüber gibt (gerne auch als pm), wie ich zb sonderzeiten 
einprogrammieren kann, ohne mich stundenlang durchs tastenmenue vor ort 
zu kämpfen...

da an der anlage sowieso ein modem zur "fernwartung" hängt, stelle ich 
mir das so vor, dass ich ein entsprechendes p90 befehlsmakro im laptop 
vorbereite, diesen dann statt dem modem anklemme und die programmierung 
vornehme.
der luxus wäre es natürlich, wenn ich es auch von zuhause per telefon 
übers modem erledigen könnte :-)

jay

Autor: Frank M. (mrp3)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

p90-protokoll beispiele für den MRP, sollte auch für ddc3200 gültig 
sein.


z.B. wert vom fühler b3 anfordern= parameter 1914

p0 1 1914

   1= Reglernummer ( 1-32)


parameter setzen z.B. parameter 1037= sollwert xs2

P0 1 1037 22

      22= sollwert der neu gesetzt werden soll

p0 1 *.* = gesamte parameterliste wird ausgegeben.

Autor: Jay B. (jay_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

Frank M. schrieb:
> hallo,
>
> p90-protokoll beispiele für den MRP, sollte auch für ddc3200 gültig
> sein.

danke :-)
allerdings habe ich auch die beschreibung für das p90 protokoll nicht 
:-/
das ist ja ebenfalls inhalt meiner frage :-)
wenn du mir da also was zusenden kannst?

danke
jay

Autor: TheLooser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Suche mal nach ModBusPoll

Autor: Jay B. (jay_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TheLooser schrieb:
> Suche mal nach ModBusPoll

super tip!!
danke :)

jay

Autor: Frank M. (mrp3)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
anbei original doku,
mehr hab ich nicht.

Autor: Jay B. (jay_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

Frank M. schrieb:
> mehr hab ich nicht.

danke. aber wenn man den tip oben bei google benutzt, findet man links 
zu allen listen und dokumentationen die man barucht.
auch kostenlose master programme sind dabei...

jetzt brauche ich nur wieder zeit, um mich durch die 20 dokus 
durchzukämpfen :)

jay

Autor: Andreas K. (athos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bin gerade darüber gestolpert, weil ich ähnliches vorhabe.

aber irgendwie finde ich bei Google nicht das richtige.

wo finde ich denn die listen und dokus, und wie würde ein solches 
masterprogramm heisen?


Gruß Andreas

Autor: StreetPiet (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich ringe derzeit auch mit einem LRP 4 von Kieback&Peter.

Zumindest konnte ich die Kommunikation zwischen der LRP-Software und dem 
Kontroller schon mal abhören und etwas auseinanderdividieren.

Ich bin schon mehrmals beim Googlen über diesen Thread gestolpert, 
vielleicht gibt es da draußen noch ein paar einsame Kämpfer mit den 
selben Problemen...

Hier das (vorläufige) Ergebnis:
Steuerzeichen:
--------------
STX = Start Text, 0x02 Hex
ETX = End of Text, 0x03 Hex
CR = Carriage Return, 0x0d Hex
SUB = Substitute, 0x1a Hex
DC2 = Device Control 2, 0x12 Hex
ACK = Acknowledge, 0x06 Hex
NACK = No Acknowledge, 0x15 Hex
SYN = Synchronous idle, 0x16 Hex

Befehlsaufbau:
--------------
<STX><Befehl><CR><ETX><Checksumme?><SUB>
z.B. "\x02T1 2 81 10 00\r\x03AD37\xa1" (in Bash Notation)

Abgehörte Befehle:
------------------
G0 0000 Terminalprog.__ 128 0 1.04 A 0.0.0 2 KPT001 (Checksumme: D240)
G0 0000 Ich_bin_ein_LRP 81 10 3.63 0 21 LRP001 (Checksumme: BFD3)
 - Hiermit scheint sich der LPR oder das Terminal vorzustellen
 - Geeignete Antwort der Gegenstelle scheint ein SYN, ACK zu sein

T0 * (CS: 2A4E)
 - Anwort: SYN, DC2, SYN, ACK

T1 2 81 10 00 (CS: AD37)
 - 2 dürfte hier die Kontrolleradresse sein
 - Antwort: SYN, ACK

Z6 0 T0 * (CS: 0E60)
 - Antwort: SYN, ACK

G8 2 (CS: 16C5)
 - Antwort: SYN, ACK

Z2 0 G8 2 (CS: 9FDE)
 - Antwort: SYN, ACK

Z2 64 G0 0000 Terminalprog.__ 128 0 1.04 A 0.0.0 2 KPT001 (CS: A8F3)
 - Antwort: SYN, ACK

p0 2 * (CS: 62F5)
 - Antwort: SYN, ACK
 - Darauf folgt eine Parameterliste:
 p1 2 5100 28.0 108 08 00 XS Raumtemp. (CS: 25E9)
 p1 2 5120 10.0 109 08 00 XPY1 (CS: 5c9e)
 ...
 usw.
 - Jede Zeile muss mit einem SYN, ACK bestätigt werden, dann folgt die nächste.

Ich konnte die Ausgabe der Parameterliste mit ein paar von Hand 
zusammengefrickelten Befehlen anstoßen. Um die Parameter gezielt 
auslesen zu können müßte man evtl. so was wie Expect verwenden.

Autor: MST (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo StreetPiet,
habe aktuell das gleiche Issue - allerdings mit einer DDC3200.

Das mit der Prüfsumme ist korrekt erkannt.

Die Prüfsumme wird nach CRC-CCITT (XModem) berechnet.

Bsp.

<STX>p0 2 *<CR><ETX>
02 70 30 20 32 20 2A 0D 03

ergibt die Prüfsumme 62F5

und somit folgende Anfrage:
<STX>p0 2 *<CR><ETX>0x62 0xF5 <SUB>
02 70 30 20 32 20 2A 0D 03 62 F5 1A

Zum Testen der Prüfsumme eignet sich z.B. 
http://www.lammertbies.nl/comm/info/crc-calculation.html

Wieder etwas weiter - Danke.

Grüße
Ralph

Autor: MST (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An alle Mitleser,

1) Diese Beispiel war falsch:
<STX>p0 2 *<CR><ETX> 0x62 0xF5 <SUB>
02 70 30 20 32 20 2A 0D 03 62 F5 1A

Richtig ist:
<STX>p0 2 *<CR><ETX>62F5<SUB>
02 70 30 20 32 20 2A 0D 03 36 32 46 35 1A

Die berechnete Prüfsumme im Beispiel ist [62][F5]
und muss als ASCII-String [62F5] eingesetzt werden!

2) Hier ein beispielhafte Kommunikation mit einer DDC3200
12.03.2014 09:35:33.098 [TX] - <STX>G0 0000 Terminalprog.__ 128 0 1.04 A 
0.0.0 2 KPT001<CR><ETX>D270<SUB>
12.03.2014 09:35:33.165 [RX] - <SYN><ACK><STX>G1 0000 000000000000000 32 
96 6.300 A 1 2 DDC001<CR><ETX>E4C1<SUB>
12.03.2014 09:35:35.555 [TX] - <SYN><ACK>
12.03.2014 09:35:40.432 [TX] - <STX>p0 1.0.0 *<CR><ETX>E2DA<SUB>
12.03.2014 09:35:40.456 [RX] - <SYN><ACK><STX>p1 1.0.0 899/1 6.300 0 0F 
00 <CR>
12.03.2014 09:35:44.942 [TX] - <SYN><ACK>
12.03.2014 09:35:45.005 [RX] - <STX>p1 1.0.0 2039/1 573 13 0F 00 
<CR><ETX>632D<SUB>
12.03.2014 09:35:46.935 [TX] - <SYN><ACK>
12.03.2014 09:35:46.956 [RX] - <STX>p1 1.0.0 i919/1 1 0F 00 
<CR><ETX>45BF<SUB>

>Terminalprogramm meldet sich an.
>DDC acknowledged + zeigt sich
>Terminal acknowledged
>Terminal schiebt den Befehl p0 1.0.0 *
>DDC acknowledged und gibt die 1. Antwort
>Terminal acknowledged
>DDC acknowledged und gibt die 2. Antwort
.....


Viel Spass

Ralph

Autor: StreetPiet (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ralph,

danke für den Tipp mit der Checksummenerzeugung!

Inzwischen kann ich mit Python korrekte Befehle an den LRP4 senden und 
mittels der pycrc16-Library ( http://code.google.com/p/pycrc16/ ) auch 
korrekte Checksummen erzeugen.

Anscheinend ist es dem LRP4 egal ob er die Checksumme in Groß- oder 
Kleinbuchstaben geliefert bekommt, jedoch müssen es zwingend vier 
Zeichen sein (also auch führende Null, z.B. "0AE6")

Es scheint auch einige Unterschiede bei der Befehlsschreibweise zu 
geben. So habe ich den "p0" Befehl schon in verschiedenen Variationen 
gesehen:

p0 1.0.0 * (in Deinem Beispiel)
p0 2 *  (Bei meinem LRP4. 2 ist hier warscheinlich die 
Controlleradresse...)
p0 2 *.*

Ich werde mal Deine Schreibweise testen.

Gruß,
Peter

Autor: MST (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,
hallo Mitleser,

Die Datenpunktadresse setzt sich wie folgt zusammen:

<GLT-AdressTEIL>:<Geräte-AdressTEIL>
(Anmerk. beide Teile werden durch einen DOPPELPUNKT ":" getrennt, der 
auch anzugeben ist)

Der <GLT-AdressTEIL> besteht aus
[<Netzwerk>.<Knoten>.]<Zentrale>
(Anmerk: [] ist optional und der PUNKT "." ist mit aufzuführen)

Für das P90-Protokoll reicht der <Geräte-AdressTEIL> aus und besteht aus
<Bus>.<Gerät> <ParameterNr>
(Anmerk: PUNKT "." und LEERZEICHEN " " sind anzugeben)

Der Bus und Gerät kann bei der DDC3200 am Display abgelesen werden, wenn 
man zum Beispiel einen DP abruft:
001.000 --> Bus 1 und Gerät 0
Deshalb sollten bei mir funktionieren
(a) "p0 1.0.0 *"
(b) "p0 1:1.0.0 *"
(c) "p0 1:1.0 *"

In o.a. P90-Doku steht zumindest, das die Unterstationsnummer BBB für 
eine DDC3000 nicht definiert ist. Vielleicht funktioniert deshalb ev. 
auch (b), weil es schlichweg ignoriert wird.


Weitere Beispiele wären aus der "GLT-Tools"-Doku (ggf. mal danach 
googlen:
1.1.5:2.1 7901/1 oder 5:2.1 7901 oder 5 2 1 7901

Grüße

Ralph

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.