Löwensenft
Level-1
- Beiträge
- 43
- Reaktionspunkte
- 1
-> Hier kostenlos registrieren
Hallo zusammen,
mich plagt zur Zeit folgendes Problem: Ich schreibe einen FC mit einem IN-Parameter vom Typ ANY. Nun möchte ich auf den Wert, auf den der Pointer zeigt, zugreifen. Ich weiß im Moment aber absolut nicht, wie ich an den tatsächlichen Wert komme. Ich hatte ja auf eine Art Dereferenzierungs-Operanden (wie der * in C) gehofft, allerdings scheint es sowas "einfaches" nicht zu geben?
Grund für die Verwendung des ANY-Pointers ist, dass ich beliebige (eigentlich nur WORD, DWORD, INT oder DINT) Werte annehmen können möchte, aber nicht vier einzelne IN-Parameter anbieten möchte. Eine Verwendung des Typs DWORD oder DINT als Eingangsparameter-Typ ist auch nicht machbar, da ich je nach Typ eine andere Teilfunktion ausführen muss. Über das Datentyp-Byte im ANY-Pointer kann ich ja herausbekommen, was es für ein Datentyp ist. Also "was" übergeben wird ist bekannt. Dennoch: WIE komme ich an die Daten dran?
Auch in AWL scheint der Zugriff auf die Daten auf die ein ANY-Pointer zeigt nicht allzu einfach. Um zielführende Tipps bin ich sehr dankbar, auch wenn es in SCL nicht gehen sollte, dafür aber in AWL!
Grüße
Max
mich plagt zur Zeit folgendes Problem: Ich schreibe einen FC mit einem IN-Parameter vom Typ ANY. Nun möchte ich auf den Wert, auf den der Pointer zeigt, zugreifen. Ich weiß im Moment aber absolut nicht, wie ich an den tatsächlichen Wert komme. Ich hatte ja auf eine Art Dereferenzierungs-Operanden (wie der * in C) gehofft, allerdings scheint es sowas "einfaches" nicht zu geben?
Grund für die Verwendung des ANY-Pointers ist, dass ich beliebige (eigentlich nur WORD, DWORD, INT oder DINT) Werte annehmen können möchte, aber nicht vier einzelne IN-Parameter anbieten möchte. Eine Verwendung des Typs DWORD oder DINT als Eingangsparameter-Typ ist auch nicht machbar, da ich je nach Typ eine andere Teilfunktion ausführen muss. Über das Datentyp-Byte im ANY-Pointer kann ich ja herausbekommen, was es für ein Datentyp ist. Also "was" übergeben wird ist bekannt. Dennoch: WIE komme ich an die Daten dran?
Auch in AWL scheint der Zugriff auf die Daten auf die ein ANY-Pointer zeigt nicht allzu einfach. Um zielführende Tipps bin ich sehr dankbar, auch wenn es in SCL nicht gehen sollte, dafür aber in AWL!
Grüße
Max