S5 100U als Zeitschaltuhr

s.besler

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Sorry ich bin Anfänger und gerade etwas überfordert, ich möchte eine Zeitschaltung realisieren.

Z.B.
Auf Ausgabegruppe auf Slot 1 möchte ich den Port 0 um 16:00 einschalten und um 23:59 ausschalten.

Wenn mir jemand kurz ne AWL schreiben könnte würde mir sehr helfen
meine CPU hat einen internen Zeitgeber. ist eine 103er
 
Zuviel Werbung?
-> Hier kostenlos registrieren
so läuft das hier nicht.
bisschen eigeninitiative und zumindest mal ein ansatz.

benutze die interne uhr.

1. db1 parametrieren
Code:
 DB1     E:061207ST.S5D
     0:     KC ='DB1   SL1: SLN 1     SF ';
    12:     KC ='DB15 DW0   EF DB3  DW0  ';
    24:     KC =' KBE MB100 KBS MB101    ';
    36:     KC ='PGN 1  ;  CLP: CF 0     ';
    48:     KC =[B]'CLK DB15 DW0[/B]   [B]STW[/B]      ';
    60:     KC ='[B]MW102[/B]       STP Y SAV Y ';
    72:     KC ='OHE N    SET 4 17.04.01 ';
    84:     KC ='17:15:30     TIS 4      ';
    96:     KC ='01.04. 13:00:00     OHS ';
   108:     KC ='000000:00:00 ;  SDP: WD ';
   120:     KC =' 500 ;  TFB: OB13   62  ';
   132:     KC =' ; END  ';
   136:
clk ist der db für die uhrendaten.
stw ist das steuerwort für die uhr.

der db15. uhrendaten liegen in hex vor.
Code:
 DB15    E:061207ST.S5D                               LAE=75  /22
                                                                  Editieren
     0:     KH = 0004;                        00,wochentag ist
     1:     KH = 2001;                        tag,monat ist
     2:     KH = 0416;                        jahr,stunde ist
     3:     KH = 1427;                        minute,sekunde ist
     4:     KH = 0004;                        0=schaltjahr,wochentag 1=so soll
     5:     KH = 2001;                        TT,MM soll
     6:     KH = 0416;                        JJ,hh soll
     7:     KH = 1215;                        mm,ss soll
     8:     KH = 0004;                        weckzeit --wt
     9:     KH = 0104;                                 TagMonat
    10:     KH = 0013;                                 --Stunde
    11:     KH = 0000;                                 MinuteSekunde
    12:     KH = 0000;                        betriebstunden --Sekunden
    13:     KH = 0000;                                       MinuteStunde
    14:     KH = 0000;                                       hh*100hh*10.000
    15:     KH = 0000;                        Stell Betr.std --Sek
    16:     KH = 0000;                                       MinStd
    17:     KH = 0000;                                       hh*100hh*10.000
    18:     KH = 0004;                        run-stop netzaus --wt
    19:     KH = 1211;                                         TagMonat
    20:     KH = 0319;                                         JahrStunde
    21:     KH = 4612;                                         MinuteSekunde
    22:     KH = 0000;
    23:     KH = 0000;
    24:     KH = 0000;
    25:     KH = 0000;
nun kannst du das ganze über vergleicher machen.
noch ein tip am rande.
um das DW zu zerlegen, da dies ja 2 informationen enthält

A DB15
L DR 6
T MB 10 //stunde in hex
L DL 7
T MB 11 //minute in hex

MW 10 enthält nun StundeMinute

mit dem M103.2 kannst du die uhr stellen. es wird das eingestellt, das zu diesem zeitpunkt in den dw's 4-7 steht.

weitere infos findest du im handbuch
 
Zuletzt bearbeitet:
Besten dank aber ich habe gesucht und habe nun mal eine s5 und keine S7
wenn ich es wüsste hätte ich nicht gefragt.
Ihr müsst mich nicht gleich angreifen
 
Besten dank aber ich habe gesucht und habe nun mal eine s5 und keine S7
wenn ich es wüsste hätte ich nicht gefragt.
Ihr müsst mich nicht gleich angreifen

Niemand greift Dich an !!
Das was Volker geschrieben hat ist halt nur für genau Deine S5.
Hilfe zur Selbsthilfe ?!
 
Zuletzt bearbeitet:
Zuletzt bearbeitet:
Diesen Artikel hatte ich im Forum auch gefunden jedoch funktionierte er nicht außerdem habe ich von keinem verlangt dass er den Fertigen Code Postet es ging mir lediglich um die Verständniss des Vorgehens.

Sollte jemand es ebenfalls versuchen Hier ein Lösungsansatz

1. Theorie
Die Hardwareuhr kann nicht explizit angesprochen werden, sie wird gestartet indem man die Zeit stellt. Die aktuelle Uhrzeit wird in das Parametrierte Speicherwort transveriert. Von dort kann man die Werte in eine DB schieben und in DW´s ablegen.

Um die Uhr zu verwenden muss man sie über die DB1 zuerst parametrieren. Das stellen über die DB1 sollte man nicht machen da bei jedem Start > Run die Zeit auf den eingetragenen Wert gestellt wird.

Man erstellt 2 Steuer OBs indem beim Start>Run und Strom Weg > Strom Da die uhrzeit mit dem DB75 Speicher verglichen wird ob dort eine neue Startzeit vorhanden ist.

in der DB75 ist die Aktuelle Uhrzeit und die zu Stellende Uhrzeit
zusätzlich ein MerkerWort indem ein Steuerbit steht um mit 1 eine Stellung zu veranlassen oder mit 0 nicht.

In einem FB wird die Aktuelle Zeit in die DB und auch bei bedarf die zu stellende Zeit in die Uhr transveriert.

Trägt man nun die aktuelle Zeit über Steuern Variable in MW0-3 oder direkt in die DB75 und Setzt das MW Steuerbit auf 1 dann wird beim Start-Run also nach der Abarbeitung unseres FB´s die Uhr gestellt.

Die Aktuelle Zeit ist nun ab MW2-3 zu lesen.
 
Zurück
Oben