Funktion in KOP einfügen? Geht nicht?

Für S7:
Also, wenn du in KOP Ansicht bist, dann kannst du über Ansicht -> Übersichten die Übersichten einschalten. Dort kannst du dann unter FC oder FB deinen Baustein auswählen und per Drag and Drop in dein KOP Netzwerk ziehen
 
Zuletzt bearbeitet:
Habe ich vergessen zu schreiben. Es handelt sich um eine Beckhoff-Steuerung, programmiert mit TwinCat. Konnte nun gerade die Funktion mit "Baustein mit ENO" einfügen. Aber wieso muss eine Funktion immer einen Rückgabewert haben? Denn muss ich den ja immer eine Variable geben.

Zu meinem Problem:
- Habe eine Berechnung, die ich in SCL schreiben will (FC oder FB), Variablen sind alle Global :)
- In einem Baustein der in KOP geschrieben ist möchte ich diese Berechnung aufrufen.

Wie kann ich das am besten machen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Eine Funktion ist in der IEC61131-3 eben so definiert das sie einen Rückgabewert haben muss.
Funktionen eigenen sich ja gerade für Berechnungen und Umwandlungen sehr gut. Da man mehrere Eingangsvariablen zu einem Rückgabewert verrechnen kann.

Globale Variablen haben in einem FC eigentlich nichts verloren. Daher übergib das Ergebnis Deiner Berechnung einfach über den Rückgabewert an die Aufrufende Funktion/Programm/Funktionsblock.

Wenn es eine Art Initialisierung sein sollte die eben Globale Variablen bedienen soll, nutze ein Programm (PRG).
 
Habe ich vergessen zu schreiben. Es handelt sich um eine Beckhoff-Steuerung, programmiert mit TwinCat. Konnte nun gerade die Funktion mit "Baustein mit ENO" einfügen. Aber wieso muss eine Funktion immer einen Rückgabewert haben? Denn muss ich den ja immer eine Variable geben.

Zu meinem Problem:
- Habe eine Berechnung, die ich in SCL schreiben will (FC oder FB), Variablen sind alle Global :)
- In einem Baustein der in KOP geschrieben ist möchte ich diese Berechnung aufrufen.

Wie kann ich das am besten machen?

Der Rückgabewert ist eine grundlegende Eigenschaft einer Funktion.
Wenn die Berechnung direkt auf Globale Variablen zugreift und schreibt,
dann solltest du diese als PRG deklarieren.
Diese kannst du dann grundsätzlich im Task eintragen,
oder halt auch in einem anderen PRG aufrufen.

Mfg
Manuel
 
Zurück
Oben