Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Übergabe und Erkennung beliebiger Strukturen

2008-03-20
2008-05-26
  • Patrick31781 - 2008-03-20

    Guten Tag zusammen, ich bin neu hier und hab ein ziemliches Problem.

    Ich muss beliebe Strukturen (es ist also nie bekannt was jetzt übergeben wird) an eine Testumgebung weitergeben. Dabei soll es egal sein ob da einfach eine Bool ankommt oder ein Struct mit verschiedenen Elementen. Ich muss dabei den Zugriff auf die Einzelelemente haben um nachher mit Sollwerten vergleichen zu können.

    Es soll wohl irgentwie mit Pointern gehn aber wie? Das Programm muss ja die Grössen der ankommenden Strukturen oder Variablen errechnen um den nächsten Pointer auch an die richtige Stelle zu setzen. Kann mir da jemand helfen? Gibts sowas wie nen Anypointer, der gekoppelt mit der Sizeof ne Möglichkeit schafft?

     
  • Thomas Fränz - 2008-05-26

    In Codesys gibt es meines Wissens keinen Anypointer. Wohl ist es möglich eine Art Type Cast zu machen indem man z.B. einen Pointer auf Byte innerhalb einer Funktion einem Pointer auf String zuweist.

    Dazu muss der Datentyp aber bekannt sein und eine Sizeof kann nur

    bei vorher deklarierten Variablen bestimmt werden.

    Wir arbeiten in solchen Fällen immer mit Array OF Byte. Und setzen

    dann Member für Member in den Zieltyp um.

    Es ist in CoDesys 2.3 leider nicht möglich Funktionen mit "VOID" Pointern

    zu verwenden wie in der Sprache C.

    Was ist das für eine "Testumgebung" ? Wie wird weitergegeben ?

     

Log in to post a comment.