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

Ergebnis 1 bis 4 von 4

Thema: Funktionsblock mehrmals aufrufen

  1. #1
    Registriert seit
    15.06.2011
    Beiträge
    35
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    Für meine Diplomarbeit erstelle ich gerade ein Programm mit Codesys.

    Nun scheine ich an etwas simplen zu scheitern. Einen kleinen Programmteil kann ich mehrmals für verschiedene Sachen benutzen, sprich Synergien Nutzen.
    Angelegt habe ich den Programmcode als Funktionsbaustein (FB). Nun instanziere ich diesen 3 mal in 2 verschiedenen Programmen. PLC_PRG ruft dann nacheinander die zwei Programme auf.

    Das Problem ist nun, das ich an allen Ausgängen immer das habe was beim letzten Aufruf des FB's in einem Zyklus geschieht. Eine Möglichkeit wäre ja, den Funktionsblock einfach 3 mal zu kopieren aber das ist wohl keine Elegante Lösung.

    So sieht es in der Visu aus (Tasten):
    Visu.jpg

    Und so die instanzierung:
    Aufruf.jpg

    Wie man auf dem ersten Bild sieht, sind die Ausgänge (rot / grüne Balken) immer identisch. Egal welche Tasten gedrückt werden. Ich nehme an, das irgend etwas mit der Instanzierung falschgelaufen ist, finde aber nicht heraus was es ist.


    Für ein Feedback bin ich Euch dankbar.

    Gruss
    Zitieren Zitieren Funktionsblock mehrmals aufrufen  

  2. #2
    berc ist offline Benutzer
    Themenstarter
    Registriert seit
    15.06.2011
    Beiträge
    35
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard

    So, mit der Lösung hat sich nun doch eine Neue Frage aufgetan:

    Im Funktionsblock hatte ich als erstes die Eingangsvariablen mit R_TRIG ausgewertet. Nachdem ich das nicht mehr gemacht habe (Also keine R_TRIG im FB), funktioniert nun alles wie gewünscht.
    Weiss jemand wiso? Oder ist es Grundsätzlich nicht möglich diesen Baustein in einem FB zu benutzen? Es scheint als wäre der R_TRIG nur einmal aber nicht für alle FB- Aufrufe separat instanziert worden

    Gruss

  3. #3
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.697 Danke für 1.949 Beiträge

    Standard

    Hast du in dem FB eine Variable in VAR angelegt, die R_TRIG als Typ hat und dann diese Variable verwendet? Dann sollte das auch gehen.

    My_TRIG : R_TRIG;

    Und dann mit My_TRIG gearbeitet.

    Mehr kann man leider nicht sehen, da der Code deines FB unbekannt ist.
    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

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

    berc (05.07.2012)

  5. #4
    berc ist offline Benutzer
    Themenstarter
    Registriert seit
    15.06.2011
    Beiträge
    35
    Danke
    4
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vielen Dank für die Antwort.
    Habe den Code nochmal angeschaut und tatsächlich in der instanzierung einen Fehler gemacht. Habe ausversehen nicht einen Eingang auf den CLK vom RTRIG gesetzt sondern irgendwie auf eine Globale Variable verwiesen.

Ähnliche Themen

  1. Funktion vs Funktionsblock
    Von CoDeSysCoDer im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 09.11.2010, 12:05
  2. Baustein mehrmals aufrufen...
    Von pinolino im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 02.06.2010, 21:29
  3. SFC 14 "DPRD_DAT" mehrmals aufrufen
    Von Immer_1 im Forum Feldbusse
    Antworten: 11
    Letzter Beitrag: 09.05.2008, 21:50
  4. Baustein mit Zeitglied mehrmals aufrufen
    Von mathias007 im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 28.09.2007, 23:37
  5. Instanz DB mehrmals aufrufen
    Von Deep Blue im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 14.08.2007, 12:39

Lesezeichen

Berechtigungen

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