Добрый день, уважаемые знатоки!
Прошу помощи в, казалось бы, простейшем вопросе.
На рассыпухе реализовано, работает, но не устраивает количество пар (5 пар) задействованных в кабеле.
Суть задачи: Имею кучу датчиков с тремя состояниями (0 оба выхода, 1 на одном выходе или 1 на другом выходе). Нужно с 13 датчиков Слейва 1 и 6 датчиков Слейва 2 передать их состояние на Мастера.
Аппаратное обеспечение: 2шт Mega – Мастер и Слейв 1, 1шт Nano - Слейв 2.
Преобразователи TTL->RS-485.
Питание Мастера и Слейвов от разных источников.
Что не устраивает: Замедленная реакция сигнала на выходе Мастера на изменение состояния входа Слейва.
Что сделано:
1вариант: Состояние каждого датчика шифровал(0,1,2) – на переменную HoldingRegister.
В Мастере дешифровал, далее обработка, не относящаяся к сути вопроса (2-3 элемента базовой логики), и на выход.
2 вариант: Каждый выход датчика( вход слейва) передавал через Coil в Мастера.
3 вариант: Каждый выход датчика( вход слейва) передавал через DiscreteInput в Мастера.
Во 2 и 3 вариантах переменных было в 2 раза больше, и, кажется, реакция еще замедленнее – до 5 сек.
Скорость 19200, период синхронизации 125ms. Питание Мастера и Слейвов от разных источников.
Вопросы:
Я что, слишком много переменных передаю? Мне кажется – отнюдь.
Почему индикация Rx, Tx мигает с частотой 1 раз/сек?
Прошу помощи, хотя бы в виде указующего перста, куда бежать?
Спасибо