hallo
ich bin das ganze mal ganz schnell durchgegangen, und auf den ersten blick "dürfte" es relativ leicht gehen
1. das einfachste ist wenn du denn baustein MB_SERVER kopierst und die angepasste version als MB_SERVER_x verwendest
FUNCTION_BLOCK MB_SERVER_x
VAR_IN_OUT
IP_C : IP_C;
S_BUF : NETWORK_BUFFER_SHORT;
R_BUF : NETWORK_BUFFER_SHORT;
VMAP : ARRAY [1..10] OF VMAP_DATA;
DATA : ARRAY [0..19999] OF WORD;
END_VAR
VAR_INPUT
DATA_SIZE : INT;
ENABLE : BOOL;
und beim baustein gehört natürlich auch beim parameter "DATA_SIZE" dann 19999 angegeben
###################################
der mb_server kann mit virtuellen adressbereichen arbeiten und dazu wird der baustein MB_VMAP verwendet
wenn man keine eigene VMAP's verwendet wird automatisch eine default-VMAP erzeugt
dazu ist auch dort eine kleine anpassung zu machen
das ist aber eine anpassung die ich sowieso in den standard übernehmen werde, da es eigentlich so nicht "gut" war
FUNCTION_BLOCK MB_VMAP
IF init = FALSE THEN
init := TRUE;
IF VMAP[1].FC = DWORD#0 THEN
VMAP[1].FC := DWORD#16#FFFF_FFFF;
VMAP[1].V_ADR := 0;
VMAP[1].V_SIZE := SIZE;
VMAP[1].P_ADR := 0;
END_IF;
END_IF;
das sollte theoretisch alles gewesen sein, probiere es mal aus, vielleicht hast du glück ....
ansonsten müsstest du etwas warten bis ich mehr zeit habe.... um es selber zu testen
gruss peewit