-> Hier kostenlos registrieren
Hallo,
ich bekomme über ein ARRAY[1..256] OF BYTE Daten von einer Übergeordneten Steuerung zugewiesen, welche ich Variablen in meiner Steuerung zuweisen möchte.
Dies mache ich wie folgt: Ich habe mir eine Kopierfunktion erstellt, welcher ich ein Datenpointer zu dem Element übergebe, bei dem der Kopiervorgang starten soll:
In der Kopierfunktion habe ich Einen Pointer für INT und einen für DINT Werte. diese möchte ich nun in die interne Struktur übergeben.
Bei dem Punkt, wo der DINTPointer übergeben wird, geht die Steuerung in Ausnahmezustand.
Ich habe die Adresse des DIntPointer einmal um 2 erhöht... also.... DIntPointer := Datenpointer + 6;
Dann kopiert er die Daten, aber warum ist das mit + 4 Falsch?
Kann mir da jemand helfen?
ich bekomme über ein ARRAY[1..256] OF BYTE Daten von einer Übergeordneten Steuerung zugewiesen, welche ich Variablen in meiner Steuerung zuweisen möchte.
Dies mache ich wie folgt: Ich habe mir eine Kopierfunktion erstellt, welcher ich ein Datenpointer zu dem Element übergebe, bei dem der Kopiervorgang starten soll:
Code:
// Betriebsart zuweisen
IntPointer := Datenpointer + 2;
Ansteuerung.Betriebsart := IntPointer^;
// Position zuweisen
DIntPointer := Datenpointer + 4;
Ansteuerung.Position := TO_REAL(DIntPointer^) * DezimalaufloesungPosition;
In der Kopierfunktion habe ich Einen Pointer für INT und einen für DINT Werte. diese möchte ich nun in die interne Struktur übergeben.
Bei dem Punkt, wo der DINTPointer übergeben wird, geht die Steuerung in Ausnahmezustand.
Ich habe die Adresse des DIntPointer einmal um 2 erhöht... also.... DIntPointer := Datenpointer + 6;
Dann kopiert er die Daten, aber warum ist das mit + 4 Falsch?
Kann mir da jemand helfen?