Betriebstundenzähler

Outrider

Level-1
Beiträge
745
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag,

folgendes Problem:
Ich möchte mehrere Betriebstundenzähler aufrufen mit den SFC 2, SFC 3 und SFC 4

Ich benutze ein op 270 und eine CPU 314C-2DP

Mit SFC 2 setze ich den Zähler auf " 0"
Mit SFC 3 schalte ich den Zähler ein
Mit SFC 4 lese ich den Zähler aus.

Die Aufgabe ist gegeben , dass der Maschinenbediener nach einer bestimmten Zeit erinnert wird bestimmte Komponenten der Maschine zu warten . Da es mehrere verschiedene Komponenten gibt ,
gibt es auch verschiedene Wartezyklen.
Der Bediener soll mit einer Meldung am OP 270 darauf aufmerksam gemacht werden welche Komponente gemeint sind.
Die verschiedenen Wartezyklen sollen im OP als Zeitvorgabe einstellbar sein.

Mein Lösungsgedanke:
Für jede Komponente realisiere ich einen Betriebstundenzähler ,
der mit einem festvorgegebenen Wert verglichen wird und somit eine Meldung auslöst.

Mein Problem:
Ich rufe mehrmals hintereinander die SFC's auf.

---Zähler 1---
call sfc 2
call sfc 3
call sfc 4
---Zähler 2---
call sfc 2
call sfc 3
call sfc 4
---Zähler 3---
call sfc 2
call sfc 3
call sfc 4
u.s.w.

Die Funktion sfc 2 wird nur zum setzen des Zähler auf "0" aktiviert , danach wieder übersprungen.
Den nach jedem Wartezyklus soll der Zähler wieder bei " 0 " anfangen.
Das Problem ist aber, dass die nachfogenden Zähler 2, 3..... usw , den Wert des ersten Zähler übernehmen !!!!!!!
D.h. wenn ich bei Zähler 1 die sfc 2 freigebe zum setzen des Zählers 1 auf "0", aber die anderen
sfc's 2 deaktiviert sind weil sie noch arbeiten , so werden auch die Zähler 2,3....u.s.w ebenfalls mit
dem selben Wert von Zähler 1 beschrieben!!!!!!!!!!!!
Ich habe in den SFC's immer im Byte-format die Zählernummer geschrieben.
D.h. im sfc 2,3,4 steht der selbe Wert , im nächsten Zähler wieder eine andere Nummer u.s.w
Die Zähler arbeiten, das wird durch ein Bit signalisiert.
Ich bitte um Unterstützung, und bedanke mich für Tipps!
Mit freundlichen Grüßen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Genau dieses Problem hatte ich gestern auch...Der Status (läuft, läuft nicht) kann jedoch im SIMATIC Manager unter Zielsystem, Hardware diagnostizieren, Baugruppenzustand, Zeitsystem beobachtet werden. Wenn der betreffende Betriebsstundenzähler nicht läuft bzw. nicht erscheint, ist er nicht in der CPU vorhanden.
 
Zuletzt bearbeitet:
Wenn es nur einen gibt , warum kann ich dann im Byte-format die Nummer des Zähler ändern?????
In der Hilfefunktion steht dass man den Wert zwischen 0...7 eingeben kann, dass hört sich so an als ob man 8 Zähler realisieren könnte!
 
Ehrlich, ich halte von den Dingern eh nix, nimm doch einen Datenbaustein und den Taktmerker der CPU (1000ms) und zähl Doppelwörter hoch. Da paßt genug rein und du brauchst nicht mit den SFC hantieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn es nur einen gibt , warum kann ich dann im Byte-format die Nummer des Zähler ändern?????
In der Hilfefunktion steht dass man den Wert zwischen 0...7 eingeben kann, dass hört sich so an als ob man 8 Zähler realisieren könnte!


Weil die 318 und 400er Serie mehrere haben.

pt
 
Betriebsstundenzähler

Hallo,

Ralle schrieb:
Ehrlich, ich halte von den Dingern eh nix, nimm doch einen Datenbaustein und den Taktmerker der CPU (1000ms) und zähl Doppelwörter hoch. Da paßt genug rein und du brauchst nicht mit den SFC hantieren.

Ja, aber das Thema ist nicht unkritisch. Die BSZ (Betriebsstundenzähler) der CPU arbeiten unabhängig von Datenbausteinen in der CPU, egal was auch passiert. Leider sind es zuwenig, was soll ich z.B. mit 16 BSZ. Das hätte Siemens sich auch sparen können. Stell Dir mal folgendes vor :

Betriebsstunden wurden bisher zuverlässig und minutiös über Jahre durch das SPS-Anwenderprogramm in DB's kumulativ aufsummiert.
Die Anlage hat eine Störung und wird dann mal versuchsweise durch den Elektriker der Bereitschaft neu mit dem Programm vom Pg geladen (er weiss sich halt nicht anders zu helfen und manchmal soll das sogar funktionieren).
Muss ich noch mehr schreiben ???

Gruss

Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Anlage hat eine Störung und wird dann mal versuchsweise durch den Elektriker der Bereitschaft neu mit dem Programm vom Pg geladen (er weiss sich halt nicht anders zu helfen und manchmal soll das sogar funktionieren).
Muss ich noch mehr schreiben ???
tja. leider ein problem.
und manchmal (wobei ich hier richtung 0,1 - 1 % tendiere) soll es wahrhafig funktionieren.
mich ärgert dann meist, das die jungs nicht erst nach der wahren ursache suchen sondern viel zu schnell diese möglichkeit ausporbieren (und dann u.U mehr zerstören als reparieren).
und dann..... na dann rufen die halt an und weinen.
und dann..... muss ich uU nachts raus um die anlage wieder ans laufen zu bringen. :(

junges beispiel in einer s5 95-master:
ein merker war nicht da um die automatik starten zu können. dies war der prog-merker aus dem op.
das hat den service überfordert (obwohl die alle lehrgänge für sowas bekommen haben).
also hat der service das ag mal eben urgelöscht und das im netzwerk gesicherte programm eingespielt.
(zugutehalten muss ich denen, das sie zumindest einen ag-abzug gemacht haben)
netzprog übertragen. nix ging
ag-abzug übetragen. nix ging
logisch. die jungs haben ja alle masterdaten gelöscht.

grrrr. wer machts? .....ua ich
solche unnötigen (und vor allen dingen langen) stillstandzeiten kosten viel geld.

ihmo liegt sowas einfach an der fehlenden lust diverser mitarbeiter.
 
Ich bitte um Unterstützung, und bedanke mich für Tipps!
Mit freundlichen Grüßen

Hallo Outrider,

auf meiner Homepage (s.u.) findest du im Downloadbereich das S7-Programm
"Einfache Beispiele zur Step7 - Programmierung".

Darin findest du
"BTRStd"

Kurze Beschreibung:

Bei CPU der 300er - Reihe steht meist nur ein einziger Hardware-Betriebsstundenzähler zur Verfügung.
Mit der Funktion "BTRStd" können beliebig viele remanente Software - Betriebsstundenzähler realisiert werden.

Vielleicht hilft dir das weiter.

CU

Jürgen.
 
Zurück
Oben