Приветствую всех!
Снова появилась пара вопросов. На этот раз они касаются связи 2-х и более контроллеров по сети Ethernet, а также чтения дискретных входов на модуле МДВВ.
1. Есть 2 контроллера ПЛК-150. Контроллеры соединены через свитч. Контроллер №1 имеет адрес 10.0.0.10, контроллер №2 - адрес 10.0.6.12. Также с свитчу подключается ноутбук с CoDeSys.
К контроллеру №1 по интерфейсу RS-485 с использованием протокола Modbus подключены несколько устройств, работой которых он, собственно, и управляет.
Контроллер №2 должен считывать некоторые данные с контроллера №1 (для выполнения последующих операций), а также передавать некоторые значения контроллеру №1. Наиболее удачный вариант для этого, по моему мнению - это использование сетевых переменных. Т.е. часть переменных изменяет первый контроллер, а читае их второй. Другую часть изменяет второй контроллер, а читает первый.
Данные решили передавать по протоколу Modbus. Вроде бы всё верно настраивал, по документации. Список сетевых переменных одинаковый. Но ситуация получается такая.Если в онлайне смотреть переменные первого контроллера, пронициализированы должным образом только его переменные. У второго контроллера ситуация аналогичная. А по идее в списке любого контроллера должно быть, так сказать, объединение проинициализированных переменных обоих контроллеров.
Может быть нет связи между контроллерами? как ее проверить?
Контроллер №2 является Modbus Master, режим работы - TCP. У него создан Universal Modbus device, у которого указан IP-адрес контроллера №1. У контроллера №1 создан Modbus Slave c режимом работы по TCP.

2. К контроллера подключен модуль МДВВ по RS-485 Modbus. В конфигураторе ПЛК добавлен модуль OWEN_MDVV. Связь устанавливается. Возник вопрос по считыванию значений на входах модуля. Понятно, что он хранится в регистре Bit Mask for input.Если текущее значение этого регистра перевести в двоичку, то получим статус входов (с 12 до 1). А есть ли какой-нибудь реализованный смеханизм, чтобы без лишних вычислений узнать, скажем, состояние входа №4?