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

Ergebnis 1 bis 8 von 8

Thema: Auswertung OB

  1. #1
    Registriert seit
    18.12.2014
    Beiträge
    21
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Unglücklich


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    in meinem Baustein hätte ich gerne eine Daignosefunktion für OB 86(Rack or station error). Ich benutze eine et200sp und CM4*IO Link module.

    Mein Problem: Viele der "Fehler" gibt es nur als gegangen. Nehmen wir Z.B. "Wiederkehr eines PROFINET IO-Devices, Sollausbau weicht von Istausbau ab". Ich verliere die Verbindung zur Station, OB 86 kommt. Mein Baustein geht jetzt in Fehlermodus und zeigt "Ausfall eines PROFINET IO-Devices".
    Wenn in in diesem Fehlerfall nun ein CM-Modul weggenommen wurde, und dann die Verbindung wieder hergestellt ist, bekomme ich den Fehler: "Wiederkehr eines PROFINET IO-Devices, Sollausbau weicht von Istausbau ab". Wenn der CM-Baustein jetzt wieder gesteckt wird und somit der Fehler weg ist, erhalte ich keinen OB 86 Aufruf mehr. Ich setzte in meinem Baustein den Fehler aber nur zurück, wenn ich von OB86 wieder ein ok bekomme. Ich will ja wissen welcher Fehler mal kam und welcher weg ist. Ist meine Denkweise zu diesem Thema falsch. Bitte helt mir *verzweifel*. Vielen Dank!


    Beschreibung Rückgabe für OB 86 Aufruf in TIA:
    EV-class 16# Fault_ID Beschreibung
    39 CA Ausfall eines PROFINET IO-Systems
    39/38 CB Ausfall/Wiederkehr eines PROFINET IO-Devices
    38 CC Wiederkehr eines PROFINET IO-Devices mit Störung oder Wartung
    38 CD Wiederkehr eines PROFINET IO-Devices, Sollausbau weicht von Istausbau ab
    38 CE Wiederkehr eines PROFINET IO-Devices, Fehler bei der Baugruppenparametrierung
    32/33 CF Aktivierung/Deaktivierung eines IO-Devices mit der Anweisung "D_ACT_DP"
    39/38 F8 Ausfall/Wiederkehr eines Teils der Submodule eines PROFINET I-Devices
    38 F9 Wiederkehr eines Teils der Submodule eines PROFINET I-Devices mit Device-Konfigurationsunterschied


    Programmabschnitt Auswertung OB 86
    IF #TOP_SI.NUM = 86 AND #TOP_SI.ZI1 = #HW_ID_Station THEN //Wenn OB 86 und HardwareID von zu überwachender Station
    #RetVal := RD_SINFO(TOP_SI => #TOP_SI_OB86, START_UP_SI => #START_UP_SI); //Hole OB 86 infos

    CASE BYTE_TO_INT(#TOP_SI_OB86.Fault_ID) OF //Unterscheide welcher Fehler
    16#CB:
    IF #TOP_SI_OB86.Event_Class = 16#39 THEN
    #ErProfDev := true;
    ELSE //OB86 Fehler beseitigt. (einzige Rücksetzung für Fehler= falsch???)
    #ErProfDev := false;
    #ErProfFault := false;
    #ErProfPara := false;
    #ErProfCof := false;
    END_IF;
    16#CC:
    #ErProfFault := true;
    16#CD:
    #ErProfPara := true;
    16#CE:
    #ErProfCof := true;
    16#CF:
    IF #TOP_SI_OB86.Event_Class = 16#32 THEN
    #ErProfAc := true;
    ELSE
    #ErProfAc := false;
    END_IF;
    END_CASE;
    Geändert von Tuc_Tuc (22.12.2014 um 10:34 Uhr)
    Zitieren Zitieren Auswertung OB  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.686 Danke für 1.225 Beiträge

    Standard

    Ich hatte das Problem auch schon mal. Ich habe die Diagnose von der OB-Auswertung auf das Auslesen von SZL-Informationen umgestellt, finde ich zuverlässiger und auch flexibler.

    Bei der OB-Auswertung musst du auch immer einen Neustart der SPS beachten. Z.B. wenn bei ausgefallenem Teilnehmer die SPS ausgeschaltet wird, dann der Teilnehmer angeklemmt und die SPS neugestartet wird, gibt es auch keinen Wiederkehr-Aufruf des OBs. Selbst die von Siemens programmierte Diagnosefunktion von PCS7 verheddert sich in so einem Fall.

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

    Tuc_Tuc (22.12.2014)

  4. #3
    Tuc_Tuc ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.12.2014
    Beiträge
    21
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Vielen Dank für deine Antwort. Fühle mich hier mit meinenm Problem schonmal nichtmehr ganz so alleine *nurnoch halb verzweifelt *.

    Leider muss ich eine 1500er benutzen. Hier gibt es soviel ich weiß keine SZL mehr? Falls ich hier falsch liege würde ich mich über ein paar Beispiele sehr freuen.

    Mit den bereitgestellten zusätzlichen Diagnosebausteinen (z.B. "LED") habe ich es bisher nur geschafft zu sagen, ob die Baugruppe ok oder nicht ok ist. Nicht was nicht ok ist. Das muss doch besser gehen?
    Freue mich über weitere Ideen. Danke!

  5. #4
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.620
    Danke
    777
    Erhielt 647 Danke für 493 Beiträge

    Standard

    Du könntest für deine Zwecke z.B. GetStationInfo hernehmen.

    Unter ErweiterteAnweisungen -> Diagnose

    mfG René

  6. #5
    Registriert seit
    17.01.2011
    Beiträge
    105
    Danke
    12
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Ich würde das mit "Modulstate", "Devicestate", und GET-Diagnose machen.

    Gruss
    TMaroni

  7. Folgender Benutzer sagt Danke zu TMaroni für den nützlichen Beitrag:

    Tuc_Tuc (22.12.2014)

  8. #6
    Registriert seit
    08.04.2010
    Beiträge
    21
    Danke
    3
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Siehe auch https://support.automation.siemens.c...false&x=22&y=9

    (Siemens Support Beitrags-ID: 68011497)

    Rainer

  9. #7
    Tuc_Tuc ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.12.2014
    Beiträge
    21
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe hierzu auch noch einen Beitrag gefunden (falls jemand mal dieses Thread aufrufen sollte).

    https://support.automation.siemens.c...58&caller=view
    (Beitrags-ID:98210758 )

    Die Idee von TMaroni werde ich mal versuchen umzusetzen.
    In dem gelinkten Beitrag ist eine schöne Anleitung wie man im OB 100 alle HW_IDs in den Speicher zieht. So kann man diese verwenden um alle Teilnehmer zu überprüfen, ohne das der Anwender viel am Baustein machen muss.

    Mich stört ein bisschen, dass man "Devicestate" mit einem Array aus 1028Bit abfragen muss und die "Modulstate" mit jeweils 128bit . Unsere Bausteine dürfen (wie immer) kein Platz verbrauchen. Aber sehe auch keine anderen Möglichkeiten mehr.

    Ich weiß noch nicht, ob ich GET-Diagnose richtig verstanden habe. Ich habe mit dieser ja auch nur die Anzeige "Wartung nötig", "Fehler" oder "alles ok". Ist ja jetzt nicht die größte Auswahl. Weil Fehler oder kein Fehler liefert mir ja schon mein "Devicestate" und "Modulstate". Naja ich teste mal.

    Das heißt aber auch für mich, dass ich die OBs garnichtmehr abfragen brauche?

    Vielen Dank für eure Hife. Ich schaff das noch

    Weitere Ideen, Verbesserungsvorschläge, Anregungen, oder wenn einfach nur jemand seinen Senf dazu geben möchte, freut mich alles sehr. Macht weiter so.

  10. #8
    Tuc_Tuc ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.12.2014
    Beiträge
    21
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Mit "Get_Diag" kann ich den Status vom Modul auswerten. Wenn man das dann noch mit den ganzen OB aufrufenverknüpft, kann man auch so ueimlicha lles zurücksetzen.

    Danke für eure Tipps!
    Geändert von Tuc_Tuc (23.12.2014 um 12:47 Uhr)

Ähnliche Themen

  1. Analogwert auswertung
    Von preuner_94 im Forum Sonstige Steuerungen
    Antworten: 38
    Letzter Beitrag: 11.01.2014, 07:24
  2. Auswertung Diagnosepuffer
    Von c.wehn im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 09.04.2010, 22:15
  3. CRC16 Auswertung
    Von stricky im Forum Programmierstrategien
    Antworten: 8
    Letzter Beitrag: 31.12.2009, 10:15
  4. 1oo2 Auswertung
    Von taylor1982 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 18.07.2009, 09:51
  5. Auswertung Diagnosepuffer
    Von seehund im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 08.05.2006, 09:45

Stichworte

Lesezeichen

Berechtigungen

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