-> Hier kostenlos registrieren
Hallo,
ich bin grade dabei einen FIFO Speicher zu Programmieren. Leider haben mir die Foreneinträge die ich hier gefunden habe nicht wirklich weiter geholfen.
Das ganze soll erstmal nur im Simulations Modus laufen, also Hardware ist vorerst Wurst. Ich möchte das ganze gerne folgendermaßen realisieren.
Ein ARRAY mit 20 Zellen vom Typ INT. Zwei Pointer, der eine zeigt auf den Aktuellen Wert (Startwert), der andere zeigt auf das Ende der Liste, bzw. auf die nächste auszulesende Zelle des Arrays. Den Startpointer möchte ich als Index für das Array benutzen, also z.B. ARRAY[START] soll auf Zelle 1,2,3,4,5... zeigen, je nach dem wo der nächste Wert zu schreiben ist.
Nach auslesen des ersten Wertes soll der Pointer der auf das Ende der Liste zeigt inkrementiert werden und so auf den nächsten Eintrag im ARRAY zeigen.
Ich habe vorallem meine Verständisprobleme mit den Pointern in CoDeSys, wenn ich jetzt einen pointer definiere.
pt
OINTER TO ARRAY[1..20] OF INT, klappt das dann, dass ich den inkrementieren kann und er dann auf die nächste Zelle im Array zeigt?
Und wie kann ich mir dann den Wert auf den der Pointer zeigt anzeigen lassen?
Mein nächstes Problem ist, dass ich das ganze gern in zwei Funktionen haben würde: eine zum Abspeichern der Daten und die andere zum Auslesen.
Wie stelle ich sowas am geschicktesten an?
An sich bräuchte ich mal irgend eine richtig vernünftige Erklärung, am besten mit einfachen Beispielen, zum Thema Pointer in CoDeSys. Evtl. hat ja jemand einen Link oder so?
Die SuFu habe ich schon bemüht, aber leider hauptsächlich auf STEP 7 Sachen gestossen.
PS: gibts evtl noch ne einfacherer lösung die dem nahe kommt unter codesys?! Ohne pointer mit anderen geschichten?
ich bin grade dabei einen FIFO Speicher zu Programmieren. Leider haben mir die Foreneinträge die ich hier gefunden habe nicht wirklich weiter geholfen.
Das ganze soll erstmal nur im Simulations Modus laufen, also Hardware ist vorerst Wurst. Ich möchte das ganze gerne folgendermaßen realisieren.
Ein ARRAY mit 20 Zellen vom Typ INT. Zwei Pointer, der eine zeigt auf den Aktuellen Wert (Startwert), der andere zeigt auf das Ende der Liste, bzw. auf die nächste auszulesende Zelle des Arrays. Den Startpointer möchte ich als Index für das Array benutzen, also z.B. ARRAY[START] soll auf Zelle 1,2,3,4,5... zeigen, je nach dem wo der nächste Wert zu schreiben ist.
Nach auslesen des ersten Wertes soll der Pointer der auf das Ende der Liste zeigt inkrementiert werden und so auf den nächsten Eintrag im ARRAY zeigen.
Ich habe vorallem meine Verständisprobleme mit den Pointern in CoDeSys, wenn ich jetzt einen pointer definiere.
pt

Und wie kann ich mir dann den Wert auf den der Pointer zeigt anzeigen lassen?
Mein nächstes Problem ist, dass ich das ganze gern in zwei Funktionen haben würde: eine zum Abspeichern der Daten und die andere zum Auslesen.
Wie stelle ich sowas am geschicktesten an?
An sich bräuchte ich mal irgend eine richtig vernünftige Erklärung, am besten mit einfachen Beispielen, zum Thema Pointer in CoDeSys. Evtl. hat ja jemand einen Link oder so?
Die SuFu habe ich schon bemüht, aber leider hauptsächlich auf STEP 7 Sachen gestossen.
PS: gibts evtl noch ne einfacherer lösung die dem nahe kommt unter codesys?! Ohne pointer mit anderen geschichten?
Zuletzt bearbeitet: