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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Multiinstanz FB funktioniert nicht

  1. #11
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Also ich hab das jetzt mal probiert.
    Alles was rot markiert ist, entfernen und dann funktioniert es.
    Zitat Zitat von Bär1971 Beitrag anzeigen
    Code:
        U     M     10.0   
        SPBN  BLD2
          CALL  #Bildanwahl_HMI_1
           Bedingung    :=M10.0
           BildNr       :=10
           Timernummer  :=T50
           SollZeit     :=S5T#1S
           Steuerauftrag:=DB100.DBW14
           Bildanwahl   :=DB100.DBW16
        SPA   BLDE
    BLD2: NOP   0
        U     M     10.1
          CALL  #Bildanwahl_HMI_2
           Bedingung    :=M10.1
           BildNr       :=100
           Timernummer  :=T51
           SollZeit     :=S5T#1S
           Steuerauftrag:=DB100.DBW14
           Bildanwahl   :=DB100.DBW16
        SPA   BLDE
    BLDE: NOP   0
    Und der FB100 selber:
    Code:
          U     #Bedingung
          FP    #HM_Pos_Flanke
          L     #SollZeit
          SA    #Timernummer
          NOP 0
          U     #Timernummer
          SPBN  END2 // geändert
          L     #BildNr
          T     #Bildanwahl
          L     51
          T     #Steuerauftrag
         SPA   END2
    END1: L     0
        T     #Bildanwahl
        T     #Steuerauftrag
    END2: NOP   0
    PS: Die Flanke ist Stat_VAR
    und Bildanwahl und Steuerungsauftrag ist IN_OUT
    aber ich denke das hast Du so.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  2. Folgender Benutzer sagt Danke zu Paule für den nützlichen Beitrag:

    Bär1971 (11.03.2010)

  3. #12
    Bär1971 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.10.2009
    Beiträge
    220
    Danke
    71
    Erhielt 17 Danke für 16 Beiträge

    Standard

    oops, ne, Bildanwahl und Steuerungsauftrag hab ich auf nur OUT gesetzt......

    Der Grundgedanke für die Sprungleiste war, das ich nur einen Timer benötige, hätte dann vielleicht 20-30 FB100-Aufrufe, aber nur den T50 benutzt. Aber wir haben ja schon gesagt, das die Zeitfunktion ganz raus kann. Das der einmalige Zyklusdurchlauf reicht und das das OP die DB-Adresse selbst wieder zurücksetzt.

    Werds morgen früh gleich mal probieren. Die Zeitfunktion im FB100 zusätzlich zu deinen Änderungen rausnehmen und als VKE vor der Flankenbildung noch ne Abfrage auf Steuerungsauftrag = 0 integrieren.
    Grüßele vom Bärle

  4. #13
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Und zu guter letzt würde ich es so schreiben:
    Code:
          L     #Steuerauftrag
          L     0
          ==I
          U     #Bedingung
          SPBN  ENDE
          L     #BildNr
          T     #Bildanwahl
          L     51
          T     #Steuerauftrag
          SET
          R    #Bedingung
    ENDE: NOP   0
    Jetzt kannst Du das sogar in eine FC schreiben.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

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

    Bär1971 (12.03.2010)

  6. #14
    Bär1971 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.10.2009
    Beiträge
    220
    Danke
    71
    Erhielt 17 Danke für 16 Beiträge

    Standard

    Zitat Zitat von Paule Beitrag anzeigen
    Und zu guter letzt würde ich es so schreiben:
    Code:
          L     #Steuerauftrag
          L     0
          ==I
          U     #Bedingung
          SPBN  ENDE
          L     #BildNr
          T     #Bildanwahl
          L     51
          T     #Steuerauftrag
          SET
          R    #Bedingung
    ENDE: NOP   0
    Jetzt kannst Du das sogar in eine FC schreiben.
    Ist eine prima Lösung (auch Speichersparend). Aber wenn die Bedingung im Programm weiter angesteuert bleibt (und wenn nur sekunden, würde ja die Variable Bedingung wieder neu gesetzt und ohne Flankentriggerung würde der Baustein x-mal durchlaufen, oder nicht?
    Grüßele vom Bärle

  7. #15
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von Bär1971 Beitrag anzeigen
    Ist eine prima Lösung (auch Speichersparend). Aber wenn die Bedingung im Programm weiter angesteuert bleibt (und wenn nur sekunden, würde ja die Variable Bedingung wieder neu gesetzt und ohne Flankentriggerung würde der Baustein x-mal durchlaufen, oder nicht?
    Ja klar, es kommt halt immer darauf an wie es im Programm genutzt oder verschaltet wird. Da gibt es natürlich selten die perfekte Lösung, einmal ist es so besser und ein andermal wieder so.
    Mit dem Beispiel könntest Du die Flanke die die Bedingung setzt, im normalen Ablauf ansteuern. Brauchst also keinen Multi-FB nur für die Flanken, allerdings spricht da auch nichts dagegen.
    Oder den Flankenmerker noch als Hilfsmerker übergeben.
    Wie gesagt, gibt es sehr viele Möglichkeiten.
    Das ist ja auch das schöne an dem Job.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  8. #16
    Bär1971 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.10.2009
    Beiträge
    220
    Danke
    71
    Erhielt 17 Danke für 16 Beiträge

    Standard

    Ich glaube das ist genau die richtige Lösung. Ich mach aus dem FB ein FC wie du ihn zuletzt vorgeschlagen hast und steuere ihn mit einer Bedingungsflanke an. Er wird nur einmal durchlaufen und die Flankenmerker nehmen auch nicht viel Speicher weg im aufrufenden FB. Das ist die sauberste und einfachste Lösung.

    Warum einfach wenns auch kompliziert geht (sich an den Anfang des threads erinnert) *grins*

    Vielen Dank nochmal für die großartige Hilfe.
    Grüßele vom Bärle

  9. #17
    Bär1971 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    18.10.2009
    Beiträge
    220
    Danke
    71
    Erhielt 17 Danke für 16 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Es klappt einwandfrei... juhuuuu
    Grüßele vom Bärle

Ähnliche Themen

  1. FB als Multiinstanz funk. nicht
    Von xvitali im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 26.11.2010, 15:45
  2. MID-FC in SCL funktioniert nicht
    Von nobby_nobbs im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 19.03.2009, 02:14
  3. MMC funktioniert nicht
    Von MesSen-Nord im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 23.10.2008, 11:06
  4. Taktmerkerbyte funktioniert nicht
    Von bapfy im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 24.04.2005, 12:47
  5. TD 200 C funktioniert nicht
    Von -Andrea- im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 14.04.2005, 20:41

Lesezeichen

Berechtigungen

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