В роутерах RTU предусмотрены 4 универсальных порта ввода-вывода GPIO (маркировка I1, I2, I3 и I4).
1. Подключение резистивных датчиков.
2. Управление нагрузкой. В данном режиме выводы I1 - I4 можно объединять для увеличения нагрузочной способности выхода.
3. Измерение напряжения (режим работы по умолчанию).
PULLUP - "Подтягивающий" резистор к питанию.
PULLDOWN - "Подтягивающий" резистор к заземлению.
ADC - АЦП.
1. Конфигурирование GPIO через WEB
Для настройки GPIO через Web-интерфейс, необходимо перейти во вкладку Службы ---> I/O Lines.
Далее можно выбрать необходимый режим:
АЦП - измерение напряжения.
Сухой контакт - при включении аналоговый вход роутера с помощью резистора подтягивается к напряжению 5В. Подтяжка необходима для правильного функционирования аналогового входа в режиме сухого контакта.
Открытый коллектор - устанавливается активный уровень на выходе "открытый коллектор".
Чтобы измененные через WEB-интерфейс настройки сохранились при следующем включении роутера, поставьте флажок в столбце "Сохранять настройки при загрузке".
2. Конфигурирование GPIO через консоль
Каждый GPIO имеет определенный индекс и направление по умолчанию в операционной системе. Приводим таблицу соответствий:
При управлении каждой линией I/O могут быть использованы два сигнала:
-
PULLDOWN — “нижний ключ”, притягивающий линии I/O к земле. Может принимать следующие состояния:
1 – PULLDOWN включен,
0 – PULLDOWN выключен. -
PULLUP # — “верхний ключ”, включает источник тока в линии I/O.
Обратите внимание: сигнал инвертирован, поэтому команды подаются следующим образом:
1 – PULLUP # выключен,
0 – PULLUP # включен.
Узнать состояние сигналов PULLUP и PULLDOWN на каждом входе можно с помощью команды:
cat /dev/pux/value
где x
— номер входа I/O.
Переключение линий I/O в режим "АЦП"
Чтобы переключить вход (например, вход IO1) в режим АЦП, подайте следующие команды:
echo high > /dev/pu1/direction
echo low > /dev/pd1/direction
Это настраивает порт на вход (отключает “верхний ключ”) и отключает “нижний ключ”.
Переключение линий I/O в режим "Сухой контакт"
Чтобы переключить вход (например, IO1) в режим "Сухой контакт", выполните:
echo low > /dev/pd1/direction
Затем можно управлять "верхним ключом":
echo low > /dev/pu1/direction
echo high > /dev/pu1/direction
Переключение линий I/O в режим "Открытый коллектор"
Чтобы переключить вход (например, IO1) в режим "Открытый коллектор", выполните:
echo high > /dev/pu1/direction
Затем можно управлять "нижним ключом":
echo high > /dev/pd1/direction
echo low > /dev/pd1/direction
Для остальных портов настройка режима работы осуществляется аналогично.
Считывание значений с линий I/O
Считать непреобразованные значения с каждого входа АЦП можно с помощью команды:
getinfo adcx
где x
— номер входа I/O.