Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Wartungszähler

  1. #1
    Registriert seit
    16.04.2018
    Beiträge
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    ich steh irgendwie auf dem Schlauch - mir fällt keine Lösung für folgende einfache Aufgabe ein:

    Ich habe einen DINT-Betriebsstundenzähler und möchte nun alle 120 Stunden eine Wartungsaufforderung herausgeben. Dazu dachte ich mir, teile ich einfach den Betriebsstundenzähler durch 120 und vergleiche das was rauskommt mit ???

    L akt_Betriebsstunden //dint
    L120
    /D
    ???

    weiß jemand Rat?

    Danke
    Zitieren Zitieren Wartungszähler  

  2. #2
    Registriert seit
    19.08.2010
    Beiträge
    159
    Danke
    4
    Erhielt 31 Danke für 30 Beiträge

    Standard

    Mach es doch mit Modulo dann kannst du auf 0 Vergleichen.
    Gruß

    blackpeat

  3. #3
    TinoToni ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.04.2018
    Beiträge
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für den Tipp. Dann muss ich nur noch was rauskommt irgendwie auf Ganzzahligkeit vergleichen...

    L Betriebsstunden
    L 120
    MOD
    T #Temp_Rest

    L #Temp_Rest
    L ???

  4. #4
    Registriert seit
    25.06.2017
    Ort
    Oerlinghausen
    Beiträge
    709
    Danke
    57
    Erhielt 135 Danke für 110 Beiträge

    Standard

    Der DivisionsRest (also das, was die mod-Funktion als Ergebnis liefert), ist so was von gannzahlig, ganzzahliger geht's nicht.
    Wie blackpeat schon schrieb:
    Mach es doch mit Modulo dann kannst du auf 0 Vergleichen.
    Gruss, Heinileini

  5. Folgender Benutzer sagt Danke zu Heinileini für den nützlichen Beitrag:

    TinoToni (17.04.2018)

  6. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    12.066
    Danke
    983
    Erhielt 3.573 Danke für 2.888 Beiträge

    Standard

    Ist es denn gewünscht, daß die Wartung starr alle 120 Betriebsstunden angefordert wird, egal wann die letzte Wartung war?
    Manchmal ist eine Wartung einfach nicht so exakt terminiert durchführbar, sie kann vorgezogen oder auf später verschoben werden (Wochenende, Personal nicht verfügbar, ...). Angenommen, der Wartungstermin wird um 40 Betriebsstunden überzogen, dann würde Dein Vorgehen die nächste Wartung schon nach 80 Betriebsstunden anfordern. Ich kenne es so, daß bei erfolgter Wartung der Wartungsintervallzähler zurückgesetzt wird und das nächste Intervall dann erst beginnt.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. #6
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.880
    Danke
    829
    Erhielt 709 Danke für 534 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Ich kenne es so, daß bei erfolgter Wartung der Wartungsintervallzähler zurückgesetzt wird und das nächste Intervall dann erst beginnt.
    Das kenn ich auch nur so. Darum ist mein einfachster Wartungszähler dieser hier.
    Code:
    FUNCTION_BLOCK "Betriebsstunden_mit_Reset"
    { S7_Optimized_Access := 'TRUE' }
    VERSION : 0.1
       VAR_INPUT 
          Count : Bool;   // Eingang um zu zählen
          Wartung : DInt;   // Ab wann wird Wartung angefordert
          Alarm : DInt;   // Ab wann wird Wartungsalarm abgegeben
       END_VAR
    
    
       VAR_OUTPUT 
          Wartungsmeldung : Bool;
          Wartungsalarm : Bool;
       END_VAR
    
    
       VAR_IN_OUT 
          Betriebsstunden : DInt;
          Reset : Bool;
       END_VAR
    
    
       VAR 
          tTaktgeber {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME;
          takt : Bool;
          takt_1 : Bool;
       END_VAR
    
    
    
    
    BEGIN
    	
    	
    	#takt_1 := NOT #takt ;
    	
    	#tTaktgeber(IN:=#takt_1,
    	            PT:=t#1s,
    	            Q=>#takt);
    	
    	IF  #Count AND #takt THEN
    	    #Betriebsstunden := #Betriebsstunden + 1;
    	END_IF;
    	
    	IF #Reset THEN
    	    #Betriebsstunden := 0;
    	    #Reset := false;
    	END_IF;
    	
    	// Wartungsmeldung
    	#Wartungsmeldung := #Betriebsstunden > #Wartung;
    	#Wartungsalarm := #Betriebsstunden > #Alarm;
    END_FUNCTION_BLOCK
    Den kann man dann ja entsprechend mit diversen weiteren Funktionen erweitern. Was man halt so braucht.

  8. #7
    TinoToni ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.04.2018
    Beiträge
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Guter Tipp, daran hatte ich noch gar nicht gedacht. Muss ich also noch vorsehen. Danke

  9. #8
    Registriert seit
    04.03.2015
    Beiträge
    74
    Danke
    10
    Erhielt 33 Danke für 12 Beiträge

    Standard

    Hallo,
    ich mach bei sowas immer 2 Zähler,
    beide kann man resetten der 2. allerdings mit einem höheren Passwort ( bei austausch des Motors etc).
    sobald der erste Zähler größer als das Serviceintervall ist wird die Service Meldung ausgegeben und erst nach resetten des ersten Zählers zurückgesetzt.

    Als Taktgeber würde ich keinen Timer nutzen sondern die System Taktmerker clock auf Flanke abfragen. Für einen Betriebsstundenzähler sind die genau genug.

    Grüße

    Balu

  10. #9
    TinoToni ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.04.2018
    Beiträge
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja danke, habe ich jetzt auch so gemacht. 1 Zähler Betriebsstundenzähler (nicht resetbar) und ein Wartungszähler (resetbar durch PW-geschützen Button, der aufblinkt, sobald die Wartung fällig wird.

  11. #10
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    12.066
    Danke
    983
    Erhielt 3.573 Danke für 2.888 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das geht auch mit nur einem einzigen Zähler (wie im RealLife ) : dem one-and-only Betriebsstundenzähler "auf Lebenszeit".
    Bei einer Wartung muß man sich nur merken/abspeichern, bei welchem Zählerstand das war. Die Differenz des Zählerstandes jetzt zu dem gemerkten Zählerstand ist die Anzahl Betriebsstunden seit der letzten Wartung

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •