Hat super geklappt:
FUNCTION_BLOCK FB35
TITLE = 'Test'
VERSION : '1.0'
AUTHOR : Ich
NAME : Startadr
FAMILY : Basic
VAR_INPUT
IO_address : INT;
END_VAR
VAR_OUTPUT
BYTEnummer : INT;
DBnummer : INT;
END_VAR
VAR_TEMP
// temporäre Variablen
tToast : ANY;
_Toast AT tToast : STRUCT
Kennung : BYTE;
Typ : BYTE;
Laenge : WORD;
DbNr : WORD;
Adresse : DWORD;
END_STRUCT;
END_VAR
VAR
// Variablen
END_VAR
(**********************************************************************************************************
Das Programm soll die Startadresse des Aufrufes ausgeben
Basiert auf den Tipp von dalbi
**********************************************************************************************************)
tToast := IO_address;
BYTEnummer := DINT_TO_INT(DWORD_TO_DINT( SHR(IN := SHL(IN := _Toast.Adresse, N:= 13), N:= 16))); // Ausschälen des Startbyte in Integer
DBnummer := WORD_TO_INT(_Toast.DbNr); // DB in Integer
END_FUNCTION_BLOCK