Модуль | Имя | Версия | Лицензия | Источник | Языки | Платформы | Тип | Автор | Описание |
---|---|---|---|---|---|---|---|---|---|
DiamondBoards | Diamond платы сбора данных | 2.1 | GPL2 | daq_DiamondBoards.so | en,uk,ru,de | x86 | DAQ | Роман Савоченко | Предоставляет доступ к "Diamond Systems" DAQ платам. Включает основную поддержку базовых плат. |
Модуль предоставляет в OpenSCADA поддержку источников данных, основанных на платах сбора данных фирмы Diamond Systems (http://diamondsystems.com). Модуль построен на основе универсального драйвера производителя плат. Универсальный драйвер доступен практически для всех известных программных платформ, в виде библиотеки. Универсальный драйвер был получен по адресу http://www.diamondsystems.com/support/software и включен в дистрибутив OpenSCADA, поэтому для сборки данного модуля не требуются внешние библиотеки. Требуется только сборка модуля ядра Linux "dscudkp.ko" для работы по прерыванию и с FIFO.
Платы сбора данных фирмы Diamond Systems представляют из себя модули расширения формфактора PC/104. Платы могут содержать: аналоговые IO(входы/выходы), дискретные IO и счётчики. Комплектация плат может значительно варьироваться. Могут содержаться только IO одного типа или же всего понемногу. Кроме того, функцией сбора данных могут наделяться и системные платы этой фирмы. Например, системная плата "Athena" содержит: 16 AI, 4 AO, 24 DIO.
Модуль предоставляет поддержку аналоговых и дискретных IO в режимах синхронного и асинхронного доступа. Сбор аналоговых входов (AI) поддерживается также в режиме по прерыванию (с помощью FIFO). Метод сбора по прерыванию позволяет достичь максимальной частоты опроса, поддерживаемой аппаратурой. В случае с процессорной платой "Athena" эта частота достигает 100 кГц. В процессе сбора по прерыванию данные получаются пакетами основного периода опроса и помещаются в буфера архивов значений.
В версии 2.0 этот модуль, согласно заданию, был фактически полностью переписан для обеспечения поддержки всего спектра плат сбора данных фирмы Diamond Systems. Полученный модуль стал первым, поддерживающим работу во всех трёх режимах сбора данных (синхронный, асинхронный, пакетный), в дополнении к тому, что он является первым модулем сбора данных системы OpenSCADA.
На уровне объекта контроллера создаётся общая для всех плат задача обслуживания плат-параметров. Пример вкладки конфигурации объекта контроллера приведён на рис.1.
In assistance with the tab you can set:
The module provides only one the "Standard (std)" type of the parameters with the parameters table name "DiamPrm_{CntrId}".
Объект параметра-платы непосредственно содержит конфигурацию отдельно взятой платы и предоставляет все доступные на плате данные в виде атрибутов. Пример вкладки "Параметр", конфигурации параметра-платы в целом, представлена на рис.2, а вкладка "Конфигурация", свойств сигналов, представлена на рис.3.
С помощью этой вкладки можно установить:
С помощью этой вкладки можно установить:
На рисунке 4 представлен пример вкладки "Атрибуты" для платы "DMM-32x-AT".
В таблице 1 представлен перечень плат фирмы "Diamond Systems", статус их поддержки и тестирования.
Таблица 1 Свойства плат фирмы "Diamond Systems"
Плата | AI (16 бит) | AO (12 бит) | DIO (x8) | DI (x8) | DO (x8) | Замечания |
---|---|---|---|---|---|---|
DMM-16 | 16 | 4 | 0 | 1 | 1 | |
Ruby-MM | 0 | 8 | 3 | 0 | 0 | |
Opal-MM | 0 | 0 | 0 | 1 | 1 | |
DMM | 16 (12 bit) | 2 | 0 | 1 | 1 | |
Pearl-MM | 0 | 0 | 0 | 0 | 2 | |
Onyx-MM | 0 | 0 | 6 | 0 | 0 | |
Ruby-MM-416 | 0 | 4 (16 bit) | 2 | 0 | 0 | |
DMM-AT | 16 (12 bit, 100 kHz, 512 FIFO) | 2 | 0 | 1 | 1 | |
DMM-16-AT | 16 (100 kHz, 512 FIFO) | 4 | 0 | 1 | 1 | |
IR104 | 0 | 0 | 0 | 3 | 3 | |
Prometheus | 16 (100 kHz, 48 FIFO) | 4 | 3 | 0 | 0 | |
Hercules EBX | 32 (250 kHz, 2048 FIFO) | 4 | 5 | 0 | 0 | |
Onyx-MM-DIO | 0 | 0 | 6 | 0 | 0 | |
Mercator | 0 | 0 | 3 | 0 | 0 | |
Athena | 16 (100 kHz, 48 FIFO) | 4 | 3 | 0 | 0 | Verified |
DMM-32x(-AT) | 32 (250 kHz, 1024 FIFO) | 4 | 3 | 0 | 0 | |
GPIO-MM-11[12](DIO) | 0 | 0 | 6 | 0 | 0 | |
GPIO-MM-21 | 0 | 0 | 12 | 0 | 0 | |
Poseidon | 32 (250 kHz, 1024 FIFO) | 4 | 3 | 0 | 0 | |
Athena-II | 16 (100 kHz, 2048 FIFO) | 4 | 3 | 0 | 0 | |
DMM-32dx(-AT) | 32 (250 kHz, 1024 FIFO) | 4 | 3 | 0 | 0 | Verified |
Helios | 16 (100 kHz, 2048 FIFO) | 4 | 5 | 0 | 0 | |
Neptune | 32 (250 kHz, 1024 FIFO) | 4 | 4 | 0 | 0 |
Особенностью работы сбора AI по прерыванию является синхронизация переключения каналов; измерений по отдельному, внутреннему, счётчику и использования FIFO как промежуточный буфер измерений. Естественно, что этот счётчик на некоторое значение будет отличаться от счётчика реального времени, а FIFO нужно успевать вычитывать. Соответственно нужна подстройка-калибровка расхождения поступления данных с часами реального времени. В целом реализуются следующие механизмы компенсации расхождения счётчиков и других явлений:
Modules/DiamondBoards/ru - GFDL | December 2024 | OpenSCADA 1+r3000 |