Per gestire variabili BOOL con protocollo Modbus si utilizza il comando 0x, con il protocollo ELSIST utilizzi comando %MX. Per accedere ad una variabile allocata nella DB100.16, andrà definito indirizzo 40016.
Per tutti gli altri tipi di variabili con protocollo Modbus si utilizza il comando 3x, con il protocollo ELSIST utilizzi comando %MW. Per accedere ad una variabile allocata nella DB100.16, andrà definito indirizzo 40008 gli indirizzi di allocazione delle variabili WORD devono essere divisi per 2 e poi sommati a 40000.
Quindi credo sia questo il tuo problema, quando mi dici che vuoi indirizzare la variabile allocata a DB100.2048 devi usare l’indirizzo 41024. Ti consiglio la lettura di questo topic che ha anche dei programmi di esempio.