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

Ergebnis 1 bis 8 von 8

Thema: Positive Flanke in SCL

  1. #1
    Registriert seit
    24.03.2010
    Beiträge
    44
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Rotes Gesicht


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    ich muss einen Motor ansteuern. Der reagiert nur auf eine positive flanke auf einem bestimmten Bit. Es soll nur ein beispielhafter Automatikmodus sein, d.h. Verfahrsatz 1 laden, impuls zum verfahren, sechs sekunden warten und verfahrsatz 2 laden, impuls zum verfahren, usw.

    Mein problem ist wie mache ich immer wieder eine positive Flanke auf das bit.
    mit bit aus und bit an klappt es nicht. Vielleicht weil es zu schnell ist und nicht erfasst wird, mache ich eine zeit dazwischen auch nicht.




    einfachste Programmierung

    IF oben THEN
    oben := FALSE;
    Verfahrsatz := geschwindigkeit_hoch;

    ELSIF NOT oben THEN
    oben := True;
    Verfahrsatz := geschwindigkeit_runter;
    END_IF;

    Fahrauftrag_aktivieren := True;

    WHILE NOT Sollposition_erreicht DO
    Fahrauftrag_aktivieren := True;
    END_WHILE;

    Fahrauftrag_aktivieren := False;




    alle ideen sind herzlich willkommen

    danke
    Geändert von onikos (07.07.2010 um 17:57 Uhr)
    Zitieren Zitieren Positive Flanke in SCL  

  2. #2
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.616
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    // impuls beim OFF-ON
    onimp_input := input AND not mem_input ;
    mem_input := input ;

    // impuls beim ON-OFF
    offimp_input := NOT input AND mem_input ;
    mem_input := input ;

    // impuls bei jeden OFF-ON oder ON-OFF transition
    onoffimp_input := (input AND not mem_input) OR (NOT input AND mem_input) ;
    mem_input := input ;
    Jesper M. Pedersen

  3. #3
    onikos ist offline Benutzer
    Themenstarter
    Registriert seit
    24.03.2010
    Beiträge
    44
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard

    hey.. das war die schnellste antwort die ich je bekommen habe

    leider versteh ich das nicht ganz..

    kannst du mir das freundlicherweise an einem beispiel zeigen

    bedankt.

  4. #4
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.616
    Danke
    377
    Erhielt 799 Danke für 642 Beiträge

    Standard

    Es gibt dir eine Impuls (onimp_input) bei den positive Flanke von input:
    mem_input speichert den Zustand für den Flankenerkennung.

    // impuls beim OFF-ON
    onimp_input := input AND not mem_input ;
    mem_input := input ;
    Jesper M. Pedersen

  5. Folgender Benutzer sagt Danke zu JesperMP für den nützlichen Beitrag:

    onikos (07.07.2010)

  6. #5
    onikos ist offline Benutzer
    Themenstarter
    Registriert seit
    24.03.2010
    Beiträge
    44
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Cool

    natürlich klappt das auch nicht.
    mir fällt gerade ein, dass das nach dem durchgelaufen ja auch noch über bausteine zum motor geschickt werden muss was aber im OB1 passiert.

    d.h. es muss einmal komplett mit Fahrauftrag_aktivieren:=false und mit Fahrauftrag_aktivieren:=true durchlaufen werden.

    hm.. ich bin echt ideenlos

  7. #6
    Registriert seit
    28.05.2008
    Beiträge
    103
    Danke
    9
    Erhielt 18 Danke für 17 Beiträge

    Standard

    In meinen Programmen sieht dies (schematisch) so aus:

    Impuls bei steigender Flanke des Signals "Input" für 1 Zykluszeit des SPS-Programmes.

    "Pulse" := "Input" AND NOT "Flankenmerker";
    "Flankenmerker" := "Input";

    "Pulse" kann eine temporäre Variable sein, je nach Anwendung.
    "Flankenmerker" muss eine statische Variable, Merker, DBX etc. sein.
    Gruss aus CH

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

    Mullemaus (27.09.2017)

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

    Standard

    Hallo,
    ich arbeite bei so etwas grundsätzlich mit Feedbacks. Dieses Feddback wäre das Flankenbit, wie im Beispiel von Jesper. Du mußt es nur an der RICHTIGEN Stelle "setzen". Die Zuweisung des Verfahrsatzes, die du im OB1 (???) lädst, muß natürlich diese Flanke setzen.

    Also in etwa so :
    Code:
    U #Verfahrsatz_laden
    UN #Verfahrsatz_ist_geladen
    SPBN nLod
     
    call FB_zum_Laden
     
    nLod: U #Verfahrsatz_laden
    = #Verfahrsatz_ist_geladen
    ... oder wenn vorhanden die Rückmeldung des FB verwursten ...

    Gruß
    Larry

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

    onikos (14.07.2010)

  11. #8
    onikos ist offline Benutzer
    Themenstarter
    Registriert seit
    24.03.2010
    Beiträge
    44
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    achso .. ok.. jetzt habe ichs..

    Danke das klappt gut.

    SUPER FORUM!

Ähnliche Themen

  1. positive Flanke künstlich erzeugen
    Von sascha-nrw im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 04.05.2010, 11:07
  2. Positive Flanke und Graph 7 Hilfe
    Von Hocheck im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 06.08.2009, 15:24
  3. positive Flanke
    Von waldi im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 21.06.2007, 08:39
  4. Positive / Negative Flanke vom Eingangsbyte
    Von Köbes11 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 27.06.2006, 12:10
  5. Antworten: 7
    Letzter Beitrag: 05.11.2004, 08:01

Lesezeichen

Berechtigungen

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