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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 23

Thema: Spannungsausfälle protokollieren

  1. #11
    Hans_J ist offline Benutzer
    Themenstarter
    Registriert seit
    13.08.2012
    Beiträge
    33
    Danke
    19
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das ist nicht genau vorgegeben. Auf die Idee ein Signal am (Hilfs-) Schütz abzugreifen bin ich noch nicht gekommen. Ich hatte mir jetzt überlegt einfach eine Analoge Steckkarte zu verwenden und die Spannung des 24V-NT zu überprüfen. Hat die SPS-CPU denn eine Art mini-USV mit der sie einen Stromausfall von <1s überbrücken kann? Sonst könnte ich die Daten ja gar nicht verarbeiten.

    *edit*
    @Hohlkörper:
    es sollen ausdrücklich NUR Spannungsausfälle mit <1s berücksichtigt werden. Alles da drüber interessiert uns nicht.

  2. #12
    Registriert seit
    19.07.2010
    Beiträge
    1.288
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Du könntest ein Netzteil von Siemens mit Puffermodul verwenden, ich glaube damit kannst du 1-2 s überbrücken.

    Wenn du deinen Zugriff auf den Ringpuffer schon in SCL proggst empfehle ich den Aufruf des SFC1 auch in die SCL-Quelle zu schmeissen.
    mfG Aventinus

  3. Folgender Benutzer sagt Danke zu Aventinus für den nützlichen Beitrag:

    Hans_J (14.08.2012)

  4. #13
    Registriert seit
    08.10.2005
    Ort
    Iffezheim
    Beiträge
    1.103
    Danke
    408
    Erhielt 327 Danke für 261 Beiträge

    Standard

    Das kommt natürlich auch darauf an, was du für eine CPU hast,
    bzw die Stromaufnahme dieser wäre interessant.
    Um netzausfälle <1s zu überbrücken, nimmt man normalerweise sowas in der art:


    Du kannst natürlich auch eine USV mit Akkus einsetzen,
    wie gesagt, das ist alles von Stromverbrauch und der Überbrückungszeit abhängig.
    http://shop.tohisparts.de/product_in...roducts_id=106
    (Das nur mal als Beispiel)

    Zu der "Schützvariante" muss ich noch sagen:
    Das ist natürlich die einfachste, aber auch unzuverlässigste Methode!
    Da kann es je nach Relais schon mal passieren, dass andere Geräte ausgehen,
    bevor das Relais abfällt.
    Das kann man aber an einem regelbaren Netzteil vorher mal versuchen, bei wieviel Volt
    das Relais oder Schütz dann abfällt.


    Gruß
    Timo
    TOHISPARTS




  5. Folgender Benutzer sagt Danke zu Unimog-HeizeR für den nützlichen Beitrag:

    Hans_J (14.08.2012)

  6. #14
    Hans_J ist offline Benutzer
    Themenstarter
    Registriert seit
    13.08.2012
    Beiträge
    33
    Danke
    19
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank !
    Mit dem detektieren des Stromausfalls ist jetzt alles in bestern Ordnung

    Den Ringpuffer würde ich jetzt so gestalten:

    Code:
    DATA_BLOCK Zeiten_Spannungsausfall
    STRUCT
    Spannungsausfall : BOOL;
    index : INT;
    zeiten : ARRAY [0..100] OF DATE_AND_TIME;
    END_STRUCT
    BEGIN
    END_DATA_BLOCK
    
    
    FUNCTION ZeitenMerken : VOID
    VAR_TEMP
    x : INT;
    jetzt : DATE_AND_TIME;
    rv : INT;
    reti: INT;
    END_VAR
    BEGIN
    
    CALL "READ_CLK"(
    
    
    IF Spannungsausfall THEN
    rv := Read_Clk (CDT := jetzt);
    x := Zeiten_Spannungsausfall.index;
    Zeiten_Spannungsausfall.zeiten[x] := jetzt;
    IF x = 100 THEN
    Zeiten_Spannungsausfall.index := 0;
    Stromausfall:= FALSE;
    ELSE
    Zeiten_Spannungsausfall.index := x+1;
    Stromausfall:=FALSE;
    END_IF;
    END_IF;
    END_FUNCTION
    Berichtigungen sind erwünscht

  7. #15
    Registriert seit
    19.07.2010
    Beiträge
    1.288
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Hast du schon mal versucht das zu übersetzen?

    Code:
    DATA_BLOCK Zeiten_Spannungsausfall
    STRUCT
        ZeigerRingpuffer : INT; // Zeiger auf Ringpuffer
        FHV_Sromausfall : BOOL; // Flankenhilfsvariable Stromausfall
        Zeiten : ARRAY [0..100] OF DATE_AND_TIME;
    END_STRUCT
    BEGIN
    END_DATA_BLOCK
    
    FUNCTION ZeitenMerken : VOID
    VAR_INPUT
        Stromausfall : BOOL;
    END_VAR
    VAR_TEMP
        // temporäre Variablen
        
    END_VAR
        // Zeiger auf Güligkeit prüfen
        IF Zeiten_Spannungsausfall.ZeigerRingpuffer < 0 OR Zeiten_Spannungsausfall.ZeigerRingpuffer > 100 THEN
            Zeiten_Spannungsausfall.ZeigerRingpuffer := 0;
        END_IF;
        
        // Daten sichern
        IF Stromausfall AND NOT Zeiten_Spannungsausfall.FHV_Stromausfall THEN
            rv := READ_CLK(CDT :=Zeiten_Spannungsausfall.Zeiten[Zeiten_Spannungsausfall.ZeigerRingpuffer]);
             
            // Zeiger inkrementieren
            Zeiten_Spannungsausfall.ZeigerRingpuffer := Zeiten_Spannungsausfall.ZeigerRingpuffer + 1;
            
        END_IF;
        
        // Flankenhilfsvariable sichern
        Zeiten_Spannungsausfall.FHV_Stromausfall := Stromausfall; 
    END_FUNCTION
    Hätte auch mal einen Versuch....
    mfG Aventinus

  8. Folgender Benutzer sagt Danke zu Aventinus für den nützlichen Beitrag:

    Hans_J (14.08.2012)

  9. #16
    Hans_J ist offline Benutzer
    Themenstarter
    Registriert seit
    13.08.2012
    Beiträge
    33
    Danke
    19
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Bei diesem Code kommt bei mir die Fehlermeldung, dass die Komponente nicht vorhanden ist (bezogen auf die Funktion Zeiten_Spannungsausfall).
    Es ist doch richtig, dass ich die Funktion in der Symboltabelle deklariere oder?

  10. #17
    Registriert seit
    19.07.2010
    Beiträge
    1.288
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Es gibt keine Funktion Zeiten_Spannungsausfall. Das wäre dann ein Datenbaustein. Die Funtkion heißt ZeitenMerken. Aber das hab ich von dir so übernommen...
    mfG Aventinus

  11. #18
    Hans_J ist offline Benutzer
    Themenstarter
    Registriert seit
    13.08.2012
    Beiträge
    33
    Danke
    19
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Natürlich meinte ich, dass die Funktion ZeitenMerken Fehler hat bei dem Zugriff auf den Datenbaustein Zeiten_Spannungsausfall.

  12. #19
    Registriert seit
    19.07.2010
    Beiträge
    1.288
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Ich finds ärgerlich, dass ich mir hier für ein (Hoch)Schulprojekt gedanken mache ohne das zu wissen. Der Fairness halber hättest du das schon erwähnen können.
    mfG Aventinus

  13. #20
    Hans_J ist offline Benutzer
    Themenstarter
    Registriert seit
    13.08.2012
    Beiträge
    33
    Danke
    19
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Es tut mir Leid ich wusste nicht, dass so etwas von Belang ist...

Ähnliche Themen

  1. Wert protokollieren
    Von Fabix im Forum HMI
    Antworten: 1
    Letzter Beitrag: 20.08.2010, 08:02
  2. OP3/Protool protokollieren
    Von PättPit im Forum HMI
    Antworten: 0
    Letzter Beitrag: 05.06.2010, 11:35
  3. Ereignisse protokollieren
    Von Manfred Stangl im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 28.03.2007, 10:14
  4. ProTool Daten Protokollieren
    Von Tritec100 im Forum HMI
    Antworten: 3
    Letzter Beitrag: 27.03.2006, 17:10
  5. WinCC: Protokollieren von Variablenänderungen
    Von dellamorte-dellamore im Forum HMI
    Antworten: 1
    Letzter Beitrag: 23.02.2006, 21:14

Lesezeichen

Berechtigungen

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