TIA TIA V12 S7.1200 FC mehrfach aufrufen

buffi4711

Level-2
Beiträge
301
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe ein Problem,

ich habe im Programm mehre gleiche Aufgaben zu erledigen. Von daher einen FC erstellt, getestet und für gut befunden.
Im Programm eine FC erstellt und den benötigten FC mehrfach aufgerufen und mit den entsprecheden Variabelen verschaltet.

Jetzt gibt es aber ein Problem mit der Funktion des mehrfach verwendeten FC's.
Wenn ich im aufrufenden FC den entsprchenden FC mit rechter Maustaste und Öffnen und Beobachten öffne, Sind immer die Variabelen des ersten Aufruf's sichtbar.
Der Fehler Im mehrfach FC ist aber im zweiten Aufruf besser zu lokalisiern, da hier mehr bewegung in der Funktion ist.
Mache ich was falsch? Müsten da nicht die Werte vom 2. Aufruf angezeigt werden, wenn ich den 2 Aufruf beobachten möchte?

Danke für Eure Hilfe!
 
Hallo,

ruf doch testweise den FC nur einmal auf, dann kannst du sicher sein, dass du die richtige "Instanz" beobachtest. Bei mehreren Aufrufen eines FCs weisst du leider nie, welchen Aufruf du beobachtest. Dafür gibt es ja die FBs mit den entsprechenden Instanz-DBs.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi

dafür hat das TIA-Portal die sogenannte "Aufrufumgebung" auf Englisch heißt das glaub ich Call-Environment.

Du bekommst einen Dialog, in dem in der Mitte ein Baum dargestellt ist, der dir vom aktuellen Baustein aus alle bekannten Aufrufer zeigt und deren bekannte Aufrufer und deren bekannte Aufrufe. Die Blätter des Baumes sind OBs.
Beispiel: Wenn der Main den Block_1 und der zwei mal den Block_2 aufruft und du im Block_2 stehst, dann sieht der Baum etwa so aus
Code:
Block_2[INDENT]Block_1[/INDENT]
[INDENT=2]Main[/INDENT]
[INDENT]Block_1[/INDENT]
[INDENT=2]Main



[/INDENT]
Um jetzt den zweiten Aufruf von Block_2 zu beobachten selektierst du die vierte Zeile.
Und drückst dann auf die Brille. Nun bekommst du nur noch Block_2 Ausführungen zu sehen, wenn dies von Block_1 aufgerufen werden und zwar an der zweiten Stelle.

Den Dialog bekommt man wenn man in der Kopfzeile ganz weit rechts auf ein Symbol klickt. Muss morgen mal ein Bildchen von dem Icon machen.

Das Problem das ich bei diesem Dialog habe, ist, dass ich immer auf die Zeile unterhalb des Baumes klicken will. Da steht nach dem Selektieren des Baumes sowas wie
Code:
Main > Block_1[2] > Block_2
und wenn man drauf klickt dann nur noch
Code:
Main > Block_1 > Block_2
damit geht aber nicht mehr was du willst. Mich bringt das regelmäßig zur Verzweiflung.

Das Verfahren scheitert bei AWL Programmen welche so fiese Sachen wie CALL FC[MW2] machen. Hier weiß Siemens nicht welcher Baustein mal aufgerufen wird, denn den Inhalt von MW2 können sie ja nicht raten.
Jetzt hilft die doofe Zeile. Denn ich weiß natürlich was mein Programm macht ;-) und möchte Block4712 dann beobachten, wenn MW2 die Nummer von Block_4711 enthält. Man kann dort dann was eingeben
Code:
Block_4711 > Block_4712
Und schon klappt es auch bei indirektem Call.

Jetzt sehe ich gerade, dass du eine 1200 hast. Das klappt da nur mit neueren Firmware-ständen.

'n schön' Tach auch
HB
 
Zuletzt bearbeitet:
Zurück
Oben