TIA Aufruf von FB mit Parameterübergabe

pvoluitd

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich habe einfachen FB geschrieben :
FUNCTION_BLOCK TEST2
{S7_Optimized...}
VERSION : 0.1
VAR_INPUT​
SWITCH : Bool;​
END_VAR

VAR_OUTPUT​
LAMP : Bool;​
END_VAR​

BEGIN​
LAMP:= SWITCH:​
END_FUNCTION_BLOCK​


Meine Frage ist, wie rufe ich diesen FB im OB auf? Ich will gerne, dass mein SCL-Code für meinen OB in dasselber Quelle wie mein Code für den FB.

Der generierte Code aus TIA :
ORGANIZATION_BLOCK "OB1"
...
BEGIN
"TEST2_DB"(SWITCH:=_bool_in_, LAMP=>_bool_out_);
END_ORGANIZATION_BLOCK​

Da kam aber zuerst die Frage, ob man DB erstellen möchte. Klicke man auf ja, dann erzeugt das TIA TEST2_DB und man kann dann so schreiben im OB1.

Aber wenn ich den Code in meiner Quelle geschrieben, funktioniert die Bausteingenerierung nicht. Vielleicht habt iht mal die Lösung.
 
Hallo,
den Teil mit :
Ich will gerne, dass mein SCL-Code für meinen OB in dasselber Quelle wie mein Code für den FB.
habe ich nicht verstanden - sorry ... vielleicht erklärst du das noch einmal.

Ganz generell : ein Funktionsbaustein benötigt IMMER einen Instanz-Datenbaustein. (Man kann allerdings diese Instanz in die Instanz eines anderen FB's integrieren, in dem du ihn dort deklarierst und instanzierst.)

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
den Teil mit :habe ich nicht verstanden - sorry ... vielleicht erklärst du das noch einmal.

Ganz generell : ein Funktionsbaustein benötigt IMMER einen Instanz-Datenbaustein. (Man kann allerdings diese Instanz in die Instanz eines anderen FB's integrieren, in dem du ihn dort deklarierst und instanzierst.)

Gruß
Larry

Ich habe eine SCL Quelle, die habe ich im TIA hinzugefügt, und davon die Bausteine generiert. Und ich will gerne wissen, wie man den FB in OB aufruft, der in SCL geschrieben ist.

Danke,
:)
 
Wenn die SCL-Quelle richtig übersetzt wurde, müsste da doch jetzt ein FB erstellt worden sein. Diesen Baustein kannst Du im OB1 aufrufen. Zum Aufruf muss natürlich ein IDB für den FB erstellt werden, dass macht aber Siemens automatisch
 
Du möchtest eine einzige SCL-Quelle, die FB, Instanz-DB des FB und den OB enthält? Das kann man schon machen. Die Syntax für FB und OB in der SCL-Quelle hast du ja schon selbst rausgefunden, du brauchst also nur noch die Syntax um den Instanz-DB in der Quelle anzulegen. Dafür legst du dir am besten händisch den Instanz-DB im TIA-Portal an und exportierst den Instanz-DB dann als Quelle. Die generierte Quelle kannst du dann einfach in die restliche SCL-Quelle (mit FB und OB) integrieren. Du musst aber die Reihenfolge beachten: In der Quelle muss zuerst der FB kommen, dann der Instanz-DB, und dann der OB.
Wenn du dann diese kombinierte Quelle in ein (leeres) TIA-Portal-Projekt importierst wird FB, Instanz-DB und OB erzeugt.
 
Zurück
Oben