Beidendorfer
Level-1
- Beiträge
- 30
- Reaktionspunkte
- 0
ANF: L #Zaehler // Vergleiche die TAGE und den Zähler
L "MW548" // Um das Ende des Durchlaufs zu finden
==I
SPB YES1
L 0
L #Zaehler // Lädt den Zaehler und vergleicht ihn mit der 0
==I
SPB YES3 // Wenn es nicht der erste Durchlauf ist d.h. Zaehler > 0 werden die Nocken aktiviert on morgens bis Abends
L #Zaehler
T #Nocken_NR
L 12
T #EIN_STUNDE
T #EIN_MINUTE
T #AUS_STUNDE
T #AUS_MINUTE
L #DAY_AKTUELL
T #EIN_TAG
T #AUS_TAG
R #deaktiviert
R #taeglich
S "M603.7"
L #Zaehler
L 1
+I
T #Zaehler
SPA ANF
YES3: NOP 0
YES1: NOP 0
Mein Program springt aus der Schleife wenn mein Zähler 0 ist oder er gleich dem Wert von MW538 ist!Code:S "M603.7" L #Zaehler L 1 +I T #Zaehler SPA ANF YES3: NOP 0 YES1: NOP 0
in der anderen Zeit soll er die Schleife durchlaufen die Werte Belegen und den Zähler erhöhen und danach aus der Schleife gehen
Der Merker M603.7 aktiviert das Schreiben der Variablen in ein DB
Leider wird nur der letze Datensatz beschrieben d.h. der letzte Zählerstand bevor er aus der Schleife geht
L 0
L #Zaehler // Lädt den Zaehler und vergleicht ihn mit der 0
==I
SPB YES3 // Wenn es nicht der erste Durchlauf ist d.h. Zaehler > 0 werden die Nocken aktiviert on morgens bis Abends
L #Zaehler
T #Nocken_NR
L 12
T #EIN_STUNDE
T #EIN_MINUTE
T #AUS_STUNDE
T #AUS_MINUTE
L #DAY_AKTUELL
T #EIN_TAG
T #AUS_TAG
R #deaktiviert
R #taeglich
S "M603.7"
Sollte doch gehen!
sehe den fehler nicht!
UN "M603.6"
SPB END6
L 0
T #Zaehler // Zähler und Nocken Nr mit 0 Initialisieren
T #Nocken_NR
L "MW548" // im OP ausgewählte Tagesanzahl
T #TAGE // Nach Tage kopieren
L "MW532" // im OP ausgewählter Wochentag
T #EIN_TAG // Nach EIN_TAG kopieren
L #TAGE // Addition der des Starttages mit der Laufzeit
L #EIN_TAG
+I
T #TAGE
T #DAY_AKTUELL // Werte werden auch nach DAY.. gespeichert um bei der späteren division die TAGE nicht zu verändern
ANF2: L #Zaehler // Vergleiche die TAGE und den Zähler
L "MW548" // Um das Ende des Durchlaufs zu finden
==I
SPB YES1
L 7 // Vergleiche die TAGE mit der Wochentagsanzahl
L #TAGE
<=I
SPBN YES2 // Wenn nicht kleiner gleich, springe zu Yes2
L #DAY_AKTUELL // Lade die addition der Starttage und der Laufzeit
L 7 // Teile Sie durch 7 um Sie in jeder Woche einschalten zu können.
/I
SRD 16 // Das Ergebnis um 16 stellen nach rechts Schieben, um den Rest der Division zu bekommen
T #DAY_AKTUELL
L 0 //Vergleiche das Divisionsergebnis in DAY_AKTUELL mit den 0
L #DAY_AKTUELL
==D
SPBN YES2 // Wenn es 0 ist, setzte 7, da die Siemenswoche von 1..7 geht
L 7
T #DAY_AKTUELL
YES2: L 0
L #Zaehler // Lädt den Zaehler und vergleicht ihn mit der 0
==I
SPB YES3 // Wenn es nicht der erste Durchlauf ist d.h. Zaehler > 0 werden die Nocken aktiviert on morgens bis Abends
L #Zaehler
T #Nocken_NR
L 12
T #EIN_STUNDE
T #EIN_MINUTE
T #AUS_STUNDE
T #AUS_MINUTE
L #DAY_AKTUELL
T #EIN_TAG
T #AUS_TAG
R #deaktiviert
R #taeglich
S "M603.7"
S M 101.1
YES3: NOP 0
L #Zaehler
L 1
+I
T #Zaehler
T "MW704"
YES1: NOP 0
END6: NOP 0
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?