Модуль: | DiamondBoards |
Ім'я: | Diamond плати збору даних |
Тип: | DAQ |
Джерело: | daq_DiamondBoards.so |
Версія: | 2.1.0 |
Автор: | Роман Савоченко |
Опис: | Надає доступ до "Diamond Systems" DAQ плат. Включає основну підтримку базових плат. |
Ліцензія: | GPL |
Модуль надає в систему 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 кГц. У процесі збору за перериванням дані отримуються пакетами основного періоду опитування та розташовуються у буфер архівів значень.
Переклад триває
На уровне объекта контроллера создаётся общая для всех плат задача обслуживания плат-параметров. Пример вкладки конфигурации объекта контроллера приведён на рис.1.
С помощью этой вкладки можно установить:
Объект параметра-платы непосредственно содержит конфигурацию отдельно взятой платы и предоставляет все доступные на плате данные в виде атрибутов. Пример вкладки "Параметр", конфигурации параметра-платы в целом, представлена на рис.2, а вкладка "Конфигурация", свойств сигналов, представлена на рис.3.
С помощью этой вкладки можно установить:
С помощью этой вкладки можно установить:
На рисунке 3 представлен пример вкладки "Атрибуты" для платы "DMM-32x-AT".
В таблице 1 представлен перечень плат фирмы "Diamond Systems", статус их поддержки и тестирования.
Таблица 1 Свойства модулей серии I-8xxx
Плата | 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бит) | 2 | 0 | 1 | 1 | |
Pearl-MM | 0 | 0 | 0 | 0 | 2 | |
Onyx-MM | 0 | 0 | 6 | 0 | 0 | |
Ruby-MM-416 | 0 | 4 (16 бит) | 2 | 0 | 0 | |
DMM-AT | 16 (12 бит, 100КГц, 512 FIFO) | 2 | 0 | 1 | 1 | |
DMM-16-AT | 16 (100КГц, 512 FIFO) | 4 | 0 | 1 | 1 | |
IR104 | 0 | 0 | 0 | 3 | 3 | |
Prometheus | 16 (100КГц, 48 FIFO) | 4 | 3 | 0 | 0 | |
Hercules EBX | 32 (250КГц, 2048 FIFO) | 4 | 5 | 0 | 0 | |
Onyx-MM-DIO | 0 | 0 | 6 | 0 | 0 | |
Mercator | 0 | 0 | 3 | 0 | 0 | |
Athena | 16 (100КГц, 48 FIFO) | 4 | 3 | 0 | 0 | Проверено |
DMM-32x(-AT) | 32 (250КГц, 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КГц, 1024 FIFO) | 4 | 3 | 0 | 0 | |
Athena-II | 16 (100КГц, 2048 FIFO) | 4 | 3 | 0 | 0 | |
DMM-32dx(-AT) | 32 (250КГц, 1024 FIFO) | 4 | 3 | 0 | 0 | Проверено |
Helios | 16 (100КГц, 2048 FIFO) | 4 | 5 | 0 | 0 | |
Neptune | 32 (250КГц, 1024 FIFO) | 4 | 4 | 0 | 0 |
Особенностью работы сбора AI по прерыванию является синхронизация переключения каналов и измерений по отдельному, внутреннему, счётчику и использования FIFO как промежуточный буфер измерений. Естественно, что этот счётчик на некоторое значение будет отличаться от счётчика реального времени, а FIFO нужно успевать вычитывать. Соответственно нужна подстройка-калибровка расхождения поступления данных с часами реального времени. В целом реализуются следующие механизмы компенсации расхождения счётчиков и других явлений:
Используемая версия Linux драйвера от Diamond systems: file:dscud5.91linux.tar.gz
Патч для сборки драйвера для ядра Linux 2.6.29, используемого при сборе данных по прерыванию: file:lastkernels.patch