Funktionsaufruf mit Aktualparamerern

manas

Level-1
Beiträge
128
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen, hab mal ne simple Frage: in einem FB wird eine Funktion (FB9 "TEST") in zwei netzwerken nacheinander aufgerufen.
Das gleiche funktioniert sowohl auf der SPS als auch auf der Simulation.
Details: siehe Bilder.
Hat jemand damit Erfahrung?
Danke
Gruß
manas
 

Anhänge

  • Bild 1.jpg
    Bild 1.jpg
    41,7 KB · Aufrufe: 57
  • Bild 2.jpg
    Bild 2.jpg
    34,2 KB · Aufrufe: 38
soll ich mal raten? ...meinst du, dass du den FC9 nicht richtig beobachten kannst? ... also, dass wäre das einzige was mir einfallen würde, dazu geschrieben haste es ja nich ... aber ansonsten, ja, das funktioniert auf der CPU und in der Simulation und nein, ich habe mit dem FC9 keine Erfahrungen :rolleyes:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
FC testen

hallo Vierlagig, ich meine dass es sowohl auf der SPS auch als in der Simulation gleich funktioniert, und zwar die Funktionsaufrufe können nicht richtig beobachtet werden, und dass verwirrt. Der Code von FC9 steht in den Bildern rechts unten.
Danke
Gruß
manas
 
Aufrufe

Hallo,

das hängt eben damit zusammen dass du den Baustein mehrfach aufrufst. Da werden die Zustände irgendeines Aufrufs dargestellt. Rufst du aus verschiedenen Bausteinen auf dann hast du wenigstens im Testbetrieb noch die Option "Beobachten mit Aufrufpfad", für Aufrufe innerhalb eines Bausteins gibts meines Wissens diese Funktion (noch) nicht.

André
 
japp, da hat der andré recht und war schneller als ich ...

davon mal ab ... was soll man auch an nem move beobachten :rolleyes: ....steht doch dran, was rein geht und was rauskommt ....
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Fc

hallo vierlagig, hallo andre, danke für ueur Feedback. Das mit dem Rein- bzw. Rauskommen: hier ist eine einfache Funktion zum Verdeutlichen aufgeführt. Beim Testen von selbst programmierten Funktionen (mit evtl. Fehlern) ist es mit Rein- bzw. Rauskommen und dazu noch mit dem oben aufgefürtem Problem nicht so einfach.
Danke
Gruß
manas
 
Das mit dem Rein- bzw. Rauskommen: hier ist eine einfache Funktion zum Verdeutlichen aufgeführt. Beim Testen von selbst programmierten Funktionen (mit evtl. Fehlern) ist es mit Rein- bzw. Rauskommen und dazu noch mit dem oben aufgefürtem Problem nicht so einfach.

...dafür gibt es die Möglichkeit, den Baustein im Testbetrieb zu beobachten, so wie André das schon angeschnitten hat und wie er schon richtig erwähnt hat, geht das leider nur, wenn der Baustein einmal in dem entsprechenden Baustein aufgerufen wird (projektweit kann das öfter sein) ... Testbetrieb findest du im "KOP/AWL/FUP-Editor" unter "Test" ... da bei "Betrieb..." auf "Testbetrieb" umschalten und unter "Test -> Aufrufumgebung" auswählen welcher der Baustein sein soll, der die Aufrufwerte an deinen zu beobachtenden Baustein weitergeben soll ...
 
Geht auch noch ein bischen einfacher:

Den aufrufenden Baustein Online öffnen. (Mit Online Partner öffnen), beobachten reicht nicht.

Dann den Aufruf (i.a. call) mit der maus markieren und rechte Maustaste drücken. Dann "aufgerufenen Baustein" -> "Beobachten mit Aufrufpfad" und schon zeigt er Dir den angewählten FC/FB an.



Bei der Gelegenheit: Bit mir kann ich "Aufrufumgebung" nicht anwählen, und ja, die CPU ist in Testbetrieb :confused:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich muß so oder so immer zuerst "Test" einmal öffnen, auch wenn "Test" schon angewählt ist. Danach kann ich "Aufrufumgebung" anwählen.

Wenn ein Baustein mehrmals in einem anderen Baustein aufgerufen wird, ist der einzige mir bekannte Weg das ordentlich zu beobachten, indem man den "Erwählten" unter einer anderen Nummer speichert, in die SPS schiebt und dann beobachtet. Bei Multiinstanz-FB bist du aber auch damit ziemlich aufgeschmissen, weil sich dann auch der IDB ändert, also der Aufwand recht hoch ist.
 
Danke Euch allen! Da ist mir etwas klarer geworden, wann denn überhaupt das mit dem Beobachten mit Aufrufumgebung überhaupt funktioniert.

Aber dass Siemens das so halbherzig gelöst hat, dass man nur einen Aufruf in einem Baustein sauber beobachten kann, dagegen Mehrfachaufrufe im selben Baustein nicht - das wundert mich schon.

Als Programmierer kann ich ja sagen: schreib sauber, dann brauchste nicht debuggen. Aber die IHler - die müssten doch da schon lange drüber gek... haben, über diesen Zustand?
 
Von Ralle:

" Also ich muß so oder so immer zuerst "Test" einmal öffnen, auch wenn "Test" schon angewählt ist. Danach kann ich "Aufrufumgebung" anwählen."

Tja, mache ich bei mir... Aber ganz davon abgesehen, das die Betriebsart doch eh fest in der Hardware-Konfig eingetragen ist, gehts trotzdem nicht.

Der Witz daran ist ja, das es vor einer Stunde noch funktioniert hat....
Step 7 schon neu gestartet, aber daran hats wohl nicht gelegen...:confused:
 
Danke Euch allen! Da ist mir etwas klarer geworden, wann denn überhaupt das mit dem Beobachten mit Aufrufumgebung überhaupt funktioniert.

Aber dass Siemens das so halbherzig gelöst hat, dass man nur einen Aufruf in einem Baustein sauber beobachten kann, dagegen Mehrfachaufrufe im selben Baustein nicht - das wundert mich schon.

Als Programmierer kann ich ja sagen: schreib sauber, dann brauchste nicht debuggen. Aber die IHler - die müssten doch da schon lange drüber gek... haben, über diesen Zustand?

Man kann ja auch noch den geöffneten Datenbaustein als Kriterium nutzen. Aber das hat bei mir noch nie geklappt, egal was ich probiert habe, egal, in welcher Version. Will mal wissen, bei wem das wie geht.
 
Man kann ja auch noch den geöffneten Datenbaustein als Kriterium nutzen. Aber das hat bei mir noch nie geklappt, egal was ich probiert habe, egal, in welcher Version. Will mal wissen, bei wem das wie geht.
Hallo Ralle,

öffne den zu beobachtenden FB online, über Test/ Aufrufumgebung kommst die in die Strukturabfrage.
Dort aktivierst Du "offenen Datenbausteine" und trägst anschließend die Nummer des entsprechenden IDBs ein.

Also bei mir funktioniert das so.

Gruß
raika
 
Zurück
Oben