Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
S7 300 CPU Automatischer abgleich der Uhrzeit,Datum u. Wochentag mit dem PC
#23
(01.07.2013, 13:16)mepkub schrieb:
(29.06.2013, 12:46)therme schrieb:
(28.06.2013, 10:52)S.Rings schrieb:
(25.06.2013, 14:52)therme schrieb: Besten Dank für die Antwort.

Das Script funktioniert jetzt super.
Ich möcht noch die Zeit automatisch einmal wöchentlich abgleichen, den Button zum übertragen (sagen wir am Mo 13:00 Uhr) für einen Zyklus betätigt wird.

die Funktion:

Code:
Tag = WeekDay(Now)


gibt Ihnen den Tag als Zahl zurück.

Genauso erhalten sie die aktuelle Stunde mit:

Code:
Stunde= Hour(Now)
Ich möchte den Übertragungsbutton nicht eine Stunde lange betätigen, sondern bei Ergebnis wahr für einen Zyklus (positive Flanke).

Ich gehe davon aus, dass dies nur der Hinweis ist, wie Sie das script selbstständig erweitern können. An Sonsten hätte der Satz lauten müssen: "Kann mir bitte jemand das script schreiben, damit ich durch Betätigen eines Button die Uhrzeit in der SPS aktualisieren kann". Cool

Btw:
- Warum "nur" Montag um 13:00? (muss da eine Abfrage rein dass ausserhalb des Bereiches nicht übertragen werden darf?)
- Warum "nur" manuell? (kann vergessen werden!) 

Ich würde sowas einmalig beim Hochfahren des Systems auslösen oder, bei 24/7 Betrieb automatisch bei Datumswechsel.
Vergleich aktDAY / savedDAY
wenn gleich:
- savedDAY = aktDAY und raus aus script
wenn ungleich:
- Zeit und Datum umwandeln
- übertragen
- savedDAY = aktDAY und raus aus script
Sorry, ich dachte es gibt wie in AWL einen Befehl für positive Flanke.
Unsere Anlage lauft übrigens immer durch.
Ich möchte die SPS nicht unötig belasten und den Automatischen Abgleich nur ienmal pro Woche ausführen.

Hir ein Asschnitt aus meinem Script.
  
'Übertragungsbutton für manuellen Abgleich

Man_Uebertr=VDF.[b]ReadBitB(1,21,8,1)[/b]
If Man_Uebertr=1 Then
Man_Uebertr=0
AbgleichBit=1
End If
 'Automatischer Wochenabgleich

'Hir möchte ich nur bei steigender Flanke das 'AbgleichBit' wahr 'ist .
'Bei diesem Beispiel schreibt das Script eine Minute lang die Daten in die 'CPU.Huh
AbgleichWoTag=[b]VDF.[b]ReadInt(2,40)
[/b]
If AbgleichWoTag=iMinute Then 'Habe hir zum testen die Minuten 'genommen.[/b]
[b]AbgleichBit=1
[b]End If 
[/b][/b]

Bit gesetzt zum übertragen ?

AbgleichBit=1 Then
[b][b][b][i][b][b][b][b]VDF.WriteBitB 2,30,8,8 , BCDJahr
VDF.WriteBitB 2,30,0,8 , BCDMonat
VDF.WriteBitB 2,31,8,8 , BCDTag
VDF.WriteBitB 2,31,0,8 , BCDStunde
VDF.WriteBitB 2,32,8,8 , BCDMinute
VDF.WriteBitB 2,32,0,8 , BCDSekunde
VDF.WriteBitB 2,33,0,8 , BCDWochentag
 
 
VDF.WriteBitB 1,19,9,1,1 [i]'Übertragungsbit von Read in Set CLOCK
[/b][/b][/b][/i]
[b][b][i][b][b][b][b][i]End If                                    'wird von SPS ückgesetzt
[/b][/b][/b][/i][/b][/i][/b][/b][/b][/i][/b][/b]
[/b]
Antworten


Nachrichten in diesem Thema
RE: S7 300 CPU Automatischer abgleich der Uhrzeit,Datum u. Wochentag mit dem PC - von therme - 11.07.2013, 14:58

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste