FUNCTION FC71:void
VAR_IN_OUT
LOG_ENTRY : ANY;
ASCII_DATA : ANY;
END_VAR
VAR_TEMP
t_adata : ANY;
t_pdata AT t_adata: STRUCT
type1: BYTE; //0x10
type2: BYTE; //0s00..0x1D: NIL, BOOL, .. TIMER
count: INT; //number of elements
dbno: WORD; //DB number
MemoryArea : BYTE; // Specified memory area = 0x84 = data block
ByteAddressMSB : BYTE; // Byte address most significant bits
ByteAddressLSB : WORD; // Byte address least significant bits
END_STRUCT;
t_aascii : ANY;
t_pascii AT t_aascii: STRUCT
type1: BYTE; //0x10
type2: BYTE; //0s00..0x1D: NIL, BOOL, .. TIMER
count: INT; //number of elements
dbno: WORD; //DB number
MemoryArea : BYTE; // Specified memory area = 0x84 = data block
ByteAddressMSB : BYTE; // Byte address most significant bits
ByteAddressLSB : WORD; // Byte address least significant bits
END_STRUCT;
t_pLDascii AT t_aascii: STRUCT
type1: BYTE; //0x10
type2: BYTE; //0s00..0x1D: NIL, BOOL, .. TIMER
count: INT; //number of elements
dbno: WORD; //DB number
dwAreaPointer : DWORD; // Specified memory area = 0x84 = data block
END_STRUCT;
t_ientry_LEN : INT;
t_ientry_type : INT;
t_idx : INT;
t_idatabyte : INT;
t_iasciibyte : INT;
t_sascii: STRUCT
t_Padding:INT;
t_iasciifirstbyte:INT;
END_STRUCT;
t_dwasciiAddress AT t_sascii: DWORD;
t_idatafirstbyte : INT;
t_idatalastbyte : INT;
t_iasciilastbyte : INT;
t_bdata : BYTE;
t_bchar : BYTE;
t_itmp : INT;
t_ivalue : INT;
END_VAR
BEGIN
t_adata := LOG_ENTRY;
t_aascii := ASCII_DATA;
t_dwasciiAddress:=
SHR(IN:=(t_pLDascii.dwAreaPointer AND dw#16#007ffff),
N:=3);
//Test assignment for byte address
t_itmp:= t_sascii.t_iasciifirstbyte;
end_function