OpenSCADAWiki: Doc/ Diamond Boards ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
English (1 Кб) English
Ukrainian (1 Кб) Українська
 (2 Кб) Страница заморожена, актуальная тут.

Модуль <DiamondBoards> подсистемы "Сбор данных"

Модуль: DiamondBoards
Имя: Diamond платы сбора данных
Тип: DAQ
Источник: daq_DiamondBoards.so
Версия: 2.1
Автор: Роман Савоченко
Описание: Предоставляет доступ к "Diamond Systems" DAQ платам. Включает основную поддержку базовых плат.
Лицензия: GPL

Contents

Введение

Модуль предоставляет в систему 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 Kb) В версии 2.0 этот модуль, согласно заданию, был фактически полностью переписан для обеспечения поддержки всего спектра плат сбора данных фирмы Diamond Systems. Полученный модуль стал первым, поддерживающим работу во всех трёх режимах сбора данных (синхронный, асинхронный, пакетный), в дополнении к тому, что он является первым модулем сбора данных системы OpenSCADA.

1. Объект контроллера данных

На уровне объекта контроллера создаётся общая для всех плат задача обслуживания плат-параметров. Пример вкладки конфигурации объекта контроллера приведён на рис.1.


Вкладка конфигурации объекта контроллера. (92 Кб)
Рис.1. Вкладка конфигурации объекта контроллера.

С помощью этой вкладки можно установить:

2. Объект параметра-платы

Объект параметра-платы непосредственно содержит конфигурацию отдельно взятой платы и предоставляет все доступные на плате данные в виде атрибутов. Пример вкладки "Параметр", конфигурации параметра-платы в целом, представлена на рис.2, а вкладка "Конфигурация", свойств сигналов, представлена на рис.3.


Вкладка "Параметр", конфигурации параметра-платы в целом. (91 Кб)
Рис.2. Вкладка "Параметр", конфигурации параметра-платы в целом.

С помощью этой вкладки можно установить:

 (2 Kb) Реальное значение этого поля может быть сброшено к лимиту частоты счётчика обслуживания AI по прерыванию, при пересчёте на один канал.

Вкладка "Конфигурация", свойств сигналов. (84 Кб)
Рис.3. Вкладка "Конфигурация", свойств сигналов.

С помощью этой вкладки можно установить:

 (2 Kb) Если запрошенная частота выборки большая и большой интервал, то результирующая частота может сбрасываться до полученной из интервала сканирования.

На рисунке 4 представлен пример вкладки "Атрибуты" для платы "DMM-32x-AT".


Вкладка "Атрибуты" параметра-платы. (112 Кб)
Рис.4. Вкладка "Атрибуты" параметра-платы.

В таблице 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бит) 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


Referring pages: Doc
Doc/DAQ
Function
Using/PLC/firmware


 
There are 10 files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]