Блин! Ну-ка поясните мне, а как в DO слать битовую маску тогда, если я не знаю, что у меня в ней в какие моменты изменится?
Ща-ка поднабросим-ка... на вентилятор.

Вот у меня есть модуль DO. На 32 канала. Например, из него:
* Часть каналов - это приводы кранов отопления
* Часть каналов - это лампы
* Часть - шторы
* Часть - вентиляторы

Всё это обсчитывается и управляется в разных местах проекта (и даже разных задачах) в разных булевых переменных.
Вы тут с Валенком напираете на запись IO по изменению. Ну и как я буду отлавливать в задачах изменение отдельных бит битовой маски и потом её писать один раз-то?
Или вы что? Не используете безопасные значения на модулях, что ли? У меня на модулях стоит настройка безопасных значений: если его не опрашивать, то через 5 секунд модуль переходит в безопасное состояние (аварийное).
Как тогда у вас, троллей чёртовых, вообще промка работает?

И последний забавный вопрос. Почему у меня ПЛК110 c теми же чтениями-записями ЛЕТАЕТ? И при этом не жалуется на какие-то там 20 миллисекунд задержек.