Есть ПЛК110[М02] и есть несколько модулей МУ210-403 все соединены одной выделенной сетью. Из МУ210-403 непрерывно считываются маски выходов, а регистры выходов пишутся по изменению при этом сделано это двумя разными модбас-девайсами в одном мастере в конфигурации, т.е. на каждый МУ210-403 добавлено устройство для считывания маски выходов, которое читает постоянно и одно устройство для записи маски выходов, которое пишет регистр по изменению. И происходит следующая ситуация.
Если МУ210-403 пропадает из сети, например, его чисто физически отключить, то через некоторое время начинают при чтении регистров маски выходов из этого модуля начинают появляться ошибки 85 и 89. Но оно и понятно прибора в сети нет. Если прибор в сеть подключить ошибки никуда не исчезают, а также появляются во время считывания этого же прибора и эти ошибки сохраняются до тех пор пока в программе контроллера не изменится битовая маска выходов модуля, которую нужно перезаписать в модуль. Как только новая маска записалась в модуль тут же связь с модулем на чтение нормализуется и ошибки пропадают.
На практике это выглядит так: Управлением МУ210-403 организовано мультимастерное, т.е. каждый из мастеров постоянно читает маски выходов и сохраняет их у себя, чтобы при следующей записи учесть изменившуюся маску выходов и не повыключать выходы, включенные с другого мастера, но когда связь пропадает, маска выходов остаётся с того момента, когда она в последний раз была считана, т.е. другой мастер уже навключал другие выходы, но плк об этом не знает и считать новую маску не может т.к. связи "нет" (ошибки 85 и 89), и поэтому он при изменении регистров выходов тупо перезаписывает в регистр новые значения без учёта тех, которые были записаны другим мастером.
Вопрос, что не так и как это устранить, чтобы при подключении модуля он сразу становился читабельным для плк? Пока мне видится решение при наличии ошибок тупо начинать писать данные в модуль и связь тут же появляется, но имхо это костыльно.