Ein/Ausschalt-Uhrzeit speichern mit S7-200

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich wollte fragen ob folgende Funktion mit S7-200 möglich ist.
Jedes mal wenn das Förderband, das durch eine S7-200 gesteuert wird,
Ein oder Ausgeschalten wird, soll die aktuelle Uhrzeit gespeichert
werden, z.B. im Datenbaustein. Die gespeicherten Daten will ich
dann wöchentlich oder monatlich mit S7Microwin auslesen.

Danke für eure Antworten

Girgel
 
Weiß jetzt nicht, ob die 200 eine Echtzeituhr hat (ich glaube, es gibt ein Modul), aber wenn du einen Timer auf eine Sekunde setzt und beim Ablaufen ein DWORD hochzählst, kannst du etwa 70 Jahre zählen. Du kannst auch in einem Byte bis 59 zählen, dann auf 0 setzen und ein weiteres Byte bis hochzählen, bei 59 auf 0 setzen, dann ein weiteres und so Sekunden,Minuten,Stunden u.s.w. nachbilden.
Im Gegensatz zu einer Lösung mit Batterieuhr muß die SPS dabei immer unter Spannung und in RUN sein.
Die Daten überträgst du bei Änderung in den DB. Dazu bieten sich die Funktionen zum Tabellenzugriff an (Systemhandbuch).
Mit "Tabellenstatus" kannst du die Daten lesen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
die Echtzeituhr in der S7-200 (ab CPU224 hardwaremässig integriert, bei CPU221 - wie 'zottel' schon sagt: Moduloption, und bei CPU222 weiss ichs jetzt nicht genau) wird mit 'Read RTC' / write 'RTC' (ToDR && TodW in AWL) gelesen und geschrieben. Der Datenstring besteht dabei aus 8Bytes welche ab angebener Speicherstelle im 'DB' in der Reihenfolge
1.Byte: Jahr
2.Byte: Monat
3.Byte: TAg
4.Byte: Stunde
5.Byte: Minute
6.Byte: Sekunde
7.Byte: NIX !!!
8.Byte: Wochentag (Sonntag, Montag ... als Zahl)
abgespeichert werden. Der Zugriff dauert allerdings sehr lange (>>2400µS). Wichtig von daher/ und anderen Gründen es nicht mehrfach pro Zyklus, von verschiedenen 'Stellen' (Unterprogrammen etc.) oder in jedem Zyklus aufzurufen.
Die 'Echtzeituhr' läuft ziemlich unrund. Bei mir addieren sich die Abweichungen bis zu mehreren '10Minuten' im Monat. Stark unterschiedlich von CPU zu CPU.
Ansonsten gehts so abzuspeichern - das Datenformat wird in BCD hinterlegt. Um zu Rechnen muss es ein paarmal durchgeknetet werden - die Uhr störts nicht so sehr wenn falsche Formate, Tage etc. eingewürfelt werden. Liess sich vereinzelt ohne Probleme auf den 31.02.05 (oder mit etwas mehr Geschick auf den 42.17.62 um 27:86:93Uhr) 'eichen'. Das ist aber in den ganz neuen Baureihen (>=22-er Serie) anscheinend behoben.

Genauer ist wie 'zottel' schrieb. Oder als anderer Weg über den 'Taktmerker' (SMB0.4) und Zähler jeweils eine Minute hochzählen. Das lässt sich bei der Auswertung dann gut umrechnen ( :60) und passt in ein Datenwort.(der Tabelle)
 
Zurück
Oben