Модуль: | BCM2835 |
Имя: | BCM 2835 |
Тип: | DAQ |
Источник: | daq_BCM2835.so |
Версия: | 1.2 |
Автор: | Роман Савоченко |
Описание: | Broadcom BCM 2835 GPIO. В основном для и используется в Raspberry Pi. |
Лицензия: | GPL |
Модуль предоставляет в систему OpenSCADA поддержку источников данных Входов/Выходов Общего Назначения (GPIO) платы Raspberry PI, основанной на чипе BCM2835. BCM2835 GPIO на Raspberry Pi насчитывает до 32 штырей некоторый из которых могут осуществлять альтернативные функции вроде: I2C, UART, SPIO. Для доступа к этому GPIO в общих функциях использовано библиотеку libBCM2835, которая включена и собирается вместе с этим модулем.
GPIO в OpenSCADA конфигурируется путём создания нового объекта контролера (Рис.1) и объекта параметра контролера — один параметр GPIO этой платы.
По этой вкладке Вы можете установить:
Объект параметра является непосредственным представлением-отражением GPIO, который содержит перечень атрибутов логического типа в общем количестве 32. Вкладка конфигурации объекта параметра изображена на Рисунке 2. Сбор данных осуществляется только в синхронном режиме поскольку GPIO должен быть быстрым.
С помощью вкладки конфигурации объекта параметра Вы можете установить:
Вкладка "Атрибуты" для GPIO изображена на Рисунке 3. Для GPIO также доступна вкладка "Конфигурация" (Рис.4) с режимом ВВ и состоянием инверсии.
Для максимально быстрого доступа к GPIO объект параметра предоставляет три статические функции: "mode", "get" и "put". Эти функции могут быть использованы в окружении программирования системы OpenSCADA для организации неординарных алгоритмов взаимодействия. Для адресации функции вы можете использовать статический вызов адреса BCM2835.{cntr}.{prm}.{Func}() или динамический SYS.DAQ.BCM2835.{cntr}.{prm}["{Func}"].call(). Где:
Описание: GPIO режим, вход или выход.
Параметры:
ID | Параметр | Тип | Режим | По умолчанию |
rez | Результат | Целое | Возврат | |
pin | Штырь | Целое | Вход | |
set | Установка режима входа: 1-Вход, 2-Вход (pull up), 3-Вход (pull down), 4-Выход | Целое | Вход | 0 |
Описание: Получение уровня штыря GPIO.
Параметры:
ID | Параметр | Тип | Режим | По умолчанию |
rez | Результат | Логический | Возврат | |
pin | Штырь | Целое | Вход |
Описание: Установка уровня GPIO штыря.
Параметры:
ID | Параметр | Тип | Режим | По умолчанию |
pin | Штырь | Целое | Вход | |
val | Значение | Логическое | Вход |
Модуль опробован на платах Raspberry Pi 2, 3 модели B. Детальнее Вы можете посмотреть на странице и задаче.
Время доступа к статичным функциям было измерено в сравнении с различными методами, что Вы можете посмотреть тут.
Для создания производных DAQ шаблонов, с использованием статических функций, Вы также можете применить динамическое подключение к ним, вроде такого:
В такой конфигурабильный способ на данный момент реализованы следующие шаблоны низкоуровневых устройств: