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

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 39

Thema: Funktion mehrere male benutzten

  1. #1
    Registriert seit
    25.09.2011
    Beiträge
    20
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen...

    ich bastel momentan an einem Projekt an dem ich momentan nicht weiterkomme...

    Und zwar habe ich folgendes Problem...

    Ich habe mir eine Funktion gebastelt die ich mehrere male aufrufen möchte.

    Und zwar habe ich mir ein FC gebastelt den ich mehrere male in einem FB aufrufen möchte. Dieser FB wird mit IN_OUT deklariert und in einem anderen FB unter Multiinstanzen aufgerufen. (Ziel -> ein großer DB)

    Mein Problem ist das sich der mehrmals aufgerufene FC selbst überschreibt... was mache ich falsch...
    Irgendwas habe ich falsch verstanden! :/

    bitte helft mir
    Zitieren Zitieren Funktion mehrere male benutzten  

  2. #2
    Registriert seit
    15.04.2011
    Beiträge
    1.122
    Danke
    229
    Erhielt 208 Danke für 176 Beiträge

    Standard

    Zitat Zitat von mainky Beitrag anzeigen
    Mein Problem ist das sich der mehrmals aufgerufene FC selbst überschreibt... was mache ich falsch...
    Irgendwas habe ich falsch verstanden! :/

    bitte helft mir
    Ich habe nicht etwas falsch verstanden, sondern nichts verstanden. Wie kann eine FC sich selbst überschreiben?

    Vernüftige Angaben und Dein Programm wären schon hilfreich...
    Gruß
    190B

  3. #3
    Registriert seit
    04.07.2011
    Ort
    NRW
    Beiträge
    8
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo,

    ich verstehe nicht ganz was Du vor hast, warum verwendest Du einen FC im FB um diesen in einen FB zu packen, Lass den FC weg und nimm gleich einen FB, dann sollte es mit deinem Multiinstanz DB auch funktionieren. Forteil des FB er wird mit Hilfe des DB`s zwischengespeichert, während der FC lediglich mit Temporärvariablen arbeitet.
    Zu S5 Zeiten hat man für diese Fälle Schmiermerker verwendet, um sich die Zustände zu retten!

    Viel Erfolg

    PS: Multiinstanz nicht schlecht, aber für die Fehlersuche für nicht so vesierte Kollegen ist meiner Meinung nach die Variante mehrerer FB`s mit instanz DB`s sinnvoller.

  4. #4
    Registriert seit
    17.10.2007
    Ort
    35043 Marburg
    Beiträge
    176
    Danke
    4
    Erhielt 30 Danke für 29 Beiträge

    Standard

    Hallo,
    natürlich überschreibt sich ein FC, was logisch ist, denn es gibt ja keine Instanz wo die Daten gespeichert werden könnten. Die Daten die später, nach dem Aufruf benötigst mußt Du dir in Merker oder DB schieben.
    Grüße...
    Paradox ist, wenn sich jemand im Handumdrehen den Fuß bricht.

  5. #5
    Registriert seit
    13.08.2011
    Beiträge
    341
    Danke
    21
    Erhielt 47 Danke für 42 Beiträge

    Standard

    Du kannst FC's mehrfach aufrufen, dann musst du aber bei jedem FC andere Variablen an den IN und OUT anknüpfen.
    Gruss der Fuss!!!

    +|----,,----:
    ------R----| Widerstand ist zwecklos!!!
    -|----''----:

  6. #6
    Registriert seit
    09.06.2008
    Beiträge
    138
    Danke
    16
    Erhielt 13 Danke für 13 Beiträge

    Standard

    Ich mach mal beim Rätselraten mit
    Ich vermute er schreibt das Ergebnis immer in die gleiche Variable.
    Wird ein FC mehrmals aufgerufen und schreibt immer in die gleiche Variable. Dann hat das Ergebnis des letzten FC gewonnen.

  7. #7
    Registriert seit
    06.02.2009
    Beiträge
    28
    Danke
    3
    Erhielt 6 Danke für 3 Beiträge

    Standard

    Und wenn du in dem FC irgendwelche Zustände mit Merker oder DBX erzeugst, dann werden die natürlich mehrmals aufgerufen und mehrmals geändert. Falls also Zustände innerhalb des FC gespeichert werden sollen, nehme FB mit verschiedenen DB, z.B.:

    Call FB100, DB100
    Call FB100, DB101
    Call FB100, DB102

    Die Netzwerke aus dem FC kannst du in den FB übernehmen, musst halt schauen, welche Variablen du dann benutzt.


    Aber warum willst du einen grossen DB haben? Sehe ich keinen Sinn drin. Also 3 FB ineinander aufrufen finde ich sehr schrecklich. Hast du dir mal Gedanken gemacht, wie du dann den Online- Zustand analysieren möchtest? Klar geht das (meistens), aber sinnlos kompliziert.....

    Gerade am Anfang solle man möglichst einfach programmieren, siehe meine Signatur. Auch wenn das Programm dann etwas grösser wird, aber die S5- Zeiten mit kleinem Speicher sind lange vorbei....
    Ritterlicher Verfechter der nachvollziehbaren und übersichtlichen Programmierung

    >>> Das Problem steht zu 95% vor der Maschine

    Meine Umgebung (meistens): Win XP, S7 V5.4 SP5, 840D sl, Transline

  8. #8
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    Zitat Zitat von fuss Beitrag anzeigen
    Du kannst FC's mehrfach aufrufen, dann musst du aber bei jedem FC andere Variablen an den IN und OUT anknüpfen.

    Naja, zumindest an die OUT´s

    gruss
    kind regards
    SoftMachine

  9. #9
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    hi !
    Zitat Zitat von Pittie Beitrag anzeigen
    Also 3 FB ineinander aufrufen finde ich sehr schrecklich. Hast du dir mal Gedanken gemacht, wie du dann den Online- Zustand analysieren möchtest? Klar geht das (meistens), aber sinnlos kompliziert.....
    Die SuFu für "Multiinstanz" hier im Forum liefert durchaus gute Argumente zu Für und Wider !

    Gruss
    kind regards
    SoftMachine

  10. #10
    mainky ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.09.2011
    Beiträge
    20
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    danke....

    Mein Vorhaben sieht folgendermaßen aus.... ich möchte eine Funktion erstellen die ich beliebig oft in der S7 einsetzen kann. In meinem Fall ist es ein Ansteuerung-Rückmeldevergleich.

    Diese Funktion soll insgesamt 9x unabhängig voneinander aufgerufen werde.
    Da noch mehr Funktionen wie Behälterstände und Druckanzeigen mit in anderen Bausteinen sind, soll später alles in einen FB gepackt werden und dieser soll halt einen GROßEN DB bekommen. Deswegen Multiinstanz....
    Geändert von mainky (28.10.2011 um 22:15 Uhr)

Ähnliche Themen

  1. mehrere Rückgabewerte in ST-Funktion
    Von Dave86 im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 26.05.2011, 16:32
  2. Vorgang Wiederholt sich x Male^^
    Von TechnikFreak10 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 18.04.2010, 12:11
  3. SCL MID Funktion
    Von Uli_87 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 24.02.2009, 10:32
  4. SCL & Funktion
    Von Felse im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 24.02.2009, 10:07
  5. Funktion
    Von isensa im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 26.07.2006, 18:07

Lesezeichen

Berechtigungen

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