1. Один мастер за один раз может опросить один модуль. Учитывая что в нём 44 модуля, в самом наидеальном случае (мгновенный ответ, минимальный цикл опроса ВСЕХ модулей будет 44 мс). В реале учитывая дискретность времени, даже минимальные задержки ответов в 1 мс - уже около 100 мс.
2. Непонятно для чего пишутся значения в выхода и они же считываются. Зачем? Узнать что запись не произошла можно по коду ошибки. А еще надёжнее поставить режим both, поставив период принудительной записи несколько секунд.
3. Все опросы по периоду вынести в отдельный мастер(ы)
4. Если ожидается одновременная смена значений у нескольких модулей и хочется быстроты реакции - разделить из по разным мастерам.