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

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

Thema: Impuse von AI Wert, alle 100cm

  1. #11
    Steve38 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.02.2008
    Beiträge
    472
    Danke
    23
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Meine Deklartion FB:

    Deklaration.JPG


    FB Netzwerk 1:

    Netzwerk_1.jpg

    Netzwerk_2.JPG
    Geändert von Steve38 (01.07.2016 um 06:20 Uhr)

  2. #12
    Steve38 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.02.2008
    Beiträge
    472
    Danke
    23
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Aufruf im FB7:

    Aufruf.JPG

    Aber ich bekomme keinen Takt heraus.

    Möchte auch nur einen Takt haben, auch wenn der Wert um 10cm schwank, auch nur den Wert nach oben.. Also von 9 auf 10cm Takt, nicht von 10 auf 9 und wieder zurück.
    Geändert von Steve38 (01.07.2016 um 06:13 Uhr)

  3. #13
    Registriert seit
    21.11.2014
    Beiträge
    227
    Danke
    7
    Erhielt 30 Danke für 28 Beiträge

    Standard

    #Strecke MOD 10 -> auf einen Trigger
    Trigger Ausgang auf ein TOF
    -->Win

  4. #14
    Registriert seit
    15.04.2009
    Ort
    Nordsachsen
    Beiträge
    252
    Danke
    171
    Erhielt 105 Danke für 97 Beiträge

    Standard

    Hallo Steve38,

    die Variable alter_Messwert als Temp ist beim ersten Lesen undefinert. --> verschiebe die Messwert-Variablen in den Stat-Bereich

  5. #15
    Steve38 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.02.2008
    Beiträge
    472
    Danke
    23
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Christmaspoo Beitrag anzeigen
    #Strecke MOD 10 -> auf einen Trigger
    Trigger Ausgang auf ein TOF
    -->Win
    Wie meinst du das?


    Gesendet von iPhone mit Tapatalk

  6. #16
    Steve38 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.02.2008
    Beiträge
    472
    Danke
    23
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Morgen,

    ich habe den Bereich geändert, allerdings ohne Änderung, ich bekomme nach wie vor keinen Impulse heraus.
    Kann aber auch an den Ausgang vom FB keinen Zähler oder Ausgang anhängen, obwohl ich den als Bool deklariert habe.

    Deklaration.JPG

    FB_Takt.jpg

    Code:
          U(
          U(
          L     #Akt_Messwert
          L     #Alter_Messwert
          <>I
          )
          =     %L4.0
    
          BLD   103
          U(
          U(
          L     #Messwert
          L     1
          /I
          T     #Akt_Messwert
          UN OV
          SAVE
          CLR
          U BIE
          )
          SPBNB _001
          L     #Alter_Messwert
          L     #Menge
          /I
          T     #Alter_Messwert
          UN OV
          SAVE
          CLR
    _001: U BIE
          )
    
          SPBNB _002
    
    
          CALL  TP , "IEC_Timer_0_DB"
             time_type:=Time
             IN :=%L4.0
             PT :=#Impulsdauer
             Q  :=#Pulsausgang
             ET :=
    
    
    
    _002: U BIE
          )
    
          SPBNB _003
          L     #Messwert
          T     #Alter_Messwert
    _003: NOP 0
    Geändert von Steve38 (02.07.2016 um 09:14 Uhr)

  7. #17
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.572
    Danke
    755
    Erhielt 637 Danke für 485 Beiträge

    Standard

    So komplette Quelle. Zum übersetzen.
    Code:
    FUNCTION_BLOCK FB 1TITLE =
    VERSION : 0.1
    
    
    
    
    VAR_INPUT
      Messwert : INT ;	
    END_VAR
    VAR_OUTPUT
      Pulsausgang : BOOL ;	
    END_VAR
    VAR
      Alter_Messwert : INT ;	
      TP_Puls : "TP";	
    END_VAR
    VAR_TEMP
      Unterschied : BOOL ;	
      Div_Messwert : INT ;	
      Div_Alter_Messwert : INT ;	
    END_VAR
    BEGIN
    NETWORK
    TITLE =
    
    
          L     #Messwert; 
          L     10; 
          /I    ; 
          T     #Div_Messwert; 
          NOP   0; 
    NETWORK
    TITLE =
    
    
          L     #Alter_Messwert; 
          L     10; 
          /I    ; 
          T     #Div_Alter_Messwert; 
          NOP   0; 
    NETWORK
    TITLE =
    
    
          L     #Div_Messwert; 
          L     #Div_Alter_Messwert; 
          <>I   ; 
          =     #Unterschied; 
    NETWORK
    TITLE =
    
    
          U     #Unterschied; 
          =     L      6.0; 
          BLD   103; 
          CALL #TP_Puls (
               IN                       := L      6.0,
               PT                       := T#1S,
               Q                        := #Pulsausgang);
    
    
          NOP   0; 
    NETWORK
    TITLE =
    
    
          L     #Messwert; 
          T     #Alter_Messwert; 
          NOP   0; 
    END_FUNCTION_BLOCK
    Edit. Move muss noch rein.

    Hatte nicht gespeichert vor quelle generieren.

    Danke Ronin!
    Geändert von vollmi (02.07.2016 um 10:09 Uhr)

  8. Folgender Benutzer sagt Danke zu vollmi für den nützlichen Beitrag:

    Steve38 (02.07.2016)

  9. #18
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.272
    Danke
    439
    Erhielt 661 Danke für 498 Beiträge

    Standard

    Zitat Zitat von Christmaspoo Beitrag anzeigen
    #Strecke MOD 10 -> auf einen Trigger
    Trigger Ausgang auf ein TOF
    -->Win
    .... und "Lose" wenn der Messwert mal, durch Wandlungszeit / Zykluszeit, z.B. von 49 auf 51 springt....

    Lieber vollmi's Vorlage nehmen.
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

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

    Steve38 (02.07.2016)

  11. #19
    Steve38 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.02.2008
    Beiträge
    472
    Danke
    23
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke


    Gesendet von iPhone mit Tapatalk

  12. #20
    Steve38 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.02.2008
    Beiträge
    472
    Danke
    23
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich nochmal zu meinem Problem.
    Es läuft eigentlich super, wenn es alleridngs um einen Wert schwankt, bekomme ich immer wieder einen Impulse.

    Ich habe die Impulsezeit schon nach oben gesetzt, jedeoch reicht dies nicht aus. Weiter nach oben >5selk. kann ich nicht.



    L #Messwert
    L #Menge
    /I
    T #Div_Messwert
    NOP 0


    L #Alter_Messwert
    L #Menge
    /I
    T #Div_Alter_Messwert
    NOP 0


    L #Div_Messwert
    L #Div_Alter_Messwert
    <>I
    = #Unterschied

    U #Unterschied
    = %L6.0
    BLD 103
    CALL #TP_Puls
    time_type:=Time
    IN :=%L6.0
    PT :=#Impulsdauer
    Q :=#Pulsausgang
    ET :=
    NOP 0

    L #Messwert
    T #Alter_Messwert
    NOP 0



    [/CODE]

Ähnliche Themen

  1. Von..bis!!! Für alle was dabei :D
    Von Atta18088 im Forum Suche - Biete
    Antworten: 0
    Letzter Beitrag: 25.06.2015, 21:00
  2. Antworten: 12
    Letzter Beitrag: 29.01.2013, 15:27
  3. Antworten: 2
    Letzter Beitrag: 15.02.2011, 19:38
  4. Für alle Freunde von Sanduhren (Logo, Easy und Co.)
    Von zotos im Forum Werbung und Produktneuheiten
    Antworten: 7
    Letzter Beitrag: 31.05.2005, 18:51

Lesezeichen

Berechtigungen

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