PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Rechnen mit dem HS, was ist hier falsch?



viceversa
26.01.07, 20:26
Habe ein Display von Busch-Jäger im Einsatz, es ist ein 6136. Es kann nur EIS 5 und EIS 6 Werte anzeigen.
Ich möchte auf diesem Display gern das aktuelle Datum anzeigen, was mit EIS 5 bzw EIS 6 so nicht geht.

Habe mir beigefügte HS-Logik überlegt:

Also heute ist der 26.01. Der Monat 01 wird durch 99 geteilt = 0,0101
Dieses Ergebnis wird mit dem Tag 26 addiert = 26,0101
Dieser Wert geht als EIS5 auf den Bus und wird vom Display gelesen.

Auf dem Display lasse ich mir nur die ersten beiden Stellen nach dem Komma anzeigen und erhalte 26.01, also das aktuelle Datum.

Für alle die sich jetzt fragen, warum ich durch 99 teile und nicht durch hundert sei erklärt, das bei einer Division durch hundert im 10. Monat 26.1 angezeigt wird, bei einer Division durch 99 jedoch 26.10 und die weiteren Stellen nach dem Komma werden nicht angezeigt.

Soweit, so gut. Im letzten Jahr funktionierte dies bis 31.12. einwandfrei. Seit Januar funktioniert die ganze Rechnerei nicht mehr. Auf dem Display wird 26.00 angezeigt und das ist auch der Wert der Gruppenadresse 12,3,35 auf dem Bus.

Auf der Visu-Oberfläche erscheint jedoch das korrekte Datum. Der Wert der KO´s Tag und Monat ist also auch korrekt. Warum rechnet der HS nicht richtig? Oder was mache ich falsch?
Sinngemäß habe ich diese Schaltung auch für die Uhrzeit realisiert. Das Funktioniert einwandfrei.
Ich hoffe dieses Wirrwarr hat jetzt jemand verstanden.

Matthias Schmidt
26.01.07, 20:41
Kann das Display keine 14byte-Texte?

viceversa
26.01.07, 20:45
Nein, deshalb die "Kunstschaltung".

Es funktionierte ja auch schon mal.

blue
26.01.07, 21:39
Nein, deshalb die "Kunstschaltung".

Es funktionierte ja auch schon mal.

hallo,

was sagt der eibmon vom hs?

gruss

günther

viceversa
26.01.07, 21:43
Der EIB-Monitor zeigt 26,0 an. Das ist auch der Wert den ich bekomme, wenn ich die Gruppenadresse mit der ETS abfrage.

Die Anzeige auf dem Display entspricht also dem Wert auf dem Bus.

blue
26.01.07, 21:45
Der EIB-Monitor zeigt 26,0 an. Das ist auch der Wert den ich bekomme, wenn ich die Gruppenadresse mit der ETS abfrage.

Die Anzeige auf dem Display entspricht also dem Wert auf dem Bus.

und was für eis typen sind tag und monat?

viceversa
26.01.07, 21:52
8 bit 0...255 / EIS2,6

min Wert des KO im HS = 0
max Wert des KO im HS = 12 bzw.31
Init-Wert=0

blue
26.01.07, 22:00
8 bit 0...255 / EIS2,6

min Wert des KO im HS = 0
max Wert des KO im HS = 12 bzw.31
Init-Wert=0

wenn ich das dann richtig verstanden habe,
schreibst du die addition in ein eis 5 mit der ga 12,3,35 ? (16bit-671088,64..670760,96)

ich stell das morgen mal nach und schreib dir ne mail.

gruss

günther

viceversa
26.01.07, 22:09
Du hast es richtig verstanden. Das Ergebnis der Addition ist EIS 5 im genannten Bereich.

Habe zwischenzeitlich das Ergebnis der Division visualisiert und es ist 0,010. Also richtig. Das Problem muß in der Addition liegen.

viceversa
26.01.07, 22:22
So, nun habe ich auch noch das Gesamtergebnis der Rechnung auf der HS-Visu eingelendet und es ist tatsächlich 26,010 als internes EIS5 KO.

Und auf dem Bus ist es 26,00. :confused:

Matthias Schmidt
26.01.07, 22:22
ich glaube, das Problem liegt in de Rundung bei den datentypen. Probiere als Speicher mal ein 4byte-KO, das ist genauer.

viceversa
26.01.07, 22:44
Der Homeserver zeigt es auf der Visu korrekt an. Egal wieviele Stellen nach dem Komma ich einblenden lasse. Auch mit 4byte.

Trotzdem ist doch die Rundung falsch.

26,01010101 ist doch nicht 26,00.

Ich werde es morgen noch mal mit einem anderen Divisor versuchen.

blue
26.01.07, 22:47
hallo,

es gibt von tilo einen baustein "runden und nachkomma", evtl. bringt der was.
der gibt Ganzzahl und Nachkommanteil einer Gleitkommazahl aus

gruss

günther