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

Ergebnis 1 bis 6 von 6

Thema: S7 200 Interrupt mit mehreren Unterprogrammen! Problem?

  1. #1
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,

    ich habe mir ein Unterprogramm mit 6 Netzwerken geschrieben, in dem 2 Addierer und eine kleine Berechnung sind. Alles mit referenzierten Lokaldaten. (Die Daten liegen im DB.)

    Diesen rufe ich im Augenblick 2 mal in der Interrupt Routine auf. Eigentlich sollen es hinterher 19 Aufrufe werden.

    Jetzt löse ich den Interrupt aus und stelle fest, dass manchmal das zähler geschlabbert wird.? Gibt es irgend welche bekannten Probleme in dieser Richtung?

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.
    Zitieren Zitieren S7 200 Interrupt mit mehreren Unterprogrammen! Problem?  

  2. #2
    plc_tippser ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Interessant ist, es werden 3 Additionen ausgeführt, mit der selben Vorbedingung. Das eine ist ein Zyklusmengenzähler, der andere ein Tagesmengen und der dritte ein Gesamtmengenzähler. Der Gesamtmengenzähler ist DINT, die anderen beiden INT. Der Gesamtmengenzähler zählt immer und zuverlässig und das obwohl ich bei dem noch vorher die Menge expliziet in DINT wandeln muss.

    Nun habe ich die 3 Additionen hintereinander gehängt (testhalber), doch es hat sich nichts geändert.

    Was kann denn da los sein?????

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  3. #3
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Hmm, mir fehlt jetzt der Durchblick, aber irgendwie kommt es mir komisch vor, in Interrupts Lokaldaten zu benutzen. Keine Ahnung, ob die einen eigenen Lokaldaen-Stack haben.

    Habe ein Programm auf der S7-200, das 5 Interrupts kombiniert benutzt:

    High-Speed-Counter 1:
    Erreichen eines Zählerstands
    Umkehr der Zählrichtung
    Drei Interrupts von flankengetriggerten Eingänge, 2 davon um die 30Hz.
    Timer-Interrupt jede Sekunde

    Beim Counter wird in der Interrupt-Routine dem nächsten Interrupt eine andere Routine zugeordnet.Soweit keine Probleme.
    Einmal glaubte ich zu sehen, daß nach Anstecken eines TD200 ein Interrupt verloren ging.

    Während der Interrupts sind andere Interrupts gesperrt, wenn ich es noch richtig weiß.
    Interruptroutinen sollten daher möglichst kurz sein und nur das nötigste selbst machen. Wenn mehr zu tun ist, setze ich einen Merker und lasse das Hauptprogramm die Arbeit erledigen und den Merker zurücksetzen.

  4. #4
    plc_tippser ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Es wird nur ein Interrupt genutzt, und dieser wird evt. 2 x pro Sekunde aufgerufen.

    Rest ist ja bekannt..

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  5. #5
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Standard

    Hallo pt,
    irgendwie kommt es mir komisch vor, in Interrupts Lokaldaten zu benutzen
    so hat Zottel geschrieben und auch mir kommt das sehr suspekt vor. Die Lokaldaten sind beim nächsten Interrupt ganz einfach zufällige Werte. Aber das kann man meiner Meinung nach nur mit einem Code-snippet von Deinem Prorgamm nachvollziehen.
    Gruss
    Question_mark
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren S7 200 Interrupt mit mehreren Unterprogrammen! Problem?  

  6. #6
    plc_tippser ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Also,

    Temp sind nur Variablen, die beschrieben und im gleichen Zyklus gelesen werden. Statisch, IO-Var. sind mit dem DB verbunden, so dass bei jedem Aufruf die Zustände wieder vorhanden sind. Die Addierer laden über den IO-Parameter Q_Gesamt die Istmenge, addieren Pulsmenge und schreiben zurück in die Istmenge.

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 16.10.2012, 23:27
  2. S200 Probleme mit Unterprogrammen
    Von B4D_Dr1ft im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 19.05.2011, 13:45
  3. S7-200 Zeiten und Timer in Unterprogrammen
    Von eifelolli im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 06.08.2010, 13:08
  4. interrupt in awl
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 11.10.2005, 15:33
  5. Timer in Unterprogrammen S7-200
    Von andre im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 24.11.2003, 16:04

Lesezeichen

Berechtigungen

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