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

Ergebnis 1 bis 6 von 6

Thema: Problem mit pos.Flanke im FC

  1. #1
    Registriert seit
    26.09.2005
    Beiträge
    66
    Danke
    2
    Erhielt 7 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen ins Forum,
    habe mir für ein anstehendes Projekt einen Motorbaustein (FC1) erzeugt, mit
    dem ich einen (in der Anlage werden es dann ca.30 sein) Motor mit einem Taster
    (KlöMö RMQ Titan) Ein/Ausschalten möchte.
    Habe den Baustein mit PLCsim probiert und dabei fiel mir auf, dass beim deaktivieren
    des Eingangs #Sicherheit , der Ausgang #Motor ausgeht, aber sofort wieder angeht wenn
    der Eingang #Sicherheit wieder 1 wird.
    Den logischen Fehler sehe ich darin, dass die pos.Flanke #PFL_Start (Eingang #Start) nicht
    richtig abgearbeitet wird bzw. immer konstant 1 ist wenn der Eingang #Start 1 ist.
    Wieso wird dort kein Flankensignal gebildet? Hat vielleicht jemand von euch die Zeit da mal
    drüber zu schauen? - und mir ggf. Denkanstöße bzw. Alternativen aufzeigen.
    Im Anhang das gezippte Projekt.
    Danke
    Angehängte Dateien Angehängte Dateien
    Zitieren Zitieren Problem mit pos.Flanke im FC  

  2. #2
    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

    du benutzt für die flanke eine in-variable, das kann so natürlich nicht funktionieren ... wie soll denn der zustand gespeichert werden? also nutze eine INOUT-variable bei FCs oder eine STAT-variable bei FBs (wobei bei FB auch INOUT funktionieren würde) und dann hängst du beim aufruf keine lokale variable des aufrufenden FCs, sondern eine globale variable dran...

    [nachtrag]das selbe gilt übrigens für negative flankenauswertungen [/nachtrag]
    Geändert von vierlagig (11.06.2008 um 09:41 Uhr)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    Registriert seit
    26.09.2005
    Beiträge
    66
    Danke
    2
    Erhielt 7 Danke für 6 Beiträge

    Standard

    Funktioniert, Vielen Dank.
    Hänge das neue Projekt nochmal dran.

    Was mir noch nicht klar ist, warum darf ich für die Flankenauswertungen keine lok.Varaibl. nutzen? Ich brauch das VKE doch nur in diesem Baustein, und wenn ich FBs mit stat.Variabl. nutzen würde, müsste ich dann für jeden Antrieb einen eigenen Instanz DB generieren?
    Angehängte Dateien Angehängte Dateien

  4. #4
    Registriert seit
    15.10.2007
    Ort
    St.Pölten
    Beiträge
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Standard

    müsste ich dann für jeden Antrieb einen eigenen Instanz DB generieren?
    nicht wenn der FB Mulitiinstanzfähig ist.
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

  5. #5
    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 tuppes38 Beitrag anzeigen
    Was mir noch nicht klar ist, warum darf ich für die Flankenauswertungen keine lok.Varaibl. nutzen? Ich brauch das VKE doch nur in diesem Baustein, ...
    ja, du brauchst den zustand nur in dem einen FC ABER: temporäre lokaldaten einer funktion sind anders als die statischen daten eines funktionsbausteins nur einen zyklus lang gültig! eine flankenauswertung arbeitet aber mit dem zustand im vorhergehenden zyklus ... vielleicht macht es die S5-flankenauswertung deutlicher:

    positive flanke:

    Code:
    *
          U     E      1.0
          UN    M      1.0
          =     A      2.0
          U     E      1.0
          =     M      1.0
    negative flanke

    Code:
    *
          UN    E      1.0
          U     M      1.0
          =     A      2.0
          U     E      1.0
          =     M      1.0

    Zitat Zitat von tuppes38 Beitrag anzeigen
    und wenn ich FBs mit stat.Variabl. nutzen würde, müsste ich dann für jeden Antrieb einen eigenen Instanz DB generieren?
    entweder je einen instanz-db, ja, oder eben als multiinstanz ... einfach mal die forensuche dazu anwerfen ...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  6. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    tuppes38 (11.06.2008)

  7. #6
    Registriert seit
    08.11.2006
    Ort
    Uckermark
    Beiträge
    903
    Danke
    201
    Erhielt 256 Danke für 208 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von tuppes38 Beitrag anzeigen

    Was mir noch nicht klar ist, warum darf ich für die Flankenauswertungen keine lok.Varaibl. nutzen?
    ............
    Weil der Hilfsmerker für die Flankenbildung einen ganzen Zyklus seinen Zustand behalten muss. Die Temp-Var. ist ja nach verlassen des Bausteins nicht mehr gültig und wird unter Umständen von anderen Bausteinen überschrieben.
    Code:
    U   #In_var
    FP #stat_Var //muss eine statische Variable sein (Merker oder STAT)
    =   #temp_Var //kann auch eine temporäre Variable sein
    Neue Ideen begeistern jene am meisten, die auch mit den alten nichts anzufangen wussten.
    Karl Heinrich Waggerl (1897-1973)

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

    tuppes38 (11.06.2008)

Ä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. SCL- Flanke
    Von hans55 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 07.02.2008, 20:28
  4. Flanke
    Von Hitschkock im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 20.11.2007, 23:51
  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
  •