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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: 32 Eingänge mit wenig Aufwand auswerten

  1. #1
    Registriert seit
    29.01.2007
    Beiträge
    24
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    bin gerade eine Störmeldeanzeige zu realisieren. D. h. Eingänge einlesen, werden diese zu 0 so soll eine Störmeldung am TP277 angezeigt werden und eine Hupe /externer Ausgang aktiv werden.
    Nun meine eigentliche Frage wie kann man auf schnellsten Wege 32 Eingänge einlesen und auswerten d. h. wird ein Eingang 0 so soll ein Ausgang aktiv werden (Hupe etc.)
    Ich dachte z. B. EW0 in Integer wandeln und mit einem Vergleicher auswerten.
    Weiss jedoch nicht wie ich das machen soll.

    Wäre toll wenn mir jemand helfen könnte.
    Zitieren Zitieren 32 Eingänge mit wenig Aufwand auswerten  

  2. #2
    Registriert seit
    02.08.2007
    Ort
    BW im Ostalbkreis
    Beiträge
    249
    Danke
    32
    Erhielt 27 Danke für 25 Beiträge

    Standard

    Hi,

    also wenn deine 32 Bit's alle hintereinander liegen (beginnend bei .0) dann ist das auch kein Problem

    Code:
    L ED0             //Deine 32 Bit's zusammengefasst als ein Doppelwort
    L L#0             //Es soll mit einer 0 verglichen werden
    <>D               //Vergleicher auf ungleich
    =#Störung      //Ausgang z.B. für deine Hupe
    ... so und ab jetzt werden die Hausaufgaben wieder selber gelöst

  3. #3
    Registriert seit
    10.05.2005
    Beiträge
    1.996
    Danke
    220
    Erhielt 233 Danke für 204 Beiträge

    Standard

    @PhilippL

    ... so und ab jetzt werden die Hausaufgaben wieder selber gelöst

    Die Aufgabe war:
    Wird ein Eingang 0 so soll ein Ausgang aktiv werden (Hupe etc.)


    Ich denke NICHT, dass deine Lösung richtig ist.
    Ich kann mich jedoch täuschen.
    Karl

  4. #4
    Registriert seit
    13.11.2006
    Ort
    Lengerich
    Beiträge
    68
    Danke
    0
    Erhielt 14 Danke für 14 Beiträge

    Standard

    Also wenn ich dich richtig verstehe willst du die Eingänge auf Null abfragen. Wenn du dann deine Störungshupe bei jeder neu hinzugekommenen Meldung neu antriggern möchtest musst du einen Alt-Neu-Vergleich machen.
    Probier das mal aus:

    L MD 300 // Altwert
    L ED 0 // 32 Störungseingänge
    UW
    L MD 300 // Altwert
    <>I
    = #Hupe // Hupe
    L ED 0 // Störungseingänge
    T MD 300 // im MD speichern

    das Signal #Hupe ist dann für einen Zyklus gesetzt.
    Der Fehler liegt oft zwischen den Ohren!

  5. #5
    Registriert seit
    08.11.2006
    Ort
    Uckermark
    Beiträge
    903
    Danke
    201
    Erhielt 256 Danke für 208 Beiträge

    Standard

    Zitat Zitat von gravieren Beitrag anzeigen
    @PhilippL

    Die Aufgabe war:
    Wird ein Eingang 0 so soll ein Ausgang aktiv werden (Hupe etc.)


    Ich denke NICHT, dass deine Lösung richtig ist.
    Ich kann mich jedoch täuschen.
    Aber fast richtig
    Code:
     
    L  ED0              //Deine 32 Bit's zusammengefasst als ein Doppelwort
    L  L#-1            //alle 32 Bit's sind '1'
    <>D                //Vergleicher auf ungleich
    = #Störung        //Ausgang z.B. für deine Hupe
    Neue Ideen begeistern jene am meisten, die auch mit den alten nichts anzufangen wussten.
    Karl Heinrich Waggerl (1897-1973)

  6. #6
    Registriert seit
    30.01.2009
    Beiträge
    441
    Danke
    25
    Erhielt 48 Danke für 44 Beiträge

    Standard

    Zitat Zitat von OHGN Beitrag anzeigen
    Aber fast richtig
    Code:
     
    L  ED0              //Deine 32 Bit's zusammengefasst als ein Doppelwort
    L  L#-1            //alle 32 Bit's sind '1'
    <>D                //Vergleicher auf ungleich
    = #Störung        //Ausgang z.B. für deine Hupe
    Leider immer noch falsch, was machste denn wenn nach dem 32.Bit das 31.Bit auf null fällt? Dann funktioniert deine Abfrage nicht mehr.

  7. #7
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von Move Beitrag anzeigen
    Leider immer noch falsch, was machste denn wenn nach dem 32.Bit das 31.Bit auf null fällt? Dann funktioniert deine Abfrage nicht mehr.
    Wieso? Der Ausgang wird angesteuert, solange ein Bit der 32 Bits den Wert 0 hat. Wenn dies die Aufgabe war, dann ist es doch ok.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  8. #8
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Zitat Zitat von Tetrade Beitrag anzeigen
    Also wenn ich dich richtig verstehe willst du die Eingänge auf Null abfragen. Wenn du dann deine Störungshupe bei jeder neu hinzugekommenen Meldung neu antriggern möchtest musst du einen Alt-Neu-Vergleich machen.
    Probier das mal aus:

    L MD 300 // Altwert
    L ED 0 // 32 Störungseingänge
    UW
    L MD 300 // Altwert
    <>I
    = #Hupe // Hupe
    L ED 0 // Störungseingänge
    T MD 300 // im MD speichern

    das Signal #Hupe ist dann für einen Zyklus gesetzt.
    UW und <>I verwenden nur 16 Bits der gewünschten 32. UD und <>D verwenden.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  9. #9
    Registriert seit
    30.01.2009
    Beiträge
    441
    Danke
    25
    Erhielt 48 Danke für 44 Beiträge

    Standard

    Zitat Zitat von Rainer Hönle Beitrag anzeigen
    Wieso? Der Ausgang wird angesteuert, solange ein Bit der 32 Bits den Wert 0 hat. Wenn dies die Aufgabe war, dann ist es doch ok.
    Jo dat, nur man erkennt keine neue Störung. Die erste Störung löst aus, wir unter Umständen quittiert die Hupe soll ausgehen, die Lampe leuchtet vom Blinken in Dauerlicht, so die gängige Praxis. Eine weitere kommende Störung wird jetzt nicht mehr erkannt, nur immer die erste.
    Gruß

  10. #10
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Move Beitrag anzeigen
    Jo dat, nur man erkennt keine neue Störung. Die erste Störung löst aus, wir unter Umständen quittiert die Hupe soll ausgehen, die Lampe leuchtet vom Blinken in Dauerlicht, so die gängige Praxis. Eine weitere kommende Störung wird jetzt nicht mehr erkannt, nur immer die erste.
    Gruß
    Das mit der Quittierung habe ich in der Aufgabenstellung nicht gesehen
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

Ähnliche Themen

  1. Ich bin ein wenig verwirrt...
    Von Oele im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 03.08.2011, 19:37
  2. aufwand beckhoff twincat auf normalen PC
    Von Gerri im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 21.12.2010, 22:15
  3. 358 Digitale Eingänge Erfassen und Auswerten
    Von Hector im Forum Simatic
    Antworten: 25
    Letzter Beitrag: 13.07.2010, 10:13
  4. Schulung SPS etc. für wenig Geld
    Von Robot-Sun im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 17.11.2007, 23:05

Lesezeichen

Berechtigungen

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