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

Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 37

Thema: First In First Out

  1. #11
    Registriert seit
    29.09.2008
    Ort
    Land der Frühaufsteher
    Beiträge
    104
    Danke
    6
    Erhielt 22 Danke für 21 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    wenn eine Flanke über das VKE ohne Merkerzuweisung ausgewertet wird, kann die auch über mehrere Zyklen anstehen.
    Siehe Erläuterungen von Siemens:


    Beispiel einer VKE-Flankenauswertung der positiven und der negativen Flanke als Anweisungsliste.

    Beispiel eines Signaldiagramms bei der VKE-Flankenauswertung für steigende und fallende Flanken

    Also, erst die Merkerzuweisung (oder stat. Bit) macht sie zu einer echten Flanke.

    MfG
    FrankW
    Zitieren Zitieren Flanke und VKE  

  2. #12
    Registriert seit
    29.03.2007
    Beiträge
    123
    Danke
    17
    Erhielt 9 Danke für 9 Beiträge

    Standard

    Hm.

    Das Flankenbit ist hat natürlich über mehrere Zyklen den gleiche Zustand.
    Aber die Zuweisung danach ja nicht. Also auch wenn danach ein Sprungbefehl ist, sollte dieser doch funktionieren oder? Denn NACH dem Flankenbit, hat hat VKE doch nur für einen Zyklus Zustand "1" als beispiel!?

  3. #13
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von FrankW Beitrag anzeigen
    Also, erst die Merkerzuweisung (oder stat. Bit) macht sie zu einer echten Flanke.
    hast du dir den code angeguckt? und festgestellt, dass die zuweisung im STAT war? ja? dann ist ja gut ...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  4. #14
    Registriert seit
    29.03.2007
    Beiträge
    123
    Danke
    17
    Erhielt 9 Danke für 9 Beiträge

    Standard

    Was für eine Zuweisung ist doch egal. Òb Sprungbefehl, Merker oder sonst was. Selbst eine TempVariable wäre ok. Nur der Flankenmerker ansich, darf nicht im temporären liegen.

    Hauptsache der Befehl danach "reagiert" auf VKE.

    Oder lieg ich da falsch!?

  5. #15
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Jordy Beitrag anzeigen
    Oder lieg ich da falsch!?
    vollkommen richtig, deswegen ja auch die verwirrung über die nicht funktionierende auswertung
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  6. #16
    Avatar von Golden Egg
    Golden Egg ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.10.2006
    Beiträge
    270
    Danke
    32
    Erhielt 26 Danke für 24 Beiträge

    Standard

    @Vierlang

    bin auch darauf gestoßen das mein Flankenproblem mit dem überschreiben des IDB´s 14 zu tun hatte.....aber erst heute früh

    Ich habe jetzt nur noch das Problem das nachdem ich die Bausteine in meine SPS (PLCSIM) hoch geladen habe beim ersten Flankenwechsel (0->1) von "Wert einlesen" der Wert nicht eingelesen wird.
    Simuliere ich einen Netzausfall funktioniert alles normal ....nur beim ersten mal will es nicht wirklich klappen.

    Habt ihr eine Idee?
    Angehängte Dateien Angehängte Dateien

  7. #17
    Registriert seit
    12.02.2008
    Ort
    Westfalen (Dort wo's Schwarzbrot gibt)
    Beiträge
    417
    Danke
    8
    Erhielt 87 Danke für 72 Beiträge

    Standard

    nochn Erklärungsversuch... (gehe von Fehler beim AUSlesen aus...)

    Code:
             L DIB 13
             T #AusgelesenerWert
     
             L 9
    schb: SLD 3    
             LAR1                    // Adresse ist jetzt 9
             NOP 0
             L DIB[AR1, P#4.0]  // 9 + Offset 4 = 13
             T DIB[AR1, P#5.0]  // 9 + Offset 5 = 14, Merker sind bei 14.0+14.1
             TAR1
             SRD 3
             LOOP schb
    Überschreibt er an der Stelle so nicht sein Byte 14 wo auch seine Merker stehen?

  8. #18
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Grubba Beitrag anzeigen
    Überschreibt er an der Stelle so nicht sein Byte 14 wo auch seine Merker stehen?
    hatten wir schon festgestellt


    zu dem "erstes einlesen" funktioniert nicht problem fällt mir eigentlich nur der OUT Pufferspeicher_voll auf ... nimm den mal als IN_OUT oder zusätzlich als STAT ...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  9. #19
    Registriert seit
    29.09.2008
    Ort
    Land der Frühaufsteher
    Beiträge
    104
    Danke
    6
    Erhielt 22 Danke für 21 Beiträge

    Standard

    @VL,

    ebend nicht.

    //Wert in Pufferspeicher einlesen
    U #Wert_einlesen
    FP #FM_Wert_Einlesen
    = #Flankenmerker
    u #Flankenmerker
    SPBN m000

    So wär's richtig

    MfG
    FrankW

  10. #20
    Avatar von Golden Egg
    Golden Egg ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.10.2006
    Beiträge
    270
    Danke
    32
    Erhielt 26 Danke für 24 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe jetzt nur noch das Problem das nachdem ich die Bausteine in meine SPS (PLCSIM) hoch geladen habe beim ersten Flankenwechsel (0->1) von "Wert einlesen" der Wert nicht eingelesen wird.
    Simuliere ich einen Netzausfall funktioniert alles normal ....nur beim ersten mal will es nicht wirklich klappen.

    Habt ihr eine Idee?
    Hier ist nochmal mein Programm im Anhang....

    @VL,

    ebend nicht.

    //Wert in Pufferspeicher einlesen
    U #Wert_einlesen
    FP #FM_Wert_Einlesen
    = #Flankenmerker
    u #Flankenmerker
    SPBN m000

    So wär's richtig

    MfG
    FrankW
    Das ist auch richtig aber eigentlich überflüssig.

    ZyklusA:

    Erkennt Flankenwechsel 0->1 von Wert einlesen und gibt ihn im VKE aus

    ZyklusB:

    Signalzustand von #Wert_einlesen ist high -> kein Signalwechsel -> VKE =0

    Wie es auch in der Hilfe steht:
    Während eines jeden Programmzyklus wird der Signalzustand des VKE-Bits mit dem Signalzustand des VKE-Bits des vorherigen Zyklus verglichen, um Änderungen des Zustands festzustellen. Um den Vergleich ausführen zu können, muß der vorherige VKE-Zustand in der Adresse des Flankenmerkers (<Bit>) gespeichert werden. Unterscheidet sich der aktuelle Signalzustand des VKE-Bits vom vorherigen Zustand ("0") (Erkennung einer steigenden Flanke), ist das VKE-Bit nach dieser Operation "1".
    Angehängte Dateien Angehängte Dateien
    Geändert von Golden Egg (23.10.2008 um 13:05 Uhr)

  11. Folgender Benutzer sagt Danke zu Golden Egg für den nützlichen Beitrag:

    vierlagig (23.10.2008)

Lesezeichen

Berechtigungen

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