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

Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 33

Thema: Mit Integerwert DB Bit setzen fortlaufend

  1. #21
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von mobileme Beitrag anzeigen
    Ne Schleife in der SPS? S7?
    ja, warum nicht?
    Ich schreibe über Schleifen die Meldungen und die Quittierungen,also es geht.


    bike

  2. #22
    Registriert seit
    30.03.2011
    Beiträge
    30
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Mmmmhhhhh. Ok. Schade dass man die textfelder nicht speichern kann.

  3. #23
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von mobileme Beitrag anzeigen
    Mmmmhhhhh. Ok. Schade dass man die textfelder nicht speichern kann.
    Wenn etwas nicht funktioniert, dann muss man als Programmierer oder Entwickler sich der Werkzeuge bedienen, die vorhanden sind.


    bike

  4. #24
    Registriert seit
    30.03.2011
    Beiträge
    30
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Würde es vielleicht mit analogmeldungen funktionieren. Könnte doch die integer auf größer 0, großer 1, größer 2 usw abfragen und dann die entsprechende Meldung absetzen oder würde dies in wincc nicht funktionieren.

  5. #25
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Es gibt viele Wege, doch warum liest du nicht deine Zahl und machst ein Bit daraus?
    Das ist echt nicht schwer


    bike

  6. #26
    Registriert seit
    30.03.2011
    Beiträge
    30
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja ich stehe echt auf dem Schlauch was das betrifft. Genau das will ich ja tun könntest mir ja helfen
    Geändert von mobileme (16.01.2012 um 21:10 Uhr)

  7. #27
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Also ich würde dir als Lösung die Summe von Larry und JoopB empfehlen:
    NW 1 : SFC21
    NW 2 : Bit setzen nach Index
    Da brauchst du nichts 2000 mal aufrufen.
    Dein Programm läuft durch und löscht alle Bits, anschließend wird im gleichen Zyklus das richtige Bit wieder gesetzt.
    Alternativ kannst du auch den SFC21 nur aufrufen wenn sich die Index Variable geändert hat:
    Dazu Index auf einen statische Variable speichern und im nächsten Zyklus abfragen ob Index <> Alter Index, wenn ja SFC21.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  8. #28
    Registriert seit
    28.08.2007
    Beiträge
    140
    Danke
    17
    Erhielt 13 Danke für 11 Beiträge

    Standard

    Dito,
    Statt SFC20 würd ich ne kleine Schleife im 1. NW bauen zum nullen. So viel ich weiß muss man beim SFC20 als Quelle einen Speicherbereich mit gleicher Länge wie das Ziel angeben. Also braucht man 2 identische DBs.



    Code:
    //--- DB nullen vor dem setzen des Alarmbits...
    
    AUF DBxxx     // DB aufschlagen
    LAR1 P#0.0    // ar1 initialisieren
    
    L x          // Anzahl Bytes im DB
    M001: T #Counter
    
    L 0
    T DBB[ar1,p#0.0]
    
    +AR1 P#1.0     // Adresse um 1 Byte erhöhen
    
    L #counter      // Schleifenzähler laden. Wird von Loop decrementiert und bei M001 zurückgeschrieben...
    LOOP M001     // und wieder von vorn
    
    ...                 // hier kannst du nun dein bit über den index setzen

  9. #29
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von EyeQ Beitrag anzeigen
    Dito,
    Statt SFC20 würd ich ne kleine Schleife im 1. NW bauen zum nullen. So viel ich weiß muss man beim SFC20 als Quelle einen Speicherbereich mit gleicher Länge wie das Ziel angeben. Also braucht man 2 identische DBs.
    Hallo EyeQ,
    da hast du was überlesen.
    JoopB und ich meinen den SFC21 (Fill), da wird nur das Ziel angegeben und als Eingangsparameter mit was das Ziel gefüllt werden soll.
    Am einfachsten ein leeres Merkerbyte als Eingangsparameter und als Ziel den entsprechenden DB.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  10. Folgender Benutzer sagt Danke zu Paule für den nützlichen Beitrag:

    EyeQ (17.01.2012)

  11. #30
    Registriert seit
    28.08.2007
    Beiträge
    140
    Danke
    17
    Erhielt 13 Danke für 11 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Achso, danke für den Hinweis. Die Funktion habe ich noch nicht benutzt. Wird aber auch funktionieren

Ähnliche Themen

  1. mit Schalter bit in byte setzen
    Von Züttu im Forum HMI
    Antworten: 0
    Letzter Beitrag: 04.08.2010, 13:39
  2. S7-Graph: Ausgangsvariable mit Integerwert belegen
    Von spsfreak12345 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 28.12.2009, 14:43
  3. Bit in der SPS setzen mit VB.net 2008 und libnodave
    Von poppycock im Forum Hochsprachen - OPC
    Antworten: 12
    Letzter Beitrag: 17.06.2009, 15:59
  4. Bit in einer 8Bit Variable mit VBS setzen
    Von Anonymous im Forum HMI
    Antworten: 4
    Letzter Beitrag: 14.12.2005, 11:45
  5. Mit F-Tasten Bit Setzen oder Rücksetzen
    Von Anonymous im Forum HMI
    Antworten: 0
    Letzter Beitrag: 28.04.2005, 11:32

Lesezeichen

Berechtigungen

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