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
    458
    Danke
    22
    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
    458
    Danke
    22
    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
    222
    Danke
    7
    Erhielt 28 Danke für 26 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
    238
    Danke
    163
    Erhielt 103 Danke für 95 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
    458
    Danke
    22
    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
    458
    Danke
    22
    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.424
    Danke
    710
    Erhielt 612 Danke für 469 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.214
    Danke
    430
    Erhielt 650 Danke für 490 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
    458
    Danke
    22
    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
    458
    Danke
    22
    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
  •