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

Results 1 to 6 of 6

Thread: S7 200 Interrupt mit mehreren Unterprogrammen! Problem?

  1. #1
    Join Date
    07.05.2004
    Location
    Campbelltown
    Posts
    2,500
    Danke
    131
    Erhielt 293 Danke für 86 Beiträge

    Default


    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.
    Reply With Quote Reply With Quote S7 200 Interrupt mit mehreren Unterprogrammen! Problem?  

  2. #2
    plc_tippser is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    07.05.2004
    Location
    Campbelltown
    Posts
    2,500
    Danke
    131
    Erhielt 293 Danke für 86 Beiträge

    Default

    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
    Join Date
    19.06.2003
    Posts
    2,299
    Danke
    85
    Erhielt 274 Danke für 179 Beiträge

    Default

    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 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    07.05.2004
    Location
    Campbelltown
    Posts
    2,500
    Danke
    131
    Erhielt 293 Danke für 86 Beiträge

    Default

    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
    Join Date
    07.07.2004
    Posts
    3,381
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Default

    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)
    Reply With Quote Reply With Quote S7 200 Interrupt mit mehreren Unterprogrammen! Problem?  

  6. #6
    plc_tippser is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    07.05.2004
    Location
    Campbelltown
    Posts
    2,500
    Danke
    131
    Erhielt 293 Danke für 86 Beiträge

    Default


    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.

Similar Threads

  1. Replies: 3
    Last Post: 10.04.2019, 17:05
  2. Problem mit mehreren Instanzen von FBs
    By DerPaul in forum CODESYS und IEC61131
    Replies: 2
    Last Post: 04.04.2018, 07:27
  3. S7-200 Zeiten und Timer in Unterprogrammen
    By eifelolli in forum Simatic
    Replies: 8
    Last Post: 06.08.2010, 13:08
  4. Problem mit S7-200 und TD-200
    By Anonymous in forum Simatic
    Replies: 19
    Last Post: 18.08.2005, 11:31
  5. Timer in Unterprogrammen S7-200
    By andre in forum Simatic
    Replies: 2
    Last Post: 24.11.2003, 16:04

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •