Ahhh, Du hast wohl SendPointer "AT" TempPointerSend deklariert - das hast Du uns hier nicht verraten. So wird also die Adresse in TempPointerSend um 2 Byte höher gesetzt. Wie sieht eigentlich die Deklaration Deines Bausteins und der relevanten Variablen aus? Ist der Baustein ein FB oder ein FC?
Code:
VAR_TEMP
TempPointerSend : ANY;
SendPointer AT TempPointerSend : STRUCT
...
immer unter der Berücksichtigung meines Vorschlages von eben und das die neue Struktur dann "AT_Sende_String" heißt ...
Dadurch kannst du dir dann die folgenden 3 Zeilen sparen (die irgendwann ganz sicher zu Verwirrung führen).
Wenn Du einen ANY zusammenbastelst, dann mußt Du den ANY auch komplett zusammenbasteln - in Deinem Code fehlt die Initialisierung des "Anypointer.BYTE0" mit der ANY-Syntax-ID 16#10.
rausgeschmissen und es funktioniert immer noch. Wenn ich den DB online öffne steht unter TSEND.DATA auch der korrekte Pointer auf den SENDESTRING um genau 2 Byte verschoben.
@Azrael:
Ich wollte dich nicht nerven mit meinem Beitrag - nur helfen.
Übertrag doch mal den I_DB deines FB neu auf die CPU ... funktioniert es dann immer noch ...?
@Azrael:
Ich wollte dich nicht nerven mit meinem Beitrag - nur helfen.
Übertrag doch mal den I_DB deines FB neu auf die CPU ... funktioniert es dann immer noch ...?
Keine Sorge, ihr nervt nicht. Ich bin für jede konstruktive Kritik dankbar. Nur so kann man neues lernen.
Also den I_DB kann ich durchaus neu auf die CPU laden, ich kann die CPU auch urlöschen oder den DB neu initialisieren. Funktioniert alles einwandfrei.
PS: der SENDESTRING liegt bei DBX140
@PN/DP ich hab das mit dem Byte0 jetzt auch mit eingefügt.