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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Flanke

  1. #1
    Registriert seit
    25.07.2005
    Beiträge
    226
    Danke
    11
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen

    Wie macht man in SCL eine Flankenauswertung??
    MFG
    Frank



    Zitieren Zitieren Flanke  

  2. #2
    Registriert seit
    14.07.2005
    Beiträge
    27
    Danke
    9
    Erhielt 18 Danke für 3 Beiträge

    Standard

    Zeile 1: Flankenmerker := Taster AND NOT Impulsmerker;
    Zeile 2: Impulsmerker := Taster;


    Sobald du den Taster drückst, ist der Flankenmerker für 1 Zyklus lang "HIGH".

    PS.: Verwende KEINE temporären Variablen für den Impulsmerker und für den Flankenmerker !!!!!!!!
    Zitieren Zitieren SCL Flanke  

  3. Folgender Benutzer sagt Danke zu SPS_Hannes für den nützlichen Beitrag:

    Hitschkock (20.11.2007)

  4. #3
    Registriert seit
    11.10.2005
    Ort
    Pirmasens
    Beiträge
    401
    Danke
    158
    Erhielt 74 Danke für 54 Beiträge

    Standard

    IF start AND NOT HM THEN
    Schrittweite:=1;
    END_IF
    HM:=Start;

    HDD

  5. Folgende 2 Benutzer sagen Danke zu HDD für den nützlichen Beitrag:

    Ganz (05.12.2007),zotos (18.11.2007)

  6. #4
    Hitschkock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.07.2005
    Beiträge
    226
    Danke
    11
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke an euch
    MFG
    Frank




  7. #5
    Registriert seit
    11.10.2005
    Ort
    Pirmasens
    Beiträge
    401
    Danke
    158
    Erhielt 74 Danke für 54 Beiträge

    Standard

    Ja Ja
    ist ja gut
    ich hab das von Zotos gelernt

    HDD

  8. #6
    Hitschkock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.07.2005
    Beiträge
    226
    Danke
    11
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Oh jee!

    Es fing gut an aber klappt einfach nicht.

    gegeben: 1x Inkremetalgeber mit zweispuren ( eine Invertiert)

    Ich will in SCL die Inkremente auf und ab zähen.

    Hier meine nicht funktionierende Idee:

    fms := sin1 AND NOT ipms;
    ipms := sin1;
    fmc := cos1 AND NOT ipmc;
    ipmc := cos1;

    ad := ipms AND cos1;
    su := ipmc AND sin1;

    IF ad=1 THEN
    istwert := istwert +1;
    END_IF;

    IF su =1 THEN
    istwert := istwert -1;
    END_IF;

    Was mache ich Falsch??
    MFG
    Frank




  9. #7
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    falls deine Inkremente nicht zu schnell für die Prozedur sind ...

    Die Spuren "A" und "B" deines Inkrementalgebers (oder bei dir "sin" und "cos" genannt) haben immer Signale, nur ist es so, das beim Rechts-Drehen das Signal von "Spur A" vor dem von "Spur B" kommt und beim Links-Drehen "Spur B" vor "Spur A" kommt. Das hast du in deinem Script nicht berücksichtigt. Du addierst also erst und dann subtrahierst du wieder (oder umgekehrt - je nach Drehrichtung). Das Ergebnis müsste also einen stehenden Wert ergeben.
    In deinem Script musst du also berücksitigen, welche Spur zuerst kommt, daraus die Richtung festlegen und den Flankenmerker so lange auf True halten bis beide Spuren wieder False sind.
    Vielleicht in etwa so :
    Code:
    if sin1 AND NOT cos1 AND NOT Flanke then ad := true ; end_if ;
    if cos1 AND NOT sin1 AND NOT Flanke then su := true ; end_if ;
    Flanke := sin1 or sin1 ;
    if not sin1 and not cos1 then
       ad := false ;
       su := false ;
    end_if ;
     
    if su and not Flanke_su then
       Zaehler := Zaehler -1 ;
    end_if ;
    Flanke_su := su ;
    if ad and not Flanke_ad then
       Zaehler := Zaehler +1 ;
    end_if ;
    Flanke_ad := ad ;
    Verbesserungs-Möglichkeiten sind natürlich noch vorhanden ...

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

    Hitschkock (20.11.2007)

  11. #8
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Vorausgesetzt es handelt sich um ein Signal das langsam genug ist und folgende Abfolge aufweist:

    Code:
            ___     ___
    Ch_A  _|   |___|   |_ 
              ___     ___
    Ch_B  ___|   |___|
          0 1 3 2 0 1 3 2
    
    BA
    00 = 0 
    01 = 1
    11 = 3
    10 = 2
    Würde ich das so lösen:
    Code:
    SIG := 0;
    IF Ch_A THEN 
        SIG := SIG + 1;
    END_IF;
    
    IF Ch_B THEN 
        SIG := SIG + 2;
    END_IF;
        
    IF (SIGold = 0 AND SIG = 1) 
    OR (SIGold = 1 AND SIG = 3) 
    OR (SIGold = 3 AND SIG = 2) 
    OR (SIGold = 2 AND SIG = 0) THEN
        myValue := myValue + 1;
    END_IF;
    
    IF (SIGold = 2 AND SIG = 3) 
    OR (SIGold = 3 AND SIG = 1) 
    OR (SIGold = 1 AND SIG = 0) 
    OR (SIGold = 0 AND SIG = 2) THEN 
        myValue := myValue - 1;
    END_IF;
    
    SIGold := SIG;
    Somit wird jede Flanke (positive und negative) Ausgewertet was zu einer Doppelten Auflösung führt.
    Geändert von zotos (18.11.2007 um 21:56 Uhr) Grund: ein = vergessen
    If you open your Mind too much, your Brain will fall out.

  12. #9
    Hitschkock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.07.2005
    Beiträge
    226
    Danke
    11
    Erhielt 1 Danke für 1 Beitrag

    Standard

    danke Ihr zwei.

    Larry seins liest sich wie ich es mir dachte !
    Aber Zotos sein hat auch irgend wie etwas !!!!


    Was meint ihr wie schnell kann sich eine Achse mit 1024 Ink/Umdr.
    sich wohl drehen wenn eine 315 2DP über PB auf ein Wago anschluß mit
    dem Geber zugreift.
    MFG
    Frank




  13. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.712
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    Was meint ihr wie schnell kann sich eine Achse mit 1024 Ink/Umdr. sich wohl drehen
    bei 1024 Imp./Umdr. ist bei 1 Umdr./Minute Schluss ... Das ist absolut ein Fall für eine Zählerkarte. Bei PB würde ich da z.B. die 1Count von Siemens (6ES7-138-4DE02-0AB0 bzw. 4DA03-0AB0) nehmen.
    Larry seins liest sich wie ich es mir dachte !
    Aber Zotos sein hat auch irgend wie etwas !!!!
    Das war bei mir auch der Ziel der Übung.
    Ich muss allerdings gestehen, dass mir der Beitrag von Zotos auch gut gefällt - ist aber auch eigentlich klar, denn schließlich ist Zotos ja auch der SCL-Man im Forum

    Gruß
    LL

Ähnliche Themen

  1. Flanke SCL
    Von nutellahase im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 16.10.2011, 17:20
  2. Flanke bei S7-200 vs. S7-300
    Von Strohsternbastler im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 02.08.2011, 20:02
  3. Flanke
    Von lieuthnant im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 18.08.2009, 10:40
  4. SCL- Flanke
    Von hans55 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 07.02.2008, 20:28
  5. N flanke P flanke
    Von bastek- im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 04.09.2007, 19:58

Lesezeichen

Berechtigungen

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