SCL & Funktion

Felse

Level-1
Beiträge
221
Reaktionspunkte
10
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe folgende Frage bezüglich SCL. Ich wollte eine einfache Bitverknüpfung im SCL erstellen, hab leider gar keinen Plan und soll mich da trotzdem mal irgendwie zurecht finden. Deshalb: im Anhang sieht man ja die Fehlermeldung, aber was soll ich da noch machen? Sind die Befehle so richtig geschrieben? Funktioniert das überhaupt mit einem FC? Brauch ich den OB1 in meiner Quelle (den FC5 hab ich ja ganz normal mit call fc 5 schon aufgerufen)? Fragen über Fragen... Ich bedank mich schonmal im Voraus für jede Hilfe.:p
 

Anhänge

  • Prog1.bmp
    112,1 KB · Aufrufe: 48
Mir fallen da gleich zwi sachen auf und eine schreibt der Herr Siemens auch deutlich hin.

Die Funktion braucht einen Typ der als Rückgabewert dient.

In Deinem Fall würde ich den Rückgabewert BOOL wählen und die OUTPUT Variable dadurch ersetzen.

Und zum 2. fehlt ein Semikolon.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Den : vor Var_Input löschen,

Und als letztes Zeichen in der Zeile Ausgabe := ... noch ein ; hinzufügen ...

Und natürlich die Anmerkung von Zotos, in deinem Fall z.B. FUNCTION FC5 : VOID


Mfg
Manuel
 
Zuletzt bearbeitet:
hier noch der Code
Code:
FUNCTION FC5 : BOOL


VAR_INPUT
    schalter1 : BOOL;
    schalter2 : BOOL;
END_VAR
    FC5 := schalter1 AND schalter2;
END_FUNCTION
 
Zuviel Werbung?
-> Hier kostenlos registrieren
If Schalter1 = True and Schalter2 = True Then
Ausgabe := True;
Else
Ausgabe := False;
End_If;

Warum den Code so sinnfrei aufblasen ?

P.S. Für zukünftiges: Im SCL-Editor "Einfügen" - "Bausteinvorlage" - "FC" , da hat man dann wenigstens schon ein vernünftiges Grundkonstruckt ...
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Wow, so viele Antworten... Da werd ich gleich noch ein paar "Danke" verteilen. Hab eure Tipps befolgt und jetz funzt das auch. SCL ist meiner Meinung nach nicht die beste Variante für einfache Bitverknüpfungen, ziemlich umständlich, aber was der Chef will wird gemacht.
 
... nicht für einfache Bit-Verknüpfungen - da hast du vielleicht recht, aber wenn du Rechnen oder Daten verschieben willst oder einen Wertebereich bearbeiten, dann ist SCL einfach Klasse ...

Gruß
LL
 
...
SCL ist meiner Meinung nach nicht die beste Variante für einfache Bitverknüpfungen, ziemlich umständlich...

Dann nutzt doch für Bitverknüpfungen FUP/KOP.


In AWL würde das Beispiel ja auch nicht besser aussehen:
Code:
FUNCTION FC 7 : BOOL

VAR_INPUT
  schalter1 : BOOL ;    
  schalter2 : BOOL ;    
END_VAR
BEGIN
      U     #schalter1; 
      U     #schalter2; 
      =     #RET_VAL; 
END_FUNCTION

Hier nochmal SCL im direkten Vergleich:
Code:
FUNCTION FC5 : BOOL

VAR_INPUT
    schalter1 : BOOL;
    schalter2 : BOOL;
END_VAR
    FC5 := schalter1 AND schalter2;
END_FUNCTION

Aber bei den Beobachtungsmöglichkeiten von SCL hat Siemens einfach gepennt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Zotos:
Ich glaube, es geht hier auch eher um kompliziertere Bit-Verknüpfungen. Wenn die in AWL schon Sch... aussehen, dann mach SCL da auch nichts Schickeres draus ...

Gruß
LL
 
Zurück
Oben