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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 20

Thema: Gibt es einen Interrupt?????

  1. #11
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Dennis,
    ein MSB ist ein Forums-Mitglied, wie z.B. du auch. Ich habe mich auf den Beitrag bezogen, den er vor mir verfasst hatte.

    Wegen der Ein- und Ausgänge musst du dir nicht so große Sorgen machen. Ich denke, dass die auch bei dem von dir eingesetzten System einmal im Zyklus aktualisiert werden und dann wird im Zyklus die ganze Zeit mit den Zuständen gearbeitet. Bei Siemens heißt das Prozessabbild und dieses wird einmal vor dem Start des Anwender-Programms geladen bzw. am Ende geschrieben.

    Gruß
    LL

  2. #12
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo Dennis,
    ein MSB ist ein Forums-Mitglied, wie z.B. du auch. Ich habe mich auf den Beitrag bezogen, den er vor mir verfasst hatte.

    Wegen der Ein- und Ausgänge musst du dir nicht so große Sorgen machen. Ich denke, dass die auch bei dem von dir eingesetzten System einmal im Zyklus aktualisiert werden und dann wird im Zyklus die ganze Zeit mit den Zuständen gearbeitet. Bei Siemens heißt das Prozessabbild und dieses wird einmal vor dem Start des Anwender-Programms geladen bzw. am Ende geschrieben.

    Gruß
    LL
    Das ist bei der Beckhoff genauso. Was allerdings mir Variablen passiert, die z.Bsp. per ADS kommen, weiß ich nicht so genau.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #13
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Zitat Zitat von dennish23 Beitrag anzeigen
    ...
    Nun ist eine SPS ja nicht Multitasting fähig...
    Doch die von Dir verwendete ist es. Was denkst Du für was die eine Taskkonfiguration besitzt?

    Zitat Zitat von dennish23 Beitrag anzeigen
    ...
    mit der IF-Schleife
    ...
    Wenn ich noch einmal IF-Schleife von Dir lese landest Du auf meiner Ignorliste!

    ----

    Lies Dir noch mal den Beitrag von MSB und auch meinen obigen Beitrag noch mal durch. Dann Such mal in der Hilfe nach Taskkonfiguration und lese Dir das durch.
    If you open your Mind too much, your Brain will fall out.

  4. #14
    Registriert seit
    28.09.2008
    Beiträge
    53
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Sorry. In meinem Microprozessor Unterricht redet der Dozent immer bei IF von einer Schl...... Darum sag ich das hier auch weil ich immer gedacht habe da gibt es keinen Unterschied. IF ist bei mir bis jetzt immer IF.

    Wie genau habe ich in der Ereignisgesteuerten Eingabe die Möglichkeit auch BYTE und INT Variable zu nehmen? Hab mir das mal angeschaut und kann bis jetzt nur eine Variable eintragen. Allerdings nicht wie ich ereignisgesteuert schreiben kann wenn das Byte 15 enthält soll der Task asugeführt werden.

    MFG Dennis

  5. #15
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Möglichkeiten gibt es viele.

    Du könntest auch einen Zeit gesteuerten Task nehmen (anstell des Ereignisgesteuerten) der alle 5ms den Wert (mittel IF Verzweigung) überprüft.
    If you open your Mind too much, your Brain will fall out.

  6. #16
    Registriert seit
    28.09.2008
    Beiträge
    53
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Und wie muss ich das ganze dann schreiben? Hast du da ein Beispiel?

    MFG Dennis

  7. #17
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Konfiguriere erst mal die Tasks (Siehe Bild im Anhang) einen der das PLC_PRG aufruft und einen der Dein hochwichtiges Programm aufruft.


    Dann musst Du nur noch in das Programm Deine Verzweigung einfügen.

    Zur Abwechslung ein Beispiel mit CASE:

    Code:
    CASE myWert OF
    
    21: ; (*Schick die Mail oder mach was Du willst*)
            myWert := 0;
    
    ELSE
        ; 
    END_CASE
    Angehängte Grafiken Angehängte Grafiken
    If you open your Mind too much, your Brain will fall out.

  8. #18
    Registriert seit
    28.09.2008
    Beiträge
    53
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Schau mal bitte in das Prog ob ich alles richtig verstanden habe?
    Angehängte Dateien Angehängte Dateien
    MFG Dennis

    Man muss nicht alles wissen sondern nur wissen wo man die Information herbekommt.

  9. #19
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Du rufst ja mit zwei verschiedenen Tasks jeweils das Programm PLC_PRG auf.

    Dann sollten die Priritäten angepasst werden der "Interrupt" Task sollte ja die höchste Prio bekommen.

    Zu Deinen Fragen im Programm ;o)
    Die CASE Verzweigung ist recht gut in der Hilfe erklärt und ja an der Stelle solltest Du dann alles reinschreiben was Du gerne bei dem "Interrupt" machen möchtest.

    Was soll der Interrupt Aufruf im PLC_PRG? Das soll doch der extra Task machen.
    If you open your Mind too much, your Brain will fall out.

  10. #20
    Registriert seit
    19.11.2006
    Beiträge
    1.346
    Danke
    6
    Erhielt 254 Danke für 231 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von dennish23 Beitrag anzeigen
    Das ist mir ja klar das ich das so machen kann mit der IF-Schleife nur wenn die IF Schleife erst in zeile 500 steht braucht das Programm eine Weile bis es dort ankommt. Und darum könnte es dafür mittlerweile wieder zu spät sein das das Signal dann wenn das Programm in der Zeile 500 ankommt nicht mehr da ist, aber zwischendurch da war und die SPS das nicht mitbekommen hat. Ist also eine Fehlerquelle meiner Meinung.
    Schau mal: Jede "moderne" und halbwegs schnelle SPS benötigt für die Programmabarbeitung weniger als 20 ms. Wenn's länger dauert, sollte man über ne stärkere CPU nachdenken, allein schon aus Gründen der Prozessgüte (finde ich).
    Das Drücken eines Tasters dauert bis zur Erkennung i.d.R. auch diese Zeit.
    Also im Normalfall sollte in jedem Zyklus das "wichtige" Signal erkannt werden.
    Wenn ein Eingangssignal wirklich mal so schnell sein sollte, dass es weniger als die Zykluszeit anstehen kann (und daher die Gefahr besteht, das Signal "zu verpassen"), dann spendieren wir dem Programm eine schnelle Task. Bei unseren IPC-Steuerungen (Beckhoff TwinCAT) lassen wir die immer mit 250..500µs laufen. Die erfasst bloß den Eingang und setzt einen Merker, der im Hauptprogramm ausgewertet wird.

    Interrupts, also Aktionen, die ein Programm richtig unterbrechen, halt ich bei SPSen für nicht sinnvoll. Die Vorhersagbareit der restlichen Aktionen wird sonst zu nichte gemacht (meine Meinung).

Ähnliche Themen

  1. Gibt es einen wandler von Profibus zu DMX
    Von Rossi im Forum Feldbusse
    Antworten: 7
    Letzter Beitrag: 08.07.2011, 09:17
  2. Antworten: 12
    Letzter Beitrag: 31.07.2006, 16:39
  3. Gibt es einen S7-200 Softwaresimulator?
    Von waro-msr im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 22.06.2006, 12:58
  4. Gibt es einen 13-Bit Scalierer ??
    Von Gerd im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 04.08.2004, 12:33
  5. Gibt es einen Verteilerblock für Profibus DP ?
    Von JensPipka im Forum Feldbusse
    Antworten: 6
    Letzter Beitrag: 25.05.2004, 20:11

Lesezeichen

Berechtigungen

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