'n Abend zusammen,
ich habe momentan ein Baeume-Wald Problem
Ein Baustein soll folgende Funktion erfüllen: Wenn das Eingangssignal auf 1 wechselt und für mindestens x Sekunden 1 bleibt, dann wird eine 1 auf dem Ausgang gesendet. Fällt der Eingang vorher ab, erfolgt keine Sendung. Realisieren wollte ich das mit einer internen Speichervariable und nem Zeitspeicher. Der Eingang des Bausteins erfolgt auch, der LocalTime-Wert wird abgespeichert und SN[1] wechselt auf 1, aber der Ausgang wird nie getriggert....
Any ideas?
#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
5000|"SG\MindestZeit"|0|2|"Signal"|"Mindestzeit(Se c)"|2|"Trigger"|"Debug"
5001|2|2|1|2|1
5002|1|0|0 # Signal
5002|2|0|0 # MindestZeit Sec
#Speicherwerte
5003|1|0|0 # Signal
5003|2|0|0 # ZeitEin
#Ausgänge
5004|1|0|0|1|0 #Abgelaufen
5004|2|0|0|1|1 #Debug
#Funktionen
#Wenn Eingang 1 geschossen hat, dann Speicherwert 1 auf 1 setzen
5012|0|"EC[1] and (EN[1]==1)"|"1"|""|0|0|1|0
#Wenn Eingang 1 geschossen hat, dann Aktuelle Zeit als Zeitstempel in #2 abspeichern
5012|0|"EC[1] and (EN[1]==1)"|"(__import__('time').localtime()[3]*3600 + __import__('time').localtime()[4]*60 + __import__('time').localtime()[5])"|""|0|0|2|0
#Wenn Eingang 1 zurueckgesetzt dann Speicherwert 1 auf 0 setzen
5012|0|"EC[1] and (EN[1]==0)"|"0"|""|0|0|1|0
#Wenn Zeitspeicher abgelaufen und Speicher 1 aktiv TriggerAusgang setzen
5012|0|"OC[1] and (SN[1]==1)"|""|"1"|1|0|0|0
#Wenn Eingang 1 geschossen hat, dann Zeitspeicher erneut aufrufen
5012|0|"EC[1] and (EN[1]==1)"|""|"EN[2]"|0|1|0|0
#Debug Ausgang
5012|0|""|"'Sp:' + str(int(SN[1])) + ' Zeit:' + str(int(SN[2]))"|""|2|0|0|0
ich habe momentan ein Baeume-Wald Problem

Any ideas?
#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
5000|"SG\MindestZeit"|0|2|"Signal"|"Mindestzeit(Se c)"|2|"Trigger"|"Debug"
5001|2|2|1|2|1
5002|1|0|0 # Signal
5002|2|0|0 # MindestZeit Sec
#Speicherwerte
5003|1|0|0 # Signal
5003|2|0|0 # ZeitEin
#Ausgänge
5004|1|0|0|1|0 #Abgelaufen
5004|2|0|0|1|1 #Debug
#Funktionen
#Wenn Eingang 1 geschossen hat, dann Speicherwert 1 auf 1 setzen
5012|0|"EC[1] and (EN[1]==1)"|"1"|""|0|0|1|0
#Wenn Eingang 1 geschossen hat, dann Aktuelle Zeit als Zeitstempel in #2 abspeichern
5012|0|"EC[1] and (EN[1]==1)"|"(__import__('time').localtime()[3]*3600 + __import__('time').localtime()[4]*60 + __import__('time').localtime()[5])"|""|0|0|2|0
#Wenn Eingang 1 zurueckgesetzt dann Speicherwert 1 auf 0 setzen
5012|0|"EC[1] and (EN[1]==0)"|"0"|""|0|0|1|0
#Wenn Zeitspeicher abgelaufen und Speicher 1 aktiv TriggerAusgang setzen
5012|0|"OC[1] and (SN[1]==1)"|""|"1"|1|0|0|0
#Wenn Eingang 1 geschossen hat, dann Zeitspeicher erneut aufrufen
5012|0|"EC[1] and (EN[1]==1)"|""|"EN[2]"|0|1|0|0
#Debug Ausgang
5012|0|""|"'Sp:' + str(int(SN[1])) + ' Zeit:' + str(int(SN[2]))"|""|2|0|0|0
Kommentar