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

Ergebnis 1 bis 7 von 7

Thema: OBs in S7-300 programmieren

  1. #1
    Registriert seit
    15.09.2006
    Beiträge
    117
    Danke
    72
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    wir haben eine neue Steuerung S7-300 bekommen. Jetzt wollte ich unteranderem noch ein paar OBs programmieren.
    Kann mir jemand sagen, wie ich die Obs aufrufen muss? Einfach "Neuer Organisationsbaustein" und "OB2" auf "OB82" ändern und dann hat er gleich die Funktion des Diagnosealarms wie im Buch beschrieben?

    Folgende OBs wollte ich auch programmieren...

    OB80 Zeitfehler (z.b. Zykluszeit überschritten)
    OB82 Diagnosealarm (z.b. Kurzschluss in einer Eingangsbaugruppe)
    OB83 Ziehen/Stecken-Alarm (z.b. Ziehen einer Eingabebaugruppe)
    OB84 CPU-Hardwarefehler (Fehler an Schnittstelle zum MPI-Netz)
    OB86 Baugruppenträgerausfall

    Hat jemand schlechte Erfahrung gemacht mit diesen OBs, wenn sie mal einsetzen?

    Gruß Syny
    Zitieren Zitieren OBs in S7-300 programmieren  

  2. #2
    Registriert seit
    05.09.2005
    Beiträge
    10
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Syny!
    Mit den OB's haben wir in unserer Firma positive Erfahrungen gemacht, weil sie unter anderem verhindern können, dass die CPU in Stop geht.
    Wenn Du einen OB80 anlegst hat er im TEMP-Bereich seiner Schnittstellendefinition ein paar Variablen drin. Diese Lokalen Variablen solltest Du einmalig innerhalb des OB80 auf einen Datenbaustein schreiben.
    Der OB wird vom Betriebssystem der CPU aufgerufen, nicht vom SPS-Programm (geht teilweise mit SFC's, ebenso die Unterdrückung des OB-Aufrufs; soll aber hier nicht das Thema...)!

    OB 80
    Netzwerk 1
    U M8.0
    SPB M001
    L LW 0
    T DB80.DBW 0
    L LW 2
    T DB80.DBW 2
    L LW 4
    T DB80.DBW 4
    L #OB80_ERROR_INFO
    T DB80.OB80_ERROR_INFO
    L LW 8
    T DB80.DBW 8
    L LW 10
    T DB80.DBW 10
    L LW 12
    T DB80.DBW 12
    L LW 14
    T DB80.DBW 14
    L LW 16
    T DB80.DBW 16
    L LW 18
    T DB80.DBW 18
    M001: NOP 0
    SET
    S M8.0

    Der Merker M8.0 wird zur Generierung einer Alarmmeldung am OP/TP genutzt und an anderer Stelle zurück gesetzt.

    Die Daten in dem DB kannst Du dann an einem OP/TP in eine Fehlermeldung mit einbetten, oder anderweitig versenden (CP Ethernet) . Über die Fehlernummern kannst Du hinweise darauf bekommen, wo der Programmierfehler liegt, bzw. warum der OB aufgerufen wurde. Wenn Du aus versehen eine Endlosschleife programmierst (unvorhergesehener Wert) und keinen OB80 hast, suchst Du Dich zu Tode, warum die CPU in STOP gegangen ist. Mit OB80 und auswerten der Statusinformationen geht das schon leichter.
    So wie oben am Beispiel des OB80 machst Du das dann mit den anderen OB's auch. Für jeden OB einen DB ist nicht Pflicht, vereinfacht aber die wiederverwendbarkeit. Nicht jede CPU unterstützt alle OB's, merkst Du spätestens beim Transfer juckt dann aber nicht. Ein Fehler der nicht auftreten kann ist schon eine Fehlerquelle weniger
    Gruß Axel
    Zitieren Zitieren Erfahrung mit OB's  

  3. #3
    Syntaxfehler ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.09.2006
    Beiträge
    117
    Danke
    72
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hey Axel,

    danke schon mal für die Info... das probiere ich gleich morgen mal aus.

    Nur 1 Frage bleibt mir offen. Ein Ingenieur von Siemens war bei uns mal gewesen und hat eine Anlage programmiert. Und auf deren Steuerung hat er diese OBs unteranderen auch programmiert. Nur steht in allen diesen OBs nichts drinnen, daher dachte ich, das es ein Siemens geschützer Baustein ist, den man irgendwie aufrufen muss und diesen Ablauf schon enthält!

    Leider ist er nur einmalig da gewesen und kann daher nicht mehr ihn fragen... da bleibt jetzt nur Ihr Alle ))

    Ich will die Fehler erstmal nur aus dem Puffer/interner Schreiber auslesen, falls mal so ein Baustein aktiviert wird. Was muß ich daher im DB schreiben? Klingt doof die Frage, aber lieber doof gefragt als ne Dumme Antwort *lach*

    Gruß Syny

  4. #4
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.862
    Danke
    78
    Erhielt 805 Danke für 548 Beiträge

    Standard

    grundsätzlich gilt.

    tritt fehler auf, wird vom system der entsprechende ob aufgerufen. ist dieser ob nicht vorhanden geht die cpu auf stop
    ist der entsprechende ob vorhanden aber dort ist nichts drin passiert gar nichts. der fehler wird also ignoriert.
    die auswertung des fehlers obligt dem programmierer.

    für die ob82/86 empfiehlt sich der fc125/fb125 (aus dem dp_diag)
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  5. #5
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.752
    Danke
    323
    Erhielt 1.526 Danke für 1.286 Beiträge

    Standard

    Die OB's werden in dem Sinn nicht programmiert,
    die OB's werden vom Betriebssystem aufgrund diverser Ereignisse aufgerufen.

    Der Grundweg ist der, es wird ein OB vom Betriebssystem angefordert,
    ist dieser OB vorhanden läuft die CPU weiter, wenn nicht, dann geht sie auf Stop.
    Wenn ein leerer OB ist, dann passiert bei dessen Aufruf halt nichts, außer das die CPU weiterläuft.

    Es gibt allerdings auch noch andere OB's, die in gewissen Zeitabständen aufgerufen werden,
    zu bestimmten Uhrzeiten ...

    Hierzu einfach mal die Standard-Library öffnen, die OB's mit F1 anschauen.

    Wichtig: nicht jede CPU kann jeden OB ...

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  6. #6
    Registriert seit
    24.04.2006
    Ort
    NRW
    Beiträge
    211
    Danke
    9
    Erhielt 2 Danke für 2 Beiträge

    Standard

    hmm bei dem Thema OBs hätt ich auch noch ne Frage.

    Wenn ich mehre DP-Stationen an einer S7 habe und 1 DP fällt weg wird der OB86 ja aufgerufen worin im einem Word die Adresse steht die weggefallen ist.

    Frage ist nu:
    Was passiert wenn eine 2te Station ausfällt. Überschreibt er mir das Word mit der neuen Adresse?
    Was passiert wenn 2 Stationen gleichzeitig aus sind, weil einer quasi das Kabel durchgeschnitten hat?

    Ich hätts gern ausprobiert doch dummerweise habe ich grade ne S7 und mehere DP Stationen nicht zu Hand.

    gruß

    Ray

  7. #7
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.862
    Danke
    78
    Erhielt 805 Danke für 548 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    der ob wird jedes mal angesprungen, wenn das system einen fehler bei der kommu mit dem slave hat. also steht auch jedes mal der entsprechende wert in dem wort. bei 2 stationen also quasi im wechsel.

    wie oben erwähnt nimmst du dafür am besten den FB/FC125. der trägt alle fehlerhaften slave in einen db ein.

    siehe dazu auch dp_diag_db.xls auf meiner hp
    Geändert von volker (21.09.2006 um 19:26 Uhr)
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

Ähnliche Themen

  1. Sps Programmieren
    Von andiehm im Forum Simatic
    Antworten: 22
    Letzter Beitrag: 05.02.2011, 21:58
  2. Asi-Bus programmieren
    Von Nullinger im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 03.03.2010, 09:18
  3. S7- 200 SBR wie FB Programmieren?
    Von godi im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 31.07.2008, 14:39
  4. S5 95U programmieren !?
    Von Tom1971 im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 16.10.2007, 19:24
  5. CPU 312 programmieren
    Von Headman im Forum Simatic
    Antworten: 27
    Letzter Beitrag: 13.09.2007, 16:08

Lesezeichen

Berechtigungen

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