Модуль предоставляет в систему OpenSCADA поддержку источников данных реального времени, основанных на платах сбора данных (DAQ) различных производителей, устанавливаемых на шины: ISA, PCI, PCMCIA и USB. Реализация драйверов всего поддерживаемого разнообразия плат на стороне ядра Linux, а также библиотека прикладного уровня, предоставляется проектом Comedi. Полный перечень поддерживаемых плат, модулей к ядру Linux, проектом Comedi, а значит и данным модулем можно получить по ссылке: http://comedi.org/hardware.html.
В рамках проекта Comedi осуществлена унификация интерфейса доступа к данным плат на уровне типа данных, что позволяет, реализовав работу с типичными данными плат такого рода, не заботиться в дальнейшем о поддержке нового оборудования, на стороне данного модуля. В текущей версии данного модуля реализована поддержка типов данных: AI (режим прямого опроса без FIFO), AO, DI, DO, DIO.
Модулем реализуются функции горизонтального резервирования, а именно совместной работы с удалённой станцией этого-же уровня.
1. Объект контроллера
DAQ—платы посредством библиотеки Comedi в OpenSCADA конфигурируются путём создания объекта контроллера (рис.1), как контейнера объектов параметров — плат DAQ.
Рис.1. Вкладка конфигурации объекта контроллера.
С помощью этой формы можно установить:
Состояние контроллера, а именно: Статус, "Включен", "Запущен" и имя БД, содержащей конфигурацию.
Идентификатор, имя и описание контроллера.
Состояние, в которое переводить контроллер при загрузке: "Включен" и "Запущен".
Имя таблицы в БД для хранения конфигурации параметров данного контроллера.
Политику планирования и приоритет задачи опроса.
Нужно отметить, что опрос данных в основном осуществляется в синхронном режиме, однако для некоторых плат аналоговых входов (AI-АЦП) может быть более оптимальным асинхронных режим, что связано с продолжительным временем установки значения после переключения канала мультиплексора. Так, на плате Advantech PCL-813B это время составляет 5мс.
2. Объект параметры контроллера
Объект параметра является непосредственным представителем-отражением DAQ-платы, который содержит набор атрибутов с типами и количеством, зависимым от конкретно взятой платы. Вкладка конфигурации объекта параметра представлена на рис.2.
Рис.2. Вкладка конфигурации объекта параметра — DAQ платы.
С помощью формы конфигурации объекта параметра можно установить:
Состояние параметра, а именно "Включен" и тип параметра.
Идентификатор, имя и описание параметра.
Состояние, в которое переводить параметр при загрузке: "Включен".
Адрес устройства платы. Содержит путь к устройству платы. В случае наличия в системе корректно загруженных модулей ядра Linux для плат из коллекции Comedi их адреса устройств будут доступны для выбора.
Асинхронное чтение. Включает режим чтение данных в цикле задачи контроллера, вместо чтения по требованию (Синхронный режим).
Вкладка "Атрибуты" для платы ACL-8113 приведена на рис.3. Для данных некоторых типов может быть доступна вкладка "Конфигурация". Например, для плат аналоговых входов эта вкладка (рис.4) содержит таймаут установки значения и выбор диапазона каждого канала.
Рис.3. Вкладка "Атрибуты" объекта параметра платы ACL-8113.
Рис.4. Вкладка "Конфигурация" объекта параметра платы ACL-8113.
3. Замечания
Для сборки и работы данного модуля нужна только библиотека comedilib, которая присутствует в репозиториях большинства дистрибутивов. Однако модули драйверов плат нужно собирать отдельно, а архив можно загрузить здесь: http://comedi.org/download.html.
Работа данного модуля проверена на следующих платах: