Betriebsstundenzähler

redscorpion

Level-1
Beiträge
90
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Leute

Eine frage und zwar möchte ich für eine Absaugung, die ständig in Betrieb ist einen Betriebsstundenzähler basteln.

Ich hätte mir gedacht wenn alle Freigaben für die Absaugung i.o. ist möchte ich einmal 500 Betriebsstunden vorgeben und einmal 200 Stunden vorgeben. Wenn diese Abgelaufen dann sollte eine Warnung ertönen. Kann man dies mit einem Vorwrtszähler machen ? oder einen Rückwärtszähler, und wie könnte ich diese beiden werte vorgeben oder einstellen.

Danke
 
Mit den SFCs 2 und 3 kannst du den internen Betriebsstundenzähler nach deinen Vorgaben steuern. Der SFC 4 gibt dir dann nen Stundenstand (INT) aus, den kannst du dann mit den Referenzstunden verarbeiten (vllt nicht grad im OB1 sondern mit Uhrzeitalarmen).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Welche Steuerung hast Du denn?

Ich empfehle, das ganze nicht mit Zählern o.ä. zu realisieren.
Besser Du machst das jetzt einmal richtig und kannst es dann später wieder verwenden.

Vorschlag:
- FB oder FC erstellen
- je nach gewünschter Genauigkeit einen Takt von außen anlegen
(Sekunden -oder Minutenflanke oder ähnliches)
- Betriebsbit Antrieb von außen anlegen
- Datenwort Grenzwert Wartung von außen anlegen
- Datenwort Betriebsstunden (gesamt) von außen anlegen
- Datenwort Betriebsstunden seit letzter Wartung anlegen
- im Baustein selbst einfach die beiden Datenworte (inout) inkrementieren
und mit Betrh. Grenzwert vergleichen
- 2separate Resetbits auch von außen anlegen und mit verarbeiten
- Meldebit Wartung nicht vergessen
...und dann hast Du einen wiederverwendbare Betriebsstundenzähler mit Wartungsintervall
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du brauchst ja einen Takt, beispielsweise eine Sekundenflanke, die Du an Deinen wiederverwendbaren Baustein anlegen kannst.
D.h. Du deklarierst im Bausteinkopf ein In, der bspw. Takt heißt.

Innerhalb des Bausteins wird nur dann, wenn Takt=1 ergibt, das hochzählen ausgeführt, ansonsten wird es übersprungen.

Der Kollege PN/DP hat das hier mal etwas besser beschrieben
 
Der Takt müsste ja dann von einem INI oder so vorgegeben werden wenn ich das richtig verstehe , hab mir das beispiel auch angesehen aber ich steh voll am Schlauch.

Danke
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich kann die Absaugung nur mit Hauptschalter einschalten habe nur einen eingang Absaugung läuft wie muss man da vorgehen die Ino war nicht schlecht also super aber ich komm da nicht ganz klar.
 
Als Eingangsvariable für den Betriebsstundenzähler brauchst Du auch nicht viel mehr:

1. Sekundentakt als Flanke zum Hochzählen
2. Betriebsbit, damit auch nur gezählt wird, wenn der Antrieb läuft
3. Bit zum Zurücksetzen des Zählers

1. + 2. kannst Du auch kombinieren und als einen einzigen Eingang auf den Zählerbaustein geben.
 
Hy Danke für die Hilfe doch könntest du mir in AWL vieleicht wenn du lust hast ein Beispiel dazu machen dann ist es für mich vieleicht verständlicher

Danke nochmals
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du musst Dir den Schuh jetzt nicht anziehen...

Mich persönlich nervt es einfach, wenn jemand beharrlich so tut als wäre eine Sache total undurchschaubar, obwohl bereits einige Hilfen gestellt wurden.

Hilfe zur Selbsthilfe: JA
Präsentieren fertiger Lösungen weil jemand "auf doof" macht: NEIN
 
könntest du mir in AWL vieleicht wenn du lust hast ein Beispiel dazu machen dann ist es für mich vieleicht verständlicher
In dem von Pjoddi in #6 verlinkten Thema findest Du im Beitrag #6 einen Beispielcode von Woldo in FUP. Das sollte so auch auf S7-1200 realisierbar sein.

Wenn Du die Forumssuche mit dem Schlüsselwort Betriebstundenzähler (mit nur 1 "s" !) benutzt, dann findest Du noch viele Themen und weitere Codebeispiele für S7-300/400, u.a. auch eines in SCL, die Dir die Problematik eigentlich ausreichend verständlich machen sollten.

Bei allen Beispielen mußt Du allerdings Deine Betriebsstunden-Warnschwelle noch selber dazuprogrammieren.

Es wäre schön, wenn Du den von Dir erstellten Code hier posten würdest, weil für S7-1200 haben wir wohl noch kein Beispiel.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi PN/DP

Hab da noch ne frage und zwar habe den IN/Out Parameter BTZ wie beschrieben mit einem DINT parametriert und im Bausteinaufruf ob1 kann ich ihn aber mit keinem Wert anparametrieren wie oder was mache ich falsch

Danke für deine Hilfe
 
Du programmierst mit Step7 Basic V10.5?
Damit kenne ich mich leider nicht aus, es sollte aber nicht viel anders als im "richtigen" Step7 gehen.

Du müßtest eine Variable vom Typ DINT anlegen und die dann an den InOut-Parameter schreiben.
Die Variable sollte eine remanente Variable sein, also in einem DB deklarieren oder sonstwie als remanent
kennzeichen (ich habe keine Ahnung wie das in Step7 Basic genau gemacht wird).
Die Variable enthält dann den aktuellen Stand des Betriebsstundenzählers.

Harald
 
Bei der S7-1200 ist ein Betriebsstundenzähler Baustein dabei,

siehe S7-1200 System Manual Kapitel 8.1.3 (Seite 219)
 
Zurück
Oben