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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 26

Thema: Flanke bei kommender Sammelstörung

  1. #1
    Registriert seit
    25.04.2006
    Beiträge
    20
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    ich brauch mal wieder eure Hilfe.
    Ich haben einen Datenbaustein für Störmeldungen deklariert.
    Alle Einzelmeldungen laufen in diesem Zusammen.

    1. Jetzt brauch in einen Baustein, der selbstständig die Länge des DB ermittelt, und mir ausgibt ob eine Anlagenstörung ansteht.

    2. Bei jeder kommenden Störung benötige ich eine Flanke, mit der ich dann einen Zähler und eine Hupe ansteuern kann.

    Punkt 1. Habe ich so umgesetzt

    VAR_INPUT
    END_VAR
    VAR_OUTPUT
    Sammelstoerung : BOOL ;
    END_VAR
    VAR_IN_OUT
    END_VAR
    VAR_TEMP
    SCHLEIFENZ : INT ;
    END_VAR
    BEGIN
    NETWORK
    TITLE =



    AUF DB 50;
    L DBLG;
    + -1;
    LP: T #SCHLEIFENZ;
    L #SCHLEIFENZ;
    SLD 3;
    LAR1 ;
    L DBB [AR1,P#0.0];
    L 0;
    <>I ;
    SPB STOE;
    L #SCHLEIFENZ;
    LOOP LP;
    SET ;
    R #Sammelstoerung;
    SPA M001;
    STOE: SET ;
    S #Sammelstoerung;


    Nur wie bekomme ich jetzt mit wenn eine 2 Störung hinzukommt?


    Danke
    Zitieren Zitieren Flanke bei kommender Sammelstörung  

  2. #2
    Registriert seit
    04.01.2006
    Beiträge
    135
    Danke
    16
    Erhielt 2 Danke für 2 Beiträge

    Cool

    Läuft das ganze über eine Visualisierung oder soll das ganze rein über die Sps realisiert werden?

  3. #3
    norman ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.04.2006
    Beiträge
    20
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Nur über die SPS S7-300

  4. #4
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 183 Danke für 168 Beiträge

    Standard

    Hallo!

    Hast du von deinem Störmeldungsbyte in den DB noch ein Bit frei oder kannst du das Byte auf ein Word erweitern?
    Dann könntest du die Schleife immer ganz durchlaufen lassen und wenn dein Vergleicher ungleich Null ist und das eine Bit false ist Zählst du eins weiter in deinem Zähler. Danach setzt du gleich das zusätzliche Bit somit weißt du dann in dem nächsten Zyklus das diese Störmeldung schon gezählt wurde.
    Wie werden die Störungen Quittiert? Muss jede einzeln Quittiert werden oder gibt es da eine Sammelstörungsquittierung?

    godi

  5. #5
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Beitrag

    Hi,
    mach eine Int Variable(Strg_count); du durchsuchst dein Störungs DB, und
    wenn da eine Störung anliegt, zählst + 1. Danach hast du die Anzahl
    der anliegende Störungen; wenn die Variable >0, dann Samelstörung.
    So, die Variable auf Änderung überwachen(aber nur Hochlauf!), und eine
    Flanke daraus bilden.

    Vladi
    ______________________________________
    relax, take it easy
    Zitieren Zitieren Störung  

  6. #6
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.648
    Danke
    789
    Erhielt 654 Danke für 497 Beiträge

    Standard

    Ich hab das bis jetzt immer in der Recourcenfressende Version gemacht.

    In DB1 werden die Störungen hinterlegt
    Also DB1.DBX0.0 Störung 0 DB1.DBX0.1 Störung 1

    In DB2 werden die bearbeiteten Störungen Hinterlegt

    Jetzt wird Wort für Wort vergleichen
    Also

    Code:
          L     DB1.DBD    0
          L     DB2.DBD    0
          <>R   
          S     M      0.0
          L     DB1.DBD    4
          L     DB2.DBD    4
          <>R   
          S     M      0.0
    usw.

    Danach Kopierst du den inhalt der Wörder von DB1 in DB2
    z.B. mit SFC 20

    M0.0 ist hier jetzt dein Blinkbit zurücksetzen mit Quittiertaste z.B.

    Wie du die DB länge ermittelst und automatisch DB2 generierst weiss ich nicht. Ich mach das mit Excel und da weiss es natürlich wie lange DB1 ist generiert DB2 und natürlich gleich die dazugehörigen FBs

    mfG René

    mFG René
    Geändert von vollmi (09.07.2007 um 10:09 Uhr)

  7. #7
    norman ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.04.2006
    Beiträge
    20
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Godi,

    es gibt eine Sammelquittierung.

    aus dem Byte kann ich leider kein Word machen.

    Hast du noch eine andere Idee?

    Könnte vielleicht automatisch einen 2. DB anlegen in dem ich den Status ablegen, hab aber leider keine Ahnung wie das geht.

    Gruß Norman

  8. #8
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.255
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Kann offensichtlich nicht ganz folgen, weil:
    man braucht eine Schleife die DW-weise

    ungefähr so durchlaufen wird.

    L ALTWERT //DW
    L ISTWERT //DW
    XOD
    L ISTWERT //DW
    UD //Wenn positive Flanke.... steht hier was drinnen
    L 0
    <>D
    S Alarm
    ZV Alarmzähler

    L ISTWERT
    T ALTWERT

    Sollte ich eine Themaverfehlung haben, sry für das posting!
    Anm.: der Zähler zählt nur 1x sollte innerhalb eines Zyklus im selben Doppelwort mehrer Alarme kommen.

    Edit: der Altwert ist natürlich ein 2ter DB

  9. #9
    norman ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.04.2006
    Beiträge
    20
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Frage

    Sorry, vielleicht hab ich mich falsch ausgedrückt.

    Ich benötige eine Flanke bei kommender Störung.
    Steht eine Sammelstörung an, und es kommt eine Störung hinzu,
    dann benötige ich eine weitere Flanke.

    Kommen in einem Zyklus 2 Störungen gleichzeitig, reicht mir eine Flanke.

    Mit dieser Flanke muss ich dann eine Hupe Ansteuern und einen Impuls auf einen Zähler geben.

  10. #10
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.648
    Danke
    789
    Erhielt 654 Danke für 497 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von norman Beitrag anzeigen
    Ich benötige eine Flanke bei kommender Störung.
    Steht eine Sammelstörung an, und es kommt eine Störung hinzu,
    dann benötige ich eine weitere Flanke.

    Kommen in einem Zyklus 2 Störungen gleichzeitig, reicht mir eine Flanke.
    Die Flanke ist ja dein geringstes Problem.
    Dein Problem ist offensichtlich das du automatisch ermitteln willst wie lange dein Alarm-DB ist.

    Alles andere ist ja gelöst.

    mfG René

Ähnliche Themen

  1. Antworten: 12
    Letzter Beitrag: 22.06.2011, 09:08
  2. Antworten: 15
    Letzter Beitrag: 16.05.2008, 20:17
  3. Antworten: 6
    Letzter Beitrag: 21.04.2008, 20:36
  4. SCL- Flanke
    Von hans55 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 07.02.2008, 20:28
  5. N flanke P flanke
    Von bastek- im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 04.09.2007, 19:58

Lesezeichen

Berechtigungen

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