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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 29

Thema: Multiinstanz-FB Aufrufe

  1. #11
    Registriert seit
    23.11.2004
    Beiträge
    347
    Danke
    2
    Erhielt 28 Danke für 28 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    OK. Multiinstanzfähig darf jeder sein.

    Wie hast Du die Variablen im FB deklariert?

    z.B. #LALLL_out

    als OUT, STAT, INOUT?

    OUT könnte als Fehlerursache in Frage kommen, wenn die Zuweisung nicht in jedem Durchlauf erfolgt.

    Gruß
    raika
    Rainer Kandziora
    Grollmus GmbH
    Qualität in SIMATIC Schulungen
    E-Mail: mailto:Rainer.Kandziora@grollmus.de
    Internet: http://www.grollmus.de

  2. #12
    waldi ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.05.2007
    Beiträge
    25
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Habe gerade etwas entdeckt.
    Kann es daran liegen das ich Timer verwende.
    Also T501-T506 und T511-516.

    Kann es sein das beim nächsten Aufruf im FB4999 die aktuellen Werte der Timer wieder auf 0 gestzt werden und die Ausgänge dadruch nicht geschalten werden.

    Die Timer werden hier für eine Einschalt verzögerung verwendet, da ein kleiner Überstieg des Wertes nicht sofort zum Ausgang schalten soll.
    Sprich erst wenn ein Wert über eine bestimmte zeit ansteht, soll geschalten werden.

    Hoffentlich ist dies der Fehler.

  3. #13
    waldi ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.05.2007
    Beiträge
    25
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von RaiKa Beitrag anzeigen
    OK. Multiinstanzfähig darf jeder sein.

    Wie hast Du die Variablen im FB deklariert?

    z.B. #LALLL_out

    als OUT, STAT, INOUT?

    OUT könnte als Fehlerursache in Frage kommen, wenn die Zuweisung nicht in jedem Durchlauf erfolgt.

    Gruß
    raika
    Die habe ich als OUT deklariert. Aber beim Aufruf verwende ich immer eine andere Adressierung. Also dürfte es an diesem doch nicht leigen !?

  4. #14
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Ich habe in deinem Baustein bedingte Sprünge entdeckt. Die sind eigentlich ein sicheres Zeichen dafür, dass die Zuweisung NICHT in jedem Durchlauf erfolgt.
    Eine Variable vom Typ OUT hat, wenn nicht zugewiesen, irgendeinen Zustand nach Bearbeitung des FC's , FB's ...
    Besser ist, man nimmt Variablen vom Typ IN_OUT

  5. #15
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Zitat Zitat von waldi Beitrag anzeigen
    Habe gerade etwas entdeckt.
    Kann es daran liegen das ich Timer verwende.
    Also T501-T506 und T511-516.

    Kann es sein das beim nächsten Aufruf im FB4999 die aktuellen Werte der Timer wieder auf 0 gestzt werden und die Ausgänge dadruch nicht geschalten werden.

    Die Timer werden hier für eine Einschalt verzögerung verwendet, da ein kleiner Überstieg des Wertes nicht sofort zum Ausgang schalten soll.
    Sprich erst wenn ein Wert über eine bestimmte zeit ansteht, soll geschalten werden.

    Hoffentlich ist dies der Fehler.
    Code:
    SE "Delay_Timer_H_analog"
    U "Delay_Timer_H_analog"
    Meinst du diese Timeraufrufe?
    Diesen Timer verwendest du in jeder FB-Instanz. Das geht definitv nicht, da du ja nie sicherstellen kannst, daß dr Timer nur in einem FB gerade läuft und in den anderen umsprungen wird. Du mußt auch die Timer an den FB als Parameter übergeben.

    Für Multiinstanz-FB machen sich in desem Fall sicher die IEC-Timer besser.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

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

    waldi (30.05.2007)

  7. #16
    waldi ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.05.2007
    Beiträge
    25
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Genau. Also muss ich entweder zig tausende Timer verschwenden oder mit dem SFB4 eine Einschaltversögerung programmieren.
    Ich hoffe ich sehe das richtig

    Auf jeden Fall danke an alle die hir schon mal geantwortet haben.

    Ich werde mal dies ausprobieren und melde mich wenn es funktioniert hat, auf jeden Fall nochmal.

  8. #17
    waldi ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    15.05.2007
    Beiträge
    25
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    also da bin ich wieder.
    Ich habe nun folgendes ausprobiert.

    M015: NOP 0
    L -1.000000e+000
    L #LAHHH_analog
    >=R
    SPB M030

    L #Level_Transmitter_Merker
    L #LAHHH_analog
    >=R
    S #Merker_Timer1


    CALL #Timer1
    IN:=#Merker_Timer1
    PT:=#LAHHH_delay
    Q :=#LAHHH_out
    ET:=


    L #Level_Transmitter_Merker
    L #hysteresis1
    <=R
    R #Merker_Timer1


    Jetzt spare ich mir die Timer. Ich wollte auch gleich nicht mehr Datenbaustein verschwenden und habe den SFB4 im STAT Bereich deklariert. Funktioniert auch nur bedingt. Sprich ein Aufruf verändert den anderen aufruf.

    HILFE!!! Warum ist das so??????????

  9. #18
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Zitat Zitat von waldi Beitrag anzeigen
    also da bin ich wieder.
    Ich habe nun folgendes ausprobiert.

    M015: NOP 0
    L -1.000000e+000
    L #LAHHH_analog
    >=R
    SPB M030
    L #Level_Transmitter_Merker
    L #LAHHH_analog
    >=R
    S #Merker_Timer1

    CALL #Timer1
    IN:=#Merker_Timer1
    PT:=#LAHHH_delay
    Q :=#LAHHH_out
    ET:=

    L #Level_Transmitter_Merker
    L #hysteresis1
    <=R
    R #Merker_Timer1

    Jetzt spare ich mir die Timer. Ich wollte auch gleich nicht mehr Datenbaustein verschwenden und habe den SFB4 im STAT Bereich deklariert. Funktioniert auch nur bedingt. Sprich ein Aufruf verändert den anderen aufruf.

    HILFE!!! Warum ist das so??????????
    Was meinsr du mit "Ein Aufruf verändert den anderen Aufruf"?
    Benutzt du Timer 1 mehrmals im FB?
    Ich weiß auch nicht, wie der TON reagiert, wenn er umsprungen wird.
    Wenn er eine Flanke zum Starten braucht, wäre Umspringen nicht so gut.
    Die Timer kann man kann man ja ruhig immer aufrufen, sie laufen ja nur in Abhängigkeit vom Startmerker.
    Geändert von Ralle (30.05.2007 um 20:01 Uhr)
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  10. #19
    Registriert seit
    07.11.2004
    Beiträge
    697
    Danke
    69
    Erhielt 64 Danke für 48 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Was meinsr du mit "Ein Aufruf verändert den anderen Aufruf"?
    Benutzt du Timer 1 mehrmals im FB?
    Ich weiß auch nicht, wie der TON reagiert, wenn er umsprungen wird.
    Wenn er eine Flanke zum Starten braucht, wäre Umspringen nicht so gut.
    Die Timer kann man kann man ja ruhig immer aufrufen, sie laufen ja nur in Abhängigkeit vom Startmerker.
    ... aber auch diese brauchen ein Gedächtnis.

    Das kriminelle an deiner Vorgehensweise ist daß du wahrscheinlich in deinem "FB5000" S7 Timer mit deren Nummern direkt angesprochen hast -> alleine deswegen kannst du ihn als Multiinstanz schon mal vergessen.

    Dieser FB5000 muß komplett von aussen versorgt werden und dessen output muß auch wieder vor jeder nächsten Instanz abgefangen werden sonst hast du immer Salat...

    Warum rufst du den FB 5000 nicht 18 mal nacheinander mit separatem Instanzdatenbaustein auf (direkt im OB1)?

    Das einzige was du dann wahrscheinlich ändern müsstest wäre die Timernummern über die Schnittstelle reinzuschreiben damit jede Instanz "eigene" Timer zur Verfügung hat.

    Also 18 oder auch 50 Instandatenbausteine sind doch nicht das Problem oder ?

    Ausserdem kannst du dann auch die Instanzen wieder im Status beobachten und zwar nicht am FB (da wirst du nichts mehr erkennen) sondern am jeweiligen IDB...
    RS (rs-plc-aa)
    ______________________________________________
    Morgen ist Heute Gestern...
    ______________________________________________
    Installierst du noch - oder Arbeitest du schon ?
    ______________________________________________

  11. #20
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.263
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von rs-plc-aa Beitrag anzeigen
    ... aber auch diese brauchen ein Gedächtnis.

    Das kriminelle an deiner Vorgehensweise ist daß du wahrscheinlich in deinem "FB5000" S7 Timer mit deren Nummern direkt angesprochen hast -> alleine deswegen kannst du ihn als Multiinstanz schon mal vergessen.
    Da hat er ja gerade TON aus der Bibo draus gemacht, das mit den s7Timern war wirklich falsch.

    Zitat Zitat von rs-plc-aa Beitrag anzeigen
    Dieser FB5000 muß komplett von aussen versorgt werden und dessen output muß auch wieder vor jeder nächsten Instanz abgefangen werden sonst hast du immer Salat...
    ??? wie, was, abgefangen ???

    Wenn FB5000 als STAT (also Multiinstanz) im FB10 18 mal definiert wird, werden dann nicht auch alle TON-Timer, die als STAT im FB5000 definiert sind entsprechend mit ihren Daten im Instanz-DB des FB10 eingeordnet?
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

Ähnliche Themen

  1. S7: FB Aufrufe in einem FB
    Von Toffee im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 11.04.2011, 08:08
  2. FC Aufrufe
    Von omegabv6 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 13.08.2010, 09:47
  3. Antworten: 2
    Letzter Beitrag: 07.10.2008, 09:24
  4. FB-Aufrufe (die Zweite)
    Von Larry Laffer im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 01.06.2007, 06:59
  5. SFB14 -> Aufrufe
    Von kpeter im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 27.11.2006, 23:06

Lesezeichen

Berechtigungen

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