-> Hier kostenlos registrieren
Hallo zusammen,
ich bin zur Zeit am Programmieren einer SPS mit TwinCAT in Strukturierter Text. Dabei bin ich auf ein Problem gestoßen:
Ich übergebe einem Funtionsblock eine Struktur die folgendermaßen aussieht:
Also ein Pointer auf ein Array vom Typ LREAL und die Größe des Array.
Nun möchte ich innerhalb des FB auf die einzelnen Elemente des durch den Poniter übergebenen Array's zugreifen.
Leider hab ich noch keine Möglichkeit den Pointer auf das Array korrekt zu dereferenzieren...
Ich habe schon folgendes probiert:
wobei i die Laufvariable von einer FOR-Schleife ist.
Leider kommt immer der Fehler: 4110: '[<index>]' ist nur für Arrayvariablen zulässig
In der Hilfe von TwinCAT oder Codesys bin ich leider nicht fündig geworden und auch das Internet
hat nicht weiterhelfen können...
Ich hoffe ihr könnt mir einen Hinweis geben.
Danke.
ich bin zur Zeit am Programmieren einer SPS mit TwinCAT in Strukturierter Text. Dabei bin ich auf ein Problem gestoßen:
Ich übergebe einem Funtionsblock eine Struktur die folgendermaßen aussieht:
Code:
TYPE user_struct :
STRUCT
pWorkArray_ADR : POINTER TO LREAL := 0;
nWorkArray_SIZEOF : UINT := 0;
END_STRUCT
END_TYPE
Also ein Pointer auf ein Array vom Typ LREAL und die Größe des Array.
Nun möchte ich innerhalb des FB auf die einzelnen Elemente des durch den Poniter übergebenen Array's zugreifen.
Leider hab ich noch keine Möglichkeit den Pointer auf das Array korrekt zu dereferenzieren...
Ich habe schon folgendes probiert:
Code:
user_struct_var.pWorkArray_ADR^[i];
(user_struct_var.pWorkArray_ADR)^[i];
(user_struct_var.pWorkArray_ADR^)[i];
user_struct_var.pWorkArray_ADR[i]^;
user_struct_var.pWorkArray_ADR[i];
wobei i die Laufvariable von einer FOR-Schleife ist.
Leider kommt immer der Fehler: 4110: '[<index>]' ist nur für Arrayvariablen zulässig
In der Hilfe von TwinCAT oder Codesys bin ich leider nicht fündig geworden und auch das Internet
hat nicht weiterhelfen können...
Ich hoffe ihr könnt mir einen Hinweis geben.
Danke.