Ungültige Zuweisung, SCL

petzi

Level-1
Beiträge
255
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich versuche mich gerade etwas an SCL und bekomme beim Aufruf eines FB's als Fehlermeldung "Ungültige Zuweisung". Soweit ich jetzt schon herausgefunden habe, liegt dies wohl an der Ausgangsvariablen "Ausgang".

FUNCTION_BLOCK FB2
VAR_INPUT
Ein_1, Ein_2 : BOOL;
END_VAR
VAR_OUTPUT
Ausgang : BOOL;
END_VAR
IF Ein_1 AND Ein_2 THEN Ausgang := 1;
END_IF;

END_FUNCTION_BLOCK

DATA_BLOCK DB2 FB2
BEGIN
END_DATA_BLOCK

ORGANIZATION_BLOCK OB1
VAR_TEMP
info : ARRAY[0..19] OF BYTE;
END_VAR

FB2.DB2(Ein_1 := E0.0, Ein_2 := E0.1, Ausgang := A0.0);

END_ORGANIZATION_BLOCK


Warum kann der "Ausgang" hier (im OB1) nicht zugewiesen werden?

Danke für eure Hilfe!

petzi
 
Der Ausgang muß unter den Bausteinaufruf, praktisch extra zugewiesen werden.
Kommentier mal den Aufruf des FB2 aus, übersetze und füge dann den FB2 per Menü "Einfügen/Bausteinaufruf..." ein. Das ist ohnehin zu empfehlen, weil dadurch die Syntax des Aufrufs erstmal stimmt!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... das hiesse dann in deinem Fall :
Code:
A0.0 := DB2.Ausgang ;
ich würde aber auch die Zuweisung für Ausgang im FB2 anders machen :
Code:
Ausgang := Éin_1 and Ein_2 ;
Gruß
LL
 
Vielen Dank für eure Hilfe!

Wenn ich also "A0.0 := DB2.Ausgang ;" unter den Aufruf des FB2 setze, so klappt das Ganze.

Zwei Fragen noch dazu:

1) Warum kann denn hier der Ausgangsparameter nicht gemeinsam mit den Eingangsparametern zugewiesen werden?

2) Möchte ich das SCL-Programm auf "Beobachten ein/aus" schalten, so kommt folgende Meldung:

Der Baustein ist nicht testbar! Es wurde keine Debug Info erstellt.

Wie kann ich dies beheben?

Grüße

petzi
 
zu 1.) das ist halt die Spielregel von SCL ...

zu 2.) ... das geht im SCL-Editor unter "Extras-Einstellungen-Compiler" und dann Häkchen bei "Debug-Info erstellen"

Gruß
LL
 
Zurück
Oben