Доброго времени суток, уважаемые разработчики!

Помогите, пожалуйста, разобраться с работой вышеуказанных вещей.
Как мне кажется, есть проблема в совместном использовании прерывания таймера и Modbus RTU Master`a.

А именно:
За фиксированный период цикла ПЛК, я вижу, что Modbus отсылает данные на модуль аналогового вывода с разным интервалом.

Вижу я это, формируя пилу, смотрю её форму осциллографом - какие по оси Х и Y идут ступеньки.
Ступеньки неровные по обеим осям, т.е. получается, что данные не доходят до аналогового модуля за время каждого цикла ПЛК, а идут с пропуском. Т.е, видимо, на следующем цикле пила получает приращение и ступенька на осциллографе получается выше более чем на 1 дискрету приращения или длительность предыдущей ступеньки пилы длится более времени 1 цикла.

Приращение пилы задаётся в теле обработчика прерывания, который вызывается с темпом в 100 мкс.
При времени цикла в 4 мс, я рассчитываю получать приращение в 40 дискрет и всегда.

Если я правильно понимаю работу циклов ПЛК, то я ожидаю от Modbus`a, что он мне будет выдавать данные на аналоговый модуль всегда строго в одно и тоже время. Тогда я должен видеть пилу со всегда равными по форме ступеньками. По факту - это не так.

У Modbus`a я смотрю exception - он иногда показывает 255 - таймаут.
Без прерываний такого нет.

Отсюда у меня вопросы к вам:
1. Верно ли утверждение, что по время Modbus`a, в какой-то его фазе, прерывание таймера нарушает работу Modbus`a и пакет данных передаётся либо будучи невалидным или связь просто обрывается(о чем и, возможно, говорит exception)?

2. Можно ли как-то синхронизировать работу прерывания таймера и Modbus?

3. Как точно узнать, что были приняты не те данные по Modbus`у аналоговым модулем? Не нашёл исключения связанного с некорректной контрольной суммой? Понимаю, что может быть причиной задержек во времени, т.к. нужны повторные посылки данных, а данные уже приросли из-за прерывания и следующая их отправка будет уже в следующем цикле ПЛК.

В реальном проекте прерывания нужны для счёта быстрых входов - там энкодеры.

Спасибо!