Регистр ПЧ, например 45057, именно так и передается в обмене данными через функцию 3 (мастер - СКАДА) без ошибки. Если 5056 (45057 - 40001), ПЧ возвращает ошибку "неправильный адрес". В случае СПК207 и ФБ MB_RD_HOLD_REGS при адресе 5056 ФБ производит физический обмен, о чем свидетельствует флаг COMPLETE=TRUE и возвращает ошибку (Exception) = 253, т.е. тот же "неправильный адрес" (это ошибка от slave). При адресе 45057 ФБ флаг COMPLETE не выставляет, а Exception = 251 "неправильный начальный адрес" (это ошибка от ФБ без обращения к slave). С "малыми" адресами (13, 14 и т.д.) под функ. 3 как СКАДА, так и СПК (MB_RD_HOLD_REGS) работают без ошибок. ПЧ (slave) не делает никаких смещений и для абсолютной адресации под функ.3 предлагает регистры как X-XX, так и 4XXXX и 3XXXX (о чем писал ранее). Возможно, что ФБ сам преобразует адреса на основе т.н. соглашения Modbus: 40001 - для Holding (3) ( MB_RD_INP_REGS - 30001 (4)).
В ПЧ (Instart) все свободно: регистры 3XXXX тоже читаются функцией 3 (функция 4 ПЧ не поддерживается), хотя префикс 3 по соглашению должен указывать на адресное пространство регистров типа Input.