Funktionsblock funktioniert nicht immer

egro

Level-1
Beiträge
211
Reaktionspunkte
24
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen

Ich stehe mal wieder auf dem Schlauch.

Ich habe auf einer WAGO 750-881 mehrere Unterprogramme.
Dieses rufe ich dann im PLC_PRG auf.

Jetzt zu meinem Problem:
Ich habe selber einen Funktionsblock geschrieben, der in einer eigenen lib.-Datei gespeichert ist.
Dieser FB hat unter anderen Inputs, einen Input Zeit im Format DT.

Ich rufe diesen FB in drei Unterprogrammen auf (Natürlich mit verschiedenen Namen!).
Im Unterprogramm 1 einmal.
Im Unterprogramm 2 zweimal.
Im Unterprogramm 3 5-mal.

Im Unterprogramm 1+2 funktioniert alles, wie es soll. Wenn ich online bin (Auf der Hardware, nicht Simulation), sehe ich oben im Deklarationsteil, dass die FB's die Zeit annehmen.
Im Unterprogramm 3 sehe ich bei allen dieser FB's, dass bei der Zeit 1.1.1970 und 00:00 ist. Also nehmen die das DT-Signal nicht an.

Aber WIESO???

Wenn ich ein neues Unterprogramm mache und den FB aufrufe, sieht es aus wie in Unterprogramm 1+2.
Wenn ich im Unterprogramm 3 die FB's lösche, wieder auf den Controller lade und danach die FB's wieder ganz normal eingebe, ist es wie vor dem Löschen.

PS: Der Rest von Unterprogramm 3 funktioniert einwandfrei.

HIIILFEEEE!!!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich kann in der Visu Variablen setzen und bekomme Rückmeldungen (oder direkt im PRG forcen).
Es werden noch keine Karten-Ausgänge geschaltet, da nicht vorhanden.
 
Doch iss es...
Aber da wird jedes Unterprogramm genau gleich aufgerufen.

Kleine Ergänzung:
Im Unterprogramm 3, im Deklarationsteil sehe ich meinen Eingang im DT-Format richtig, aber der FB (FB-Scheduler) innerhalb meines FB erkennt das DT-Signal nicht.
Im Unterprogramm 1+2 ist das aber der Fall.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Stimmen die Zykluszeiten? Hast du deine Tasks zuerst mal "freilaufend" eingestellt und dann ca. die doppelte "Durchschnitts-Zykluszeit" als "zyklisch gesteuert" eingegeben?
Du könntest mal die Deklarationsteile hier einstellen, die kannst du ja problemslos posten.
Dann aber bitte vom Unterprogramm 1,2,3, dem PLC_PRG und ggf. der glob_variablen liste.

Falls da nichts zu finden ist, kommt man um screenshots oder das komplette programm nicht drum-rum!

Gruß,
Flo
 
Also hier mal die Bilder...
 

Anhänge

  • Task_Manager.JPG
    Task_Manager.JPG
    79,8 KB · Aufrufe: 16
  • So siehts im FB aus.JPG
    So siehts im FB aus.JPG
    65,3 KB · Aufrufe: 17
  • PLC_PRG.JPG
    PLC_PRG.JPG
    59,5 KB · Aufrufe: 16

Anhänge

  • Nimmt die Zeit nicht an.JPG
    Nimmt die Zeit nicht an.JPG
    157,5 KB · Aufrufe: 16
  • Nimmt die Zeit auch an.JPG
    Nimmt die Zeit auch an.JPG
    167,4 KB · Aufrufe: 12
  • Die Zeit hat er.JPG
    Die Zeit hat er.JPG
    167,1 KB · Aufrufe: 17
  • Nimmt die Zeit an.JPG
    Nimmt die Zeit an.JPG
    139,6 KB · Aufrufe: 17
Sorry, habe ich vergessen zu aktivieren.
Das spielt aber keine Rolle.
Ob True oder False, das Ergebniss ist das selbe.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In den beiden Screenshots wo es läuft es xEN auch sichtbar auf TRUE.
Bei M_Garten_Auto kann ich das nicht erkennen.

EDIT: vielleicht solltest du dann den Screenshot noch mal austauschen.
Sowas wie "Instanz doppelt deklariert" also K_Seiteneingang 2x können wir ausschließen nehme ich an...​
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen, vielen Dank Oliver

Genau das war das Problem!!!
Ich habe einen Schalter in der Visu gemacht und nun funktionierts.

Adresse per PN an mich, dann gibt's ein Bier!!!

Noch einmal vielen Dank. Auch an alle Anderen...
 
Bin leider ein schlechter Deutscher und trinke weder Kaffee noch Tee oder Bier, aber danke für das Angebot. Ein seltsamer Geschäftsmann bin ich auch manchmal, denn ab und zu gebe ich mich mit einem Wort mit fünf Buchstaben als Bezahlung zufrieden.

Von irgendwas mit Internetzugang gesendet.
 
Zuletzt bearbeitet:
Zurück
Oben