fk- princess
Level-1
- Beiträge
- 112
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
hallo...
ich möchte zur datensicherung ein array mit den entsprechenden daten befüllen. die daten setzen sich in form eines struct´s aus mehreren teildaten zusammen.
auf grund des mir nur begrenzt zur verfügung stehenden speichers möchte ich diese structe direkt in den datenbaustein schreiben, wo das "array of struct" angelegt ist.
ich bekomme jedoch eine fehlermeldung: " eine implizite Konvertierunf von Datentyp "Struct" nach "Struct" ist nicht möglich".
habe in der suche nachgelesen, aber einen ähnlichen fall nicht finden können.
programmiert wird mit TIA V11 und auf einer 1200er SPS in SCL
edit: das Array of struct im datenbaustein konnte ich nur als einfaches array anlegen: Messung: Array[1..1500] of struct; der innere Aufbau des structes fehlt da ja. das könnte evtl der fehler sein, aber ich weiss nicht recht, wie ich da rangehen soll
hier noch zur näheren erläuterung der Programmcode
ich möchte zur datensicherung ein array mit den entsprechenden daten befüllen. die daten setzen sich in form eines struct´s aus mehreren teildaten zusammen.
auf grund des mir nur begrenzt zur verfügung stehenden speichers möchte ich diese structe direkt in den datenbaustein schreiben, wo das "array of struct" angelegt ist.
ich bekomme jedoch eine fehlermeldung: " eine implizite Konvertierunf von Datentyp "Struct" nach "Struct" ist nicht möglich".
habe in der suche nachgelesen, aber einen ähnlichen fall nicht finden können.
programmiert wird mit TIA V11 und auf einer 1200er SPS in SCL
edit: das Array of struct im datenbaustein konnte ich nur als einfaches array anlegen: Messung: Array[1..1500] of struct; der innere Aufbau des structes fehlt da ja. das könnte evtl der fehler sein, aber ich weiss nicht recht, wie ich da rangehen soll
hier noch zur näheren erläuterung der Programmcode
Code:
// Zaehler Rücksetzen, bei Start einer neuen Pruefung
IF #Pruef_Start = True
THEN
#Zaehl_Sp := 1;
END_IF;
//-------------------------------------------------------------------------------
// Beginn der Wertspeicherung in das "Array of Struct" im Datenbaustein Messwerte
//-------------------------------------------------------------------------------
IF #Pruef_Ein = TRUE AND #Empf_Trig = TRUE
THEN
IF #Zaehl_Sp <= 1500
THEN
#Einz_Mess.Zeit := #Zeit;
#Einz_Mess.Druck := #Druck;
#Einz_Mess.Durchm := #Durchm;
"Messwerte".Messung[#Zaehl_Sp] := #Einz_Mess;
#Zaehl_Sp := #Zaehl_Sp + 1;
END_IF;
END_IF;
Zuletzt bearbeitet: