und was fehlt dir dann noch?
Beispiel:
Code:
V1_M_r0035_35:
STRUCT
SYNTAX_ID : BYTE := B#16#82;
bereich_u_einheit : BYTE := B#16#A1;
spalte : WORD := W#16#23;
zeile : WORD := W#16#1;
bausteintyp : BYTE := B#16#1A;
ZEILENANZAHL : BYTE := B#16#1;
typ : BYTE := B#16#8;
laenge : BYTE := B#16#4;
END_STRUCT ;
Für AGLink muss man bereich_u_einheit in Breich und Einheit zerlegen
aus bereich_u_einheit = 0xA1 =>0b10100001
Bitmaske: aaauuuuu
a = bit [5-7] Area ==> 0b101 => 5
aus der Datei AGL_Defines.h im enum NCK_Area ergibt AGLink.Area = eNCK_AreaFeedDrive
u = bit [0-4] Unit ==> 0b00001 => 1
ergibt die AGLink.Unit = 1
Spalte = 0x23 => AGLink.Column: 35
Zeile = 1 => AGLink.Row = 1
bausteintyp => 0x1A
aus der Datei AGL_Defines.h im enum NCK_Block ergibt AGLink.Block = eNCK_BlockM
typ == 0x8 => eNCK_MDB_Float32
damit kannst du jetzt mit API-Guide die Variable lesen
aber man sollte vielleicht noch einen AWL, NCVAr-DB oder var-Quellen-Parser anbieten...