Ankündigung

Einklappen
Keine Ankündigung bisher.

Nachkommastelle Logikbaustein

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Nachkommastelle Logikbaustein

    Hallo,

    ich hab mich mal an einen Baustein ran gewagt der mir auf die Ausgänge die Vor- und Nachkommastelle ausgibt. Aber irgendwas läuft hier noch schief. Wenn ich das mit dem Logikdebugger teste zeigt mir die Nachkommastelle immer einen falschen Wert an. Wer kann mir Helfen das er mir den richtigen Wert bzw. nur drei Nachkommastellen anzeigt.

    Code:
    ###5000|"Text"|Remanent(1/0)|Anz.Eingänge|.n.|Anzahl Ausgänge|.n.|.n.
    ###5001|Anzahl Eingänge|Ausgänge|Offset|Speicher|Berechnung bei Start
    ###5002|Index Eingang|Default Wert|0=numerisch 1=alphanummerisch
    ###5003|Speicher|Initwert|Remanent
    ###5004|ausgang|Initwert|runden binär (0/1)|typ (1-send/2-sbc)|0=numerisch 1=alphanummerisch
    ###5012|abbruch bei bed. (0/1)|bedingung|formel|zeit|pin-ausgang|pin-offset|pin-speicher|pin-neg.ausgang
    ###################################################
    
    
    ###BESCHREIBUNG
    ###5000 | "Text" | Remanent(1/0)| Anz.Eingänge |.n.| Anzahl Ausgänge | "Text Version" |.n.
    5000|"eigene BS\Vorkomma-Nachkomma"|0|1|"E1 Eingangswert"|2|"A1 Vorkomma"|"A2 Nachkomma"|"v0.1"
    
    ### INIT
    ### 5001 | Eingänge Anzahl|Ausgänge Anzahl | Offset | Speicher Anzahl | Berechnung bei Start (0/1)
    5001|1|2|0|1|1
    
    ### SPEICHER
    ### 5003 | Speicher-Nr. | Initwert | Remanent (0/1)
    5003|1|0|0
    
    ### EINGANG
    ### 5002 | Index Eingang | Defaultwert | 0=numerisch/1=alphanummerisch
    5002|1|0|0               # E1: Eingang
    
    ### AUSGANG
    ### 5004 | ausgang | Initwert| runden/binär (0/1)| Typ (1-send/2-sbc)| Typ: 0=numerisch/1=alphanummerisch
    5004|1|0|0|1|0           # A5: Vorkomma
    5004|2|0|0|1|0           # A6: Nachkomma
    
    ### LOGIK
    ### 5012|abbruch bei bed. (0/1)|bedingung|formel|zeit|pin-ausgang|pin-offset|pin-speicher|pin-neg.ausgang
    
    # zerlegung in vorkomma und nachkomma mit modf
    5012|0|""|"__import__('math').modf(EN[1])"|""|0|0|1|0
    
    # AUSGAENGE bedienen
    5012|0|"EC[1]"|"SN[1][1]"|""|1|0|0|0
    5012|0|"EC[1]"|"SN[1][0]"|""|2|0|0|0

    Grüße
    Jascha
    Angehängte Dateien

    #2
    Ich hätte es straight forward mit trunc(x) und mit trunc(x-trunc(x))*1000) für 3 Nachkommastellen gemacht.

    Könnte aber auch einfach nur ein Rundungsfehler sein...
    Zuletzt geändert von Tokamak; 27.12.2017, 07:57. Grund: Edit: Nachdem ich das Bild gesehen habe
    openHAB 4.2

    Kommentar


      #3
      Zitat von Tokamak Beitrag anzeigen
      (x-trunc(x))*1000)
      Hi,

      erstmal danke für den Tip. Hast du da eine Bespielszeile für mich wie ich das komplett einsetzen kann. Gebe ich
      5012|0|""|"__import__('math').trunc(x-trunc(EN[1])*1000)"|""|0|0|1|0 klappt es nicht.

      Grüße

      Kommentar

      Lädt...
      X