OpenSCADAWiki: Home Page Uk/Doc/ Diamond Boards ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
English (1 Кб) English
Russian (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.


Вкладка конфігурації об'єкта контролеру. (105 Кб)
Рис.1. Вкладка конфігурації об'єкта контролеру.

За допомогою цієї вкладки можна встановити:

2. Об'єкт параметру-плати

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


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

За допомогою цієї вкладки можна встановити:

 (2 Kb) Реальні значення цього поля можуть бути скинуті до ліміту частоти лічильника обслуговування AI за перериванням, під час перерахунку на один канал.

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

За допомогою цієї вкладки можна встановити:

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

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


Вкладка "Атрибути" параметру-плати. (130 Кб)
Рис.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: dscud5.91linux.tar.gz
Патч для збірки драйверу для ядра Linux 2.6.29, використаного при зборі даних за перериванням: lastkernels.patch


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


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