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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22

Thema: bedingte Zuweisung im FUP?

  1. #11
    McNugget ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    27.09.2008
    Beiträge
    201
    Danke
    21
    Erhielt 11 Danke für 10 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @zotos: Super! Vielen Dank. Es tut wie es soll.


    Noch eine Frage:
    Wie kann ich in FUP und ST feststellen (oder eine Aktion auslösen) sobald ein INT-Wert sich einfach nur verändert?

    Beispiel: Ich möchte eine überwachen, ob ein Zähler den Wert verändert.

    Gruss

    McNugget

  2. #12
    Registriert seit
    06.07.2007
    Beiträge
    2.811
    Danke
    174
    Erhielt 274 Danke für 253 Beiträge

    Standard

    Code:
    VAR
       Count: INT;
       Count_alt: INT;
    END_VAR
     
     
    IF SystemTaskInfoArr[1].firstCycle THEN
       Count_alt := Count;
    END_IF
     
    IF Count <> Count_alt THEN
       (* Hier kommt deine Aktion rein *)
    END_IF
     
    Count_alt := Count;
    Damit sollte es funktionieren. Um das SystemTaskInfoArr zu nutzen musst du die TcSystem.lib einbinden.

    Gruß Cerberus
    A programmer is just a tool which converts caffeine into code.

  3. #13
    McNugget ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    27.09.2008
    Beiträge
    201
    Danke
    21
    Erhielt 11 Danke für 10 Beiträge

    Standard

    Danke schön.

    Liesse sich das auch im FUP ausdrücken, oder hat es keinen Einfluss auf die Performance, wenn ich mitten im FUP ST-BAuteine refernzieren muss?

    Aktuell läuft mein Haupttask bei 800 us, was ich ganz ordentlich finde und gerne so ähnlich beibehalten möchte.

    Gruss

    McNugget

  4. #14
    Registriert seit
    06.07.2007
    Beiträge
    2.811
    Danke
    174
    Erhielt 274 Danke für 253 Beiträge

    Standard

    Zitat Zitat von McNugget Beitrag anzeigen
    Danke schön.

    Liesse sich das auch im FUP ausdrücken, oder hat es keinen Einfluss auf die Performance, wenn ich mitten im FUP ST-BAuteine refernzieren muss?

    Aktuell läuft mein Haupttask bei 800 us, was ich ganz ordentlich finde und gerne so ähnlich beibehalten möchte.

    Gruss

    McNugget
    Das kann in FUP kann ich dir leider nicht liefern. Das kann ich selber nicht. Kann mir aber nicht vorstellen dass es Auswirkungen auf deine Performance hat, wenn du das Ganze in einen ST-FB machst und diesen aus FUP heraus aufrufst.
    A programmer is just a tool which converts caffeine into code.

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

    Standard

    Zitat Zitat von Cerberus Beitrag anzeigen
    [CODE]

    IF SystemTaskInfoArr[1].firstCycle THEN
    Count_alt := Count;
    END_IF
    Wieso die Abfrage auf den FirstCycle?

    Zitat Zitat von McNugget Beitrag anzeigen
    Wie kann ich in FUP und ST feststellen (oder eine Aktion auslösen) sobald ein INT-Wert sich einfach nur verändert?

    Beispiel: Ich möchte eine überwachen, ob ein Zähler den Wert verändert.
    Allgemein für FUP: Sowas wie im Anhang?

    Wenn der neue Wert größer oder kleiner als der alte ist wird das Alarm-Bit gesetzt.
    Man muss natürlich am Ende eines Zyklus oder bei der Ermittlung des neuen Wertes diesen in die Variable iWertAlt kopieren.
    Angehängte Grafiken Angehängte Grafiken

  6. #16
    Registriert seit
    06.07.2007
    Beiträge
    2.811
    Danke
    174
    Erhielt 274 Danke für 253 Beiträge

    Standard

    Zitat Zitat von trinitaucher Beitrag anzeigen
    Wieso die Abfrage auf den FirstCycle?
    Damit die Variable Count_alt einen Initialwert bekommt.
    A programmer is just a tool which converts caffeine into code.

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

    Standard

    Aja, macht Sinn!

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

    Standard

    Nachtrag zu meinem Programmvorschlag:

    Es geht auch mit EQ und MOVE. (oder wie bekomme ich das Ergebnis des EQ negiert ohne MOVE?)

    Alternativ kann man den Alarm an sich natürlich negiert abfragen.

    edit:
    Noch einfacher: Es gibt ja den Operator "NE" (not equal).
    Angehängte Grafiken Angehängte Grafiken
    Geändert von trinitaucher (25.11.2009 um 11:27 Uhr)

  9. #19
    Registriert seit
    06.07.2007
    Beiträge
    2.811
    Danke
    174
    Erhielt 274 Danke für 253 Beiträge

    Standard

    Zitat Zitat von trinitaucher Beitrag anzeigen
    Noch einfacher: Es gibt ja den Operator "NE" (not equal).
    Wollte ich dir auch gerade vorschlagen, aber du hast es ja schon selber gefunden.
    A programmer is just a tool which converts caffeine into code.

  10. #20
    McNugget ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    27.09.2008
    Beiträge
    201
    Danke
    21
    Erhielt 11 Danke für 10 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @Trinitaucher: Geil. Dass es so einfach gehen kann, hätte ich nicht gedacht. Vielen Dank!

    @Cerberus: Vielen Dank.

    Hinzuzufügen wäre noch, dass diese Funktion im FUP natürlich VOR dem Netzwerk sein muss, in dem sich der beobachtete Wert verändert.
    (*angeb*)

    Dass ich es jetzt in beiden Varianten habe, bringt mir und meinem Lernen sehr viel.

    Vielen vielen Dank, dass Ihr Euch so viel Mühe gebt.


    Gruss

    McNugget

    P.S.: (Ich hoffe es wird nicht als Crossposting gesehen.)
    Habt Ihr auch eine Idee, was ich machen kann, um verschiedene Stati auszumaskieren um Fehlermeldungen zu generieren und Fehlercounter anzusteuern??

    (siehe Ende dieses Threads:
    http://www.sps-forum.de/showthread.php?t=31471&page=2)

Ähnliche Themen

  1. Graph7, 3 bedingte Aktionen in einem Schritt
    Von Holger Levetzow im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 07.04.2011, 19:38
  2. SCL und bedingte Kompilierung?
    Von Muphin im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 23.06.2010, 15:30
  3. Ungültige Zuweisung, SCL
    Von petzi im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 18.05.2009, 13:55
  4. Zuweisung
    Von snowbda im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 03.12.2008, 15:11
  5. Zuweisung von Adressen
    Von buenne im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 05.04.2007, 16:19

Lesezeichen

Berechtigungen

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