Виртуальные пины

прочитано 346 раз
17.09.2017 19:13

Что такое виртуальные пины?

Виртуальные пины - это внутреннее состояние каналов, не привязанных к физическим выводам контроллера. Не секрет, что количества физических выводов контроллера - не всегда хватает, именно поэтому в прошивку было введено понятие "виртуальный пин": все номера пинов, начиная с 80 (это число настраивается в прошивке) и до 127 включительно, считаются виртуальными, и при записи состояния в такой пин (высокий или низкий уровень) смены физического состояния контроллера не происходит. Проще говоря - контроллер просто хранит информацию о том, что на каком-либо виртуальном пине присутствует "высокий" или "низкий" уровень.

Как использовать виртуальные пины для расширения функционала?

Как правило, вы можете использовать такие пины в правилах (извините за тавтологию): по каким-то условиям устанавливать состояние такого пина на требуемое. В другом правиле - можно анализировать состояние такого пина, и предпринимать какие-либо действия, например, включать полив. Однако, тут стоит отметить, что, поскольку состояние виртуального пина не отражается на физических портах контроллера, смена состояний такого пина ни к каким физическим эффектам не приводит. О том, как получить нужный физический эффект - ниже.

Используем универсальные исполнительные модули.

Для того, чтобы отразить состояние виртуального пина на физические порты контроллера - следует использовать универсальный исполнительный модуль (МК, прошитый соответствующей прошивкой), который содержит 8 слотов привязок, каждый из слотов при этом может быть привязан к состоянию какого-либо пина на центральном контроллере. Следовательно, привязав определённый слот исполнительного модуля к виртуальному пину, мы получим отражение состояние такого пина на физический порт универсального исполнительного модуля. То есть налицо интересная и крайне полезная ситуация: состояние физических портов центрального контроллера не меняется (т.е. мы не занимаем физические пины), а универсальный исполнительный модуль, привязанный к виртуальному пину - работает так, как если бы он копировал состояние физического пина центрального контроллера. В результате - можно в разумных пределах (в диапазоне от 80 до 127,  т.е. 48 виртуальных пинов) управлять состоянием универсальных модулей, не занимая физические пины на центральном контроллере.

Согласитесь - удобно, не правда ли? Особенно учитывая тот факт, что универсальных исполнительных модулей в системе может быть зарегистрировано неограниченное количество, таким образом, можно практически бесконечно расширять функционал: например, при добавлении новой фрамуги не надо перенастраивать прошивку - достаточно зарегистрировать на центральном контроллере универсальный исполнительный модуль, привязав его слоты к каналам требуемой фрамуги - и вы получите зеркалирование состояния уже существующей и работающей фрамуги на новом исполнительном модуле. Конечно, в таком разрезе происходит простое зеркалирование, а не добавление числа фрамуг, однако, в подавляющем большинстве случаев этого более чем достаточно, т.к. прошивка и так поддерживает раздельное управление по каналам до 16 фрамуг. Но, в любом случае - возможность расширения функционала - у вас есть wink