Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Logikbaustein - Fehler

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

    - √ - Logikbaustein - Fehler

    habe einen Logikbaustein entworfen, aber der HS meckert ihn immer an:

    5012|0|"((AN[1]==1) and (AA[1]==0) and (SN[3]==4))"|"1"|""|0|0|4|0

    mit folgendem Hinweis:

    30.04.2008 19:01:08 (1)
    File "/hs/compile/hs_logik.py", line 118, in addFormel
    TypeError: len() of unsized object
    [5012L, 19849L, 0L, '', 0, '', 0L, 0L, 4L, 0L]


    Tja, ich weiss nimmer weiter, findet einer da den Fehler?
    never fummel a running system...

    #2
    Wie sieht der baustein komplett aus?
    Gruß Matthias
    EIB übersetzt meine Frau mit "Ehepaar Ist Beschäftigt"
    - PN nur für PERSÖNLICHES!

    Kommentar


      #3
      So...

      ### Peter Högg März 2008 ###


      ### Ladenkontrolle ###

      5000|"Hoegg\LadenLogik"|0|13|"Dämmerung"|"Sperre vor Spät auf"|"Frühestes Auf (HH)"|"Frühestes Auf (MM)"|"Spätestes auf (HH)"|"Spätestes auf (MM)"|"Frühestes zu (HH)"|"Frühestes zu (MM)"|"Spätestes zu (HH)"|"Spätestes zu (MM)"|"EMA-ALarm"|"Debug Zeitzone"|"Zeitzone gesperrt"|4|"Ladenobjekt"|"Zeitzone"|"Ladenobjekt neg"|"Sperrre gewechselt"|



      #5001
      # Anzahl Eingänge
      # | Ausgänge
      # | | Zeitspeicher
      # | | | Speicher
      # | | | | Berechnung bei Start
      5001|13|4|1|4|1


      # EN[x]
      #5002
      # Eingang
      # Default Wert
      # 0=numerisch 1=alphanummerisch
      5002| 1|0|0 # Dämmerung
      5002| 2|0|0 # gesperrt
      5002| 3|7|0 # früheste auf - Stunde
      5002| 4|0|0 # früheste auf Minute
      5002| 5|9|0 # spätestes aufgehen Stunde
      5002| 6|30|0 # spätestes auf Minute
      5002| 7|16|0 # früh zu Stunde
      5002| 8|30|0 # frühestens zu Minute
      5002| 9|21|0 # spät zu Stunde
      5002|10|0|0 # spät zu Minute
      5002|11|0|0 # Alarmanlage ausgelöst
      5002|12|0|0 # Zeitzone Vorgabe zum Test
      5002|13|0|0 # Zeitzone gesperrt unterdrückt weiteres Schalten in Zeitzone 1 Morgens


      # SN[x]
      #5003
      # Speicher
      # Initwert
      # Remanent
      5003|1|0|0 # Stunde
      5003|2|0|0 # Minute
      5003|3|1|0 # 1 Zeitzone_Läden
      5003|4|0|0 # Zeitzone gesperrt für schalten über EMA


      # AN[x]
      #5004
      # Ausgang
      # | Initwert
      # | | runden binär (0/1)
      # | | | typ (1-send/2-sbc)
      # | | | | 0=numerisch 1=alphanummerisch
      5004|1|0|0|2|0 #ladensteuerung
      5004|2|0|0|2|0 #debug zeitzone
      5004|3|0|0|2|0 #ladensteuerung negiert
      5004|4|0|0|2|0 #zeitzone gesperrt


      #Abbruch|Bedingung|Wert / Formel|Zeitformel|Ausgang|Zeitspeicher|Speichervar |Negierter Ausgang

      # EMA ausgelöst, Abbruch und läden AUF
      5012|1|"(EN[11]==1)"|"0"|"10"|1|1|0|0

      # Zeit in Speicher importieren
      5012|0|""|"__import__('time').localtime()[3]"|""|0|0|1|0
      5012|0|""|"__import__('time').localtime()[4]"|""|0|0|2|0
      #Ema Wechsel importieren
      5012|0|""|EN[13]|""|0|0|4|0 #kennzahl ob zeitzone gesperrt


      # Zeitzonen erstellen
      # 1 ist Nachts,2 morgens, 3 tags, 4 abends
      #frühestes Auf vergleichen
      5012|0|"((SN[1]>EN[3]) or (SN[1]==EN[3] and SN[2]>EN[4]))" |"2"|""|0|0|3|0
      #spätestes AUF vergleichen
      5012|0|"((SN[1]>EN[5]) or (SN[1]==EN[5] and SN[2]>EN[6]))" |"3"|""|0|0|3|0
      #frühestes ZU vergleichen
      5012|0|"((SN[1]>EN[7]) or (SN[1]==EN[7] and SN[2]>EN[8]))" |"4"|""|0|0|3|0
      #spätestes ZU vergleichen
      5012|0|"((SN[1]>EN[9]) or (SN[1]==EN[9] and SN[2]>EN[10]))" |"1"|""|0|0|3|0


      #Zeitzone für Debug vorgeben, setzt nach der erstellten Zeitzone auf
      #Abbruch|Bedingung|Wert / Formel|Zeitformel|Ausgang|Zeitspeicher|Speichervar |Negierter Ausgang
      5012|0|"(EN[12]==1)"|"1"|""|0|0|3|0
      5012|0|"(EN[12]==2)"|"2"|""|0|0|3|0
      5012|0|"(EN[12]==3)"|"3"|""|0|0|3|0
      5012|0|"(EN[12]==4)"|"4"|""|0|0|3|0



      # Vergleich Zeitzonen
      # Zeitfenster 7.00 bis 9.30 in Abhängigkeit von Dämmerung (EN[1]) und EMA AN (EN[2])
      5012|0|"((SN[3]==2) and (EN[1]==0) and (EN[2]==0) and (SN[4]==0))"|"1"|""|1|0|0|3
      5012|0|"((SN[3]==2) and (EN[1]==0) and (EN[2]==1) and (SN[4]==0))"|"0"|""|1|0|0|3
      5012|0|"((SN[3]==2) and (EN[1]==1) and (EN[2]==0) and (SN[4]==0))"|"1"|""|1|0|0|3
      5012|0|"((SN[3]==2) and (EN[1]==1) and (EN[2]==1) and (SN[4]==0))"|"1"|""|1|0|0|3

      #Nur wenn sich der Wert des Ausgangs auf 0 (=auf) ändert wird die Sperre aktiviert
      #zurückgesetzt wird das um 9.30 Uhr via Zeitauswertung
      5012|0|"((AN[1]==0) and (AA[1]==1))"|"1"|""|0|0|4|0
      |

      # Zeitfenster nach 21 und vor 7, also nachts
      5012|0|"(SN[3]==1)"|"1"|""|1|0|0|3
      5012|0|"(SN[3]==1)"|"0"|""|0|0|4|0


      # hier tags (9.30-16.30)
      5012|0|"(SN[3]==3)"|"0"|""|1|0|0|3
      5012|0|"(SN[3]==3)"|"0"|""|0|0|4|0



      # Zeitfenster 16.30 bis 21
      5012|0|"((SN[3]==4) and (EN[1]==0) and (SN[4]==0))"|"0"|""|1|0|0|3
      5012|0|"((SN[3]==4) and (EN[1]==1) and (SN[4]==0))"|"1"|""|1|0|0|3
      #Nur wenn sich der Wert des Ausgangs auf 1 (=zu) ändert wird die Sperre aktiviert
      #zurückgesetzt wird das um 21.00 Uhr via Zeitauswertung
      5012|0|"((AN[1]==1) and (AA[1]==0) and (SN[3]==4))"|"1"|""|0|0|4|0



      #Ausgaben
      #Zeitzone
      5012|0|""|"SN[3]"|""|2|0|0|0

      #EMA Wechsel
      5012|0|""|"SN[4]"|""|4|0|0|0



      # Restart Zeitprüfung
      5012|1|""|""|"15"|0|1|0|0
      never fummel a running system...

      Kommentar


        #4
        Hallo TRex!

        Hier fehlen zumindest schon mal 2 Anführungszeichen:
        #Ema Wechsel importieren
        5012|0|""|"EN[13]"|""|0|0|4|0 #kennzahl ob zeitzone gesperrt

        Vielleicht wars das ja schon...

        Viel Erfolg noch beim testen...
        Gruß, Marc

        Kommentar


          #5
          ... und nach der 5012-Zeile vor
          # Zeitfenster nach 21 und vor 7, also nachts
          5012 ...

          hast du eine Zeile nur mit |-Zeichen.

          ... und das | am Ende der 5000-Zeile ist mindestens unnötig. Soweit zunachst zur reinen Syntax.
          Gruß, Rainer

          Kommentar


            #6
            Danke Jungs, Super, das waren die Fehler.
            wenn du so ein dings da schreibst, dann siehste manchmal den Wald vor Bäumen nicht....
            Jetzt muss ich mich noch um eine gültige Nummer kümmern, dann werde ich das Ding mal veröffentlichen...
            Peter
            never fummel a running system...

            Kommentar

            Lädt...
            X