Sollen das Kopien werden? Oder willst Du einfach direkt auf die gleichen Werte zugreifen?
Leider hast Du die Aufteilung etwas "ungeschickt" gewählt. Bei Deinem zweidimensionalen Array wäre es leichter das eine in drei zu zerteilen wenn die von Dir Spalten genannte Dimension auch die erste und nicht die zweite wäre.
Erstmal braucht man einen Datentyp der, der Größe und der Datenverteilung entspricht (ich weiß gerade nicht wie ich das besser beschreiben soll):
TYPESplitArray:STRUCTÂ Part_1Â Â :ARRAY[1..3,1..10]OFINT;Â Part_2Â Â :ARRAY[1..3,1..10]OFINT;Â Part_3Â Â :ARRAY[1..3,1..10]OFINT;END_STRUCTEND_TYPE
So nun zur Variante 1. Kopie:
VAR Testarray :ARRAY[1..9,1..10]OFINT; Split   :SplitArray; pTestarray:POINTERTOARRAY[1..9,1..10]OFINT; pTestSplit:POINTERTOARRAY[1..9,1..10]OFINT; pSplit   :POINTERTOSplitArray;END_VAR
Student hat geschrieben:
Leider habe ich von AWL und strukturiertem Text keine grosse Ahnung.
Besser gesagt ich habe gar keine Erfahrung darauf.
Könnte mir jemand in FUP oder AS weiterhelfen?
Gruss
**Dann lern es! **
Und beantworte meine Frage!
foenig hat geschrieben:
1. Sollen das Kopien werden? Oder willst Du einfach direkt auf die gleichen Werte zugreifen?
Ich bin mir sicher, dass Dir meine Antwort auch nicht weiter hilft aber ich versuche es zumindest (bitte versuch Du auch was zu lernen und lass Dir nicht alles vorkauen).
Im Anhang ist ein Bild das ich mit CoDeSys gemalt habe. Wie von Dir gewünscht in FUP (ich wäre geneigt eine Wette einzugehen, dass Du bei der Aufgabe in FUP keinen Deut mehr verstehst als in ST).
PS: Variablen-Deklaration und Datentyp wie in dem ersten Beispiel in meinem Post oben.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
also ich habe mal versucht die Anweisungen zu befolgen. Was ich begriffen habe ist, dass ich meinem Testarray einen Pointer zuweisen kann. Danach kann ich dem Pointer ein neues Array zuweisen kann. Was nicht hin haut ist, dass ich ein grosses Array einem kleineren Array zuweisen kann.
Immer wenn ich dies versuche heisst es dass ein Array mit der Splatengrösse 10 nicht einem Array der Spaltengrösse 5 zuweisen kann.
Könntes du mir vielleicht nochmal weiter helfen?
Vielen Dank
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo
Ich suche eine guten Weg um ein Array mit neune Spalten in drei Arrays mit je 3 Spalten aufzuteilen.
Momentan muss ich noch jede Spalte einzeln auslesen und einem neuen Array zuschreiben. Geht dies auch anders?
Im Anhang habe ich einen Printscreen von meinen Programm.
Gruss
MOTORENSTEUERUNG.pdf [26.77 KiB]
Sollen das Kopien werden? Oder willst Du einfach direkt auf die gleichen Werte zugreifen?
Leider hast Du die Aufteilung etwas "ungeschickt" gewählt. Bei Deinem zweidimensionalen Array wäre es leichter das eine in drei zu zerteilen wenn die von Dir Spalten genannte Dimension auch die erste und nicht die zweite wäre.
Erstmal braucht man einen Datentyp der, der Größe und der Datenverteilung entspricht (ich weiß gerade nicht wie ich das besser beschreiben soll):
So nun zur Variante 1. Kopie:
Variante 2. direkter Zugriff auf den Bereich:
Leider habe ich von AWL und strukturiertem Text keine grosse Ahnung.
Besser gesagt ich habe gar keine Erfahrung darauf.
Könnte mir jemand in FUP oder AS weiterhelfen?
Gruss
**Dann lern es! **
Und beantworte meine Frage!
Ich bin mir sicher, dass Dir meine Antwort auch nicht weiter hilft aber ich versuche es zumindest (bitte versuch Du auch was zu lernen und lass Dir nicht alles vorkauen).
Im Anhang ist ein Bild das ich mit CoDeSys gemalt habe. Wie von Dir gewünscht in FUP (ich wäre geneigt eine Wette einzugehen, dass Du bei der Aufgabe in FUP keinen Deut mehr verstehst als in ST).
PS: Variablen-Deklaration und Datentyp wie in dem ersten Beispiel in meinem Post oben.
Es soll kopiert werden
Dann passt ja das Beispiel aus dem letzten Post.
also ich habe mal versucht die Anweisungen zu befolgen. Was ich begriffen habe ist, dass ich meinem Testarray einen Pointer zuweisen kann. Danach kann ich dem Pointer ein neues Array zuweisen kann. Was nicht hin haut ist, dass ich ein grosses Array einem kleineren Array zuweisen kann.
Immer wenn ich dies versuche heisst es dass ein Array mit der Splatengrösse 10 nicht einem Array der Spaltengrösse 5 zuweisen kann.
Könntes du mir vielleicht nochmal weiter helfen?
Vielen Dank
Hallo nochmals ich
Also jetzt funktioniert alles. Habe meinen zweiten Pointer nicht mer neu Adressiert. Aber jetzt läufts rund.
Vielen Dank für die Hilfe.
Gruss und Dank