S7 200 und echtzeituhr "Zeitschaltuhr"

Hallo!

Ich habe den Lösungsweg von D. Albinus nachprogrammiert. Jetzt würde ich aber gerne noch die Sekdunden mit ins spiel bringen, d.h. die Rolladen sollen schon wieder um 20:00:12 zurückgesetzt werden. Wie bringe ich sowas ein?

So mein meine Verschiebung der VB's aus

Code:
LD     SM0.0
MOVB   VB3, VB8
LD     SM0.0
MOVB   VB4, VB9
LD     SM0.0
MOVB   VB5, VB10

Aber wie sage ich, dass er um 20:00:12 den Eingang A0.1 zurücksetzen soll? Also welche Zahlen muss ich in den "(????)" Bereich eintragen um die Sekunden noch mit zu berücksichtigen???

Code:
LDW= VB8, 2000
S A0.1, 1
LDW= VB8, (????)
R A 0.1, 1


Danke für euere Hilfe!!!

Mfg

Hanf_Lolly
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Hanf_Lolly

Habe es nicht getestet aber es müste so gehen

Code:
LD     Immer_ein
NOP    1                           //Sekunden
BTI    VB5, AC0
MOVW   AC0, AC1
BCDI   AC1
NOP    1                           //Minuten
BTI    VB4, AC0
BCDI   AC0
*I     +100, AC0
+I     AC0, AC1
ITD    AC1, AC1
NOP    1                           //Stunden
BTI    VB3, AC0
BCDI   AC0
ITD    AC0, AC0
*D     +10000, AC0
MOVD   AC0, VD10
+D     AC1, VD10                   //20:00:12 -> Doppelwort VD10 200012

und dann nur mehr das Doppelwort vergleichen.


Oder du verwendest http://www.s7-200.net/libraries/Scri...6a.html?Part=1
 
Habe ich alles so in mein Programm geschrieben, aber mein Step 7 Mirco WIN sagt mir, dass die ausgewählte Operation von dem ausgewählten Zielsystem nicht unterstützt wird... ich habe eine CPU 214; CPU Version 01.11

Kann das sein, dass die multiplizier Funktion nicht unterstützt wird oder so? Und was ist überhaupt AC01 etc?

Mfg

Hanf_Lolly
 
Hallo Hanf_Lolly


Habe ich alles so in mein Programm geschrieben, aber mein Step 7 Mirco WIN sagt mir, dass die ausgewählte Operation von dem ausgewählten Zielsystem nicht unterstützt wird... ich habe eine CPU 214; CPU Version 01.11

Das ist mein Fehler, denn meine kleinste CPU ist 216 und ich habe nicht bedacht das es noch keinere CPUs mit eingeschränktem Befehlssatz gibt.:icon_redface:

Ich kann dir erst Montag wieder helfen da zur Zeit nicht in der Firma bin.


Und was ist überhaupt AC01 etc?


AC0 AC1 sind die Akkumulatoren
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Hanf_Lolly

Hab es für 214 geschrieben und auf 216 getestet.


Code:
LD     Immer_ein
NOP    1                           //Sekunden
MOVB   VB5, AC0
MOVW   AC0, AC1
BCDI   AC1
NOP    1                           //Minuten
MOVB   VB4, AC0
BCDI   AC0
MUL    +100, AC0
+I     AC0, AC1
NOP    1                           //Stunden
MOVB   VB3, AC2
MOVW   AC2, AC0
BCDI   AC0
MUL    +10000, AC0
MOVD   AC0, VD10
+D     AC1, VD10                   //20:00:12 -> Doppelwort VD10 200012
 
Erstmal danke für deine Mühe aber funktionieren tut es das bei mir immmer noch nicht... also ich hab jetzt ein Netzwerk wo ich die Echtzeit in den VB0 lade dann ein Netzwerk mit dem Kram da oben und dann ein Netzwerk das sieht so aus:

Code:
LDD=   VD10, 200000                //z.B: Runterfahren um 20:00:00 Uhr
S      A1.1, 1                     //Rolladen runterfahren(1=1Bit) - Endlagen extern
LDD=   VD10, 200012                //Abschalten um 20:00:12 Uhr
R      A1.1, 1                     //Rolladen nicht mehr ansteuern(1=1Bit)

Was ist daran denn noch verkehrt?

Mfg

Hanf_Lolly
 
Erstmal danke für deine Mühe aber funktionieren tut es das bei mir immmer noch nicht... also ich hab jetzt ein Netzwerk wo ich die Echtzeit in den VB0 lade dann ein Netzwerk mit dem Kram da oben und dann ein Netzwerk das sieht so aus:

Code:
LDD=   VD10, 200000                //z.B: Runterfahren um 20:00:00 Uhr
S      A1.1, 1                     //Rolladen runterfahren(1=1Bit) - Endlagen extern
LDD=   VD10, 200012                //Abschalten um 20:00:12 Uhr
R      A1.1, 1                     //Rolladen nicht mehr ansteuern(1=1Bit)

Was ist daran denn noch verkehrt?

Mfg

Hanf_Lolly

hast du dir den Status von VD10 schon mal angeschaut?
Was steht in vd10 drinnen?
 
Zurück
Oben