tomi_wunder
Level-1
- Beiträge
- 35
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hi!
Gibt es in AWL eine Möglichkeit, Funktionen bzw. vll. auch Funktionsbausteine parametrisch aufzurufen, d.h. nicht durch die direkte Angabe des symbolischen Namens oder einer festen Bausteinnummer, sondern über eine irgendwo gespeicherte Nummer (oder Zeiger)?
Ungefähr sowas:
Weil ich aus der C/C++-Welt komme kenne ich das ganze unter dem Namen Funktionszeiger. Nun macht man mit C und C++ aber leider Anwendungsprogrammierung was somit nicht allzuviel mit SPS-Programmierung zu tun hat. Dennoch habe ich für SCL schon gesehen, daß es möglich ist einem FC/FB Parameter vom Typ BLOCK_FC/BLOCK_FB mitzugeben, wobei ich annehme, daß man damit auch auf nix anderes hinaus will, als ich vorhabe.
Mir ist schon klar, daß man das auch über unzählige Fallunterscheidungen lösen kann, nur geht es mir darum mein Programm kürzer und effizienter zu machen. Ziel ist es sowas ähnliches zu bauen wie eine Befehlsqueue, also ein veränderliches Array von Funktionsnummern bzw. Funktionszeigern, daß sequentiell durchgearbeitet wird.
Mit Datenbausteinen gibt's ja auch was äquivalentes wie z.B.
Vorab schonmal herzlichen Dank
Gruß
Thomas
Gibt es in AWL eine Möglichkeit, Funktionen bzw. vll. auch Funktionsbausteine parametrisch aufzurufen, d.h. nicht durch die direkte Angabe des symbolischen Namens oder einer festen Bausteinnummer, sondern über eine irgendwo gespeicherte Nummer (oder Zeiger)?
Ungefähr sowas:
Code:
CALL FC [#fcnr]
bzw.
CALL #funktionszeiger
Weil ich aus der C/C++-Welt komme kenne ich das ganze unter dem Namen Funktionszeiger. Nun macht man mit C und C++ aber leider Anwendungsprogrammierung was somit nicht allzuviel mit SPS-Programmierung zu tun hat. Dennoch habe ich für SCL schon gesehen, daß es möglich ist einem FC/FB Parameter vom Typ BLOCK_FC/BLOCK_FB mitzugeben, wobei ich annehme, daß man damit auch auf nix anderes hinaus will, als ich vorhabe.
Mir ist schon klar, daß man das auch über unzählige Fallunterscheidungen lösen kann, nur geht es mir darum mein Programm kürzer und effizienter zu machen. Ziel ist es sowas ähnliches zu bauen wie eine Befehlsqueue, also ein veränderliches Array von Funktionsnummern bzw. Funktionszeigern, daß sequentiell durchgearbeitet wird.
Mit Datenbausteinen gibt's ja auch was äquivalentes wie z.B.
Code:
AUF DB [LW 10]
Vorab schonmal herzlichen Dank
Gruß
Thomas