Instanziierung von Funktionsbausteinen

tahren

Level-1
Beiträge
28
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich bin gerade dabei in Step7 Bausteine in SCL zu programmieren. Dabei möchte ich mich annähernd an die Norm IEC61131-3 halten. Nun habe ich mal eine Frage zur der Instanziierung von FB´s. Ich habe gelesen, das man eine Instanz ganz einfach in SCl erzeugen kann....

Beispiel:

FB10 "meinFB" // einfacher beliebiger Funktionsbaustein mit dem Namen meinFB


nun möchte ich diesen Baustein innerhalb eines anderen in SCL aufrufen...

VAR
Instanz1 : meinFB;
Instanz2 : meinFB;
Instanz3 : meinFB;
END_VAR

BEGIN

// nun dachte ich mir, dass ich anstatt von globalen DB´s als Instanzen, die oben deklarierten Instanzen nutzen kann....

"meinFB".Instanz1
(
in1 := ...
in2 := ...
);
out1 := ...
out2 := ...

"meinFB".Instanz2
(
in1 := ...
in2 := ...
);
out1 := ...
out2 := ...

"meinFB".Instanz3
(
in1 := ...
in2 := ...
);
out1 := ...
out2 := ...

nur leider kommt nun eine Fehlermeldung mit einem Namenskonflikt von lokalen Variablen. Wenn ich den Aufruf mit globalen DB´s machen würde, ginge es ohne Probleme. Das möchte ich allerdings umgehen....
Ich hoffe jemand kann mir helfen!
Vielen Dank!

mit freundlichen Grüßen
tahren
 
Hallo,
du bist doch schon auf der richtigen Spur :
Code:
call Instanz1 (In1:= myWert1 , In2 := myWert2) ;
 
myResult1 := Instanz1.Out1 ;
myResult2 := Instanz1.Out2 ;
... müßte es dann heißen.

Gruß
LL

Nachsatz:
ich habe es noch ein bißchen erweitert ...
 
Zurück
Oben