[TwinCat3] Array nicht ganz befüllt, was steht in den leeren Zellen?

naheliegend

Level-1
Beiträge
87
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

ich detektiere einige Werte online. Dabei schreibe ich jede Millisekunde einen Array mit Werten voll. Die Anzahl der Werte unterscheidet sich immer.

Jetzt bin ich aber gezwungen die Größe des Arrays vorab zu deklarieren. Was steht in den leeren Zellen des Arrays?

Auch: ist es möglich einen Array mit dynamischer Größe zu erstellen, der jede Millisekunde vor dem befüllen genau auf die Größe der zu befüllenden Menge angepasst wird?

Gruß
 
Arrays mit dynamischer Größe geht nur bei IN_OUT Variablen, siehe hier den Beitrag im Infosys.
Was in den "leeren" Zellen steht hängt davon ab, wie Du das Array befüllst. Kopierst Du mit MEMCPY "nur" die Menge an Daten in das Array die Du tatsächlich empfangen hast stehen in den "leeren" Zellen, wenn irgendwann vorher größere Datenmengen empfangen wurden als jetzt, davon die "Reste" drin. Kopierst Du mit MEMCPY den kompletten Empfangspuffer in Dein Array, hängt es vom Verhalten des Empfangs-FB ab was in den "leeren" Zellen stehen wird.
Du kannst mit MEMSET aber das Array vor jedem Kopieren löschen, z.B. so:
Code:
MEMSET(ADR(ARRAYVAR), 0, SIZEOF(ARRAYVAR))
 
Zurück
Oben