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

Ergebnis 1 bis 5 von 5

Thema: Merkerdoppelwort um Eins erhöhen, wenn ein Impuls da ist

  1. #1
    Registriert seit
    28.05.2013
    Beiträge
    6
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo liebe SPS Forum Gemeinde,

    Ich möchte an einen Baustein einen Taktmerker von außen parametrieren. Dieser Takt soll in einen zB. Merkerdoppelwert abgelegt werden.
    In meinem Code benutze Ich einen Impulsmerker (Flankenbildung), doch statt dass er hochzählt, wenn der eine Zyklusimpuls da ist, zählt er in jeden Zyklus hoch.

    U #Zeitgeber // Zeitwert in 1/10s bilden, ist von außerhalb mit einem Taktmerker parametrierbar
    FP #FMerker_1
    = #IMerker_1
    U #IMerker_1 // Flankenauswertung über Impulsmerker innerhalb eines Zyklus'
    L MD 100
    L 1 // Hier ist das Problem, dass er jeden Zyklus hochzählt und nicht innerhalb eines Zyklus'
    +I
    T MD 100

    Ich habe es schon mit ausklammern in verschiedenen Variationen versucht, doch er lädt die 1 in jedem Zyklus in MD 100, statt in dem vorgegebenen Takt.

    Ist mein Ansatz hier falsch? Sollte Ich einen anderen Weg wählen, um einen Taktmerker in einen Merkerdoppelwort zu schreiben?
    Oder findet jemand eine Verbesserung zu dem obig dargestellten Problem?
    Ich bin dankbar für jede Antwort.
    Zitieren Zitieren Merkerdoppelwort um Eins erhöhen, wenn ein Impuls da ist  

  2. #2
    Registriert seit
    13.10.2007
    Beiträge
    12.031
    Danke
    2.786
    Erhielt 3.268 Danke für 2.156 Beiträge

    Standard

    Vielleicht eher so:

    Code:
    
          U     #Zeitgeber                // Zeitwert in 1/10s bilden, ist von außerhalb mit einem Taktmerker parametrierbar
          FP    #FMerker_1
          =     #IMerker_1
    
          UN     #IMerker_1               // Flankenauswertung über Impulsmerker innerhalb eines Zyklus'
          SPB ENDE
          L     MD   100
          L     1                             // Hier ist das Problem, dass er jeden Zyklus hochzählt und nicht innerhalb eines Zyklus'
          +I    
          T     MD   100
    
    ENDE: NOP 0

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

    websiedler (03.08.2013)

  4. #3
    websiedler ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    28.05.2013
    Beiträge
    6
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Dieser Vorschlag sieht schon beim lesen sehr gut aus.
    Ich habe es ausprobiert, und es Funktioniert perfekt.
    Ich bin nicht drauf gekommen, einen Sprungbefehl zu verwenden.
    Vielen dank,

    Gruß websiedler

  5. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.715
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Hallo,
    vielleicht noch so als Anmerkung :
    Die Operation "+I" macht eine Integer-Addition. Das bewirkt dann aber einem gewissen Zahlenwert, dass in deinem MD nicht mehr das drinsteht, was drinstehen sollte - eben wegen INT.
    Besser hier (und wenn man schon ein MD oder auch DBD nimmt) gleich passend angewöhnen : "+D" - bei Doppelworten auch passend addieren ...

    Gruß
    Larry

  6. #5
    Registriert seit
    05.10.2006
    Beiträge
    324
    Danke
    11
    Erhielt 8 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Und zu deiner Info, lade und Transferbefehle sind vom VKE unabhängig und werden immer ausgeführt.....außer sie werden übersprungen wie oben angemerkt.

    Deshalb wurde in deinem Beispiel der Zähler in jedem Zyklus hochgezählt!

    Grüße Pico

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 18.05.2012, 12:52
  2. Antworten: 27
    Letzter Beitrag: 15.03.2009, 20:33
  3. Freigabesignal --> Ein/Aus-Impuls
    Von Onkel Dagobert im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 23.11.2008, 12:47
  4. Antworten: 5
    Letzter Beitrag: 04.08.2008, 11:04
  5. Antworten: 4
    Letzter Beitrag: 16.01.2006, 18:06

Stichworte

Lesezeichen

Berechtigungen

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