Erste Schritte mit SCL

Andy Latte

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

bin gerade dabei mich in SCL einzuarbeiten. Tolle Wurst. Wollte an sich nur eine "stinknormale" Und-Funktion in SCL haben. Beim kompilieren ergibt sich ein Fehler. Im Endeffekt möchte ich einen einfachen FB haben, der nichts anderes als eine UND-Funktion kann, jedoch nur in SCL programmiert ist.



Mein Quelltext:


FUNCTION_BLOCK Test

VAR_input
Wert_1: BOOL; // Eingang X
Wert_2: BOOL; // Eingang Y
VAR_OUTPUT
Zuweisung_1: BOOL; // Ausgang Z
END_VAR

BEGIN

Zuweisung_1 := Wert_1 AND Wert_2; //

END_FUNCTION_BLOCK


Mein Compiler sagt mir:

Fehlender oder ungültiger Bezeichner.
1 Fehler, 1 Warnung


schönen Dank schon mal
 
In der Symboltabelle war der FB Test bereits eingetragen... Weiß echt nicht warum das nicht funktioniert......
 
Du musst den VAR_INPUT auch wieder mit END_VAR beenden, also:

Code:
FUNCTION_BLOCK Test

VAR_input
Wert_1: BOOL; // Eingang X
Wert_2: BOOL; // Eingang Y
[B]END_VAR[/B]

VAR_OUTPUT
Zuweisung_1: BOOL; // Ausgang Z
END_VAR

BEGIN

Zuweisung_1 := Wert_1 AND Wert_2; // 

END_FUNCTION_BLOCK
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Schon bischen her wo ich SCL gemacht habe.

VAR_input
Wert_1: BOOL; // Eingang X
Wert_2: BOOL; // Eingang Y
VAR_OUTPUT
Zuweisung_1: BOOL; // Ausgang Z
END_VAR

Muss vor VAR_OUTPUT nicht END_VAR sein ?

VAR_INPUT
Wert_1: BOOL; // Eingang X
Wert_2: BOOL; // Eingang Y
END_VAR
VAR_OUTPUT
Zuweisung_1: BOOL; // Ausgang Z
END_VAR

wir keine zeile wo der fehler ist angegeben ?
 
Du musst den VAR_INPUT auch wieder mit END_VAR beenden, also:

Code:
FUNCTION_BLOCK Test

VAR_input
Wert_1: BOOL; // Eingang X
Wert_2: BOOL; // Eingang Y
[B]END_VAR[/B]

VAR_OUTPUT
Zuweisung_1: BOOL; // Ausgang Z
END_VAR

BEGIN

Zuweisung_1 := Wert_1 AND Wert_2; // 

END_FUNCTION_BLOCK

Der ist fix heut der Kniffo, da kommt ja keiner mit :ROFLMAO:!
 
Doch das geht:

Code:
      CALL  FB     1 , DB1
       Wert_1     :=M0.0
       Wert_2     :=M0.1
       Zuweisung_1:=M1.0

Denk dran, du hast einen FB, also mußt su auch einen Instanz-DB bei Aufruf mit einsetzen. Im Simulator geht es, wenn M0.0 und M0.1 True, dann wird auch M1.0 True.
 
Doch das geht:

Code:
      CALL  FB     1 , DB1
       Wert_1     :=M0.0
       Wert_2     :=M0.1
       Zuweisung_1:=M1.0
Denk dran, du hast einen FB, also mußt su auch einen Instanz-DB bei Aufruf mit einsetzen. Im Simulator geht es, wenn M0.0 und M0.1 True, dann wird auch M1.0 True.

Ralle hat recht (100% Ack)

Aber für die Aufgabe braucht man ja keinen FB also mach einn FC draus. Es sei denn es kommen noch Aufgaben in diesen FB die statisch Variablen benötigen.
 
Zurück
Oben