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

Ergebnis 1 bis 10 von 10

Thema: Fehlernummern ausgeben

  1. #1
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    für ein aktuelles Projekt ist es vorgesehen das der Kunde im Fehlerfall unserer Maschine eine Fehlernummer über Profibus mitgeteilt bekommt.

    Also wenn zum Beispiel "Störung 1" ansteht soll die Fehlernummer 1 ausgegeben werden, bei "Störung 2" soll die Fehlernummer 2 ausgegeben werden ...

    Der Kunde will dann anhand unserer Fehlernummer eine Meldung in Klartext an seinem Panel ausgeben.

    Ich suche im Moment nach einer geeigneten Möglichkeit diese Fehlerummern zu generieren.

    Eine Möglichkeit wäre zwar jedes Störungsbit abzufragen und entsprechend die Fehlernummer zu schreiben:

    Code:
          U     M   2000.0
          SPBNB _001
          L     1
          T     MW  2200
    _001: NOP   0
    
          U     M   2000.1
          SPBNB _002
          L     2
          T     MW  2200
    _002: NOP   0
    Ist aber bei insgesamt 5 Wörtern mit je 16 Störmeldungen etwas arg umständlich.

    Hat jemand von euch eine Idee wie ich das etwas komfortabler und vielleicht auch universeller umsetzen kann?

    Gruß smartie
    Geändert von smartie (23.03.2010 um 12:46 Uhr)
    Zitieren Zitieren Fehlernummern ausgeben  

  2. #2
    Registriert seit
    16.05.2007
    Ort
    im Stahlwerk...
    Beiträge
    1.178
    Danke
    120
    Erhielt 429 Danke für 236 Beiträge

    Standard

    Hallo smartie,
    Nur so nebenbei gesagt:
    Dein Code würde per sé schon mal gar nicht funktionieren,
    weil Lade- und Transferfunktionen VKE-unabhängig sind!
    Ein Fehler, der hier im Forum immer wieder mal gepostet wird!
    So würde es gehen...
    Code:
    U     M    2000.0
    SPBN = next    //springe nach next, wenn VKE= FALSE
    L 1
    T     MW 2200
    Next: was auch immer
    Nihil est in cpu, quod non fuerit in intellectu" - Nichts ist in der CPU, was nicht (zuvor) im Verstand war.

  3. #3
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.792
    Danke
    398
    Erhielt 2.416 Danke für 2.012 Beiträge

    Standard

    Zitat Zitat von smartie Beitrag anzeigen
    Hat jemand von euch eine Idee wie ich das etwas komfortabler und vielleicht auch universeller umsetzen kann?
    Hallo Smartie,
    wenn es sich um einen zusammenhängenden Bereich handelt (z.B. Bit-Meldungen für Flex) dann könntest du das mit einer Schleife durchscannen und entsprechend der Bit-Nummer einen Wert in Meldewort schreiben.
    Was machst du aber, wenn mehr als eine Meldung ansteht (soll ja auch vorkommen) ?

    Gruß
    LL

  4. #4
    smartie ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    @ Approx:
    Zitat Zitat von Approx Beitrag anzeigen
    ...Nur so nebenbei gesagt:
    Dein Code würde per sé schon mal gar nicht funktionieren, ...
    [/CODE]
    Schon klar, das war ja auch nur ein Beispiel, und beim programmieren in FUP oder KOP muss man sich zum Glück über so was keine Gedanken machen.
    (Aber ich habs jetzt einfach mal ausgebessert .....)


    @ Larry:

    Wie meinst du das mit dem "durchscannen"?

    Wenn mehrere Fehler anstehen soll der letzte aufgetretene Fehler gemeldet werden.

    smartie
    Geändert von smartie (23.03.2010 um 12:47 Uhr)

  5. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.792
    Danke
    398
    Erhielt 2.416 Danke für 2.012 Beiträge

    Standard

    Welches ist den der "letzte Fehler" in einem Speicherbereich ?
    Dann müßtest du nun außerdem noch vergleichen, was sich zwischen 2 Zyklen deines SPS-Programms geändert hat.

    Durchscannen heißt: eine Schleife geht den Bereich durch und sucht nach dem gesetzten Bit. Ist ein gesetztes Bit gefunden dann wird dessen Index-Nummer ausgegeben.
    Ich würde das allerdings nicht mehr in AWL sondern vielmehr in SCL programmieren (geht aber auch in AWL ... ) .

    Gruß
    LL

  6. #6
    smartie ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    AWL ist ja nicht gerade mein Ding und SCL hab ich schon erst gar nicht.

    Ich fürchte ich werd wohl mal wieder den umständlichen Weg gehen müssen.

  7. #7
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.792
    Danke
    398
    Erhielt 2.416 Danke für 2.012 Beiträge

    Standard

    ... dann wünsche ich dir dazu viel Spaß - viel Code bekommst du dann schon automatisch ...

  8. #8
    smartie ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Ich denke für die Anlage muss ich es so wohl machen, weil die Anlage schon beim Kunden steht und ich nicht viel Zeit habe da irgendwas auszuprobieren.

    Aber ich würde mir dann schon mal einen Baustein bauen wollen der das ganze automatisch organisiert. (Wenn das überhaupt so universal geht).

    Aber letztendlich happert es halt an meinen mangelnden AWL Kenntnissen.
    Gerade bei AWL habe ich halt so meine Probleme.

    Ich wüsste jetzt auch erst mal gar nicht wie ich so eine Schleife angehen soll.
    Dann denke ich benötige ich auch noch einen Pointer der die Daten für den Vergleich bereit stellt.

    Was meinst du mit "Welches ist den der "letzte Fehler" in einem Speicherbereich ?" ?

    smartie
    Geändert von smartie (23.03.2010 um 13:32 Uhr)

  9. #9
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.792
    Danke
    398
    Erhielt 2.416 Danke für 2.012 Beiträge

    Standard

    Zitat Zitat von smartie Beitrag anzeigen
    Was meinst du mit "Welches ist den der "letzte Fehler" in einem Speicherbereich ?" ?
    ... an den Bits steht nicht dran, wann sie gesetzt worden sind ...
    Das heißt dann, dass du außerdem etwas erstellen mußt, dass den Änderungs-Zustand zwischen der letzten und der aktuellen Meldung vergleicht.

    Gruß
    LL

  10. #10
    smartie ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ok jetzt versteh ich das, du meinst ich muss (zeitlich) erfassen welches das zuletzt gesetzte Bit ist um die enstsprechende Fehlernummer auszugeben.

    Ich hatt es so verstanden das du wissen wolltest welches Bit das letzte in meinem Adressbereich ist.

    Sorry

Ähnliche Themen

  1. CPU Zeit in TOD ausgeben? name des FC´s?
    Von Jaykops im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 01.06.2010, 14:55
  2. Fehlernummern auswerten
    Von Bensen83 im Forum HMI
    Antworten: 6
    Letzter Beitrag: 12.02.2010, 12:12
  3. Frequenz ausgeben
    Von SaschaP im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 20.02.2009, 13:16
  4. Werte in BCD ausgeben
    Von SPS-Linksfuß im Forum Simatic
    Antworten: 40
    Letzter Beitrag: 22.08.2006, 11:04
  5. 1-10 ausgeben
    Von IchwillspsKönnerwerden im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 03.01.2006, 15:33

Lesezeichen

Berechtigungen

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