Выбор железа

Радиотехника, платы, схемы, оборудование, фото- видео- приборы, компьютеры

Выбор железа

Postby jane_wild on 07 Oct 2018, 20:06

Ребята помогите с выбором железа. Начальство озадачило новым проектом. Необходимо оределится с железом. Требование 26Ai и 3Ао и десяток DI/O Sample rate должен быть достаточно высоким ( необходимо видеть синусоиду 3000 Hz) максимальное количество одновременно задействованых аналоговых каналов 14. Вот.
Выбираю между cDAQ 9174 + модули 9205 + 9263 + 9403 либо один многофункциональный USB-6353
Вообще в общем какие преимущества, либо недостатки cDAQ перед многофункциональным девайсом?
User avatar
jane_wild
assistant
assistant
 
Posts: 100
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2016
Karma: 5

Re: Выбор железа

Postby Kosist on 07 Oct 2018, 21:56

jane_wild wrote:Вообще в общем какие преимущества, либо недостатки cDAQ перед многофункциональным девайсом?

cDAQ более индустриальное решение, особенно с Ethernet портом (из собственного опыта знаю, что заказчики обычно избегают использования USB интерфейса, так как сетевое соединение более надежное). Плюс преимущество то, что Вы можете его более легко расширять - менять модули, добавлять (у Вас в данном случае еще один слот остается). А USB-6353 стоит много, но вдруг в будущем будет не хватать еще одной цифровой линии - будете в патовой ситуации.
Можете также посмотреть в сторону PCI 6353, но к нему нужен будет еще и терминал-блок.
Кстати, а вольтажи (уровни сигналов) обеих решений Вам подходят?
ИМХО, я бы выбрал cDAQ...
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 900
Joined: 21 Feb 2011, 23:44
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 253
CLAD I/O VIP students

Re: Выбор железа

Postby jane_wild on 08 Oct 2018, 02:51

заказчики обычно избегают использования USB интерфейса, так как сетевое соединение более надежное

Был противоположный опыт - сразу после включения установки, по каким то причинам программа запускалась через раз. Стоило в МАХ сделать unreserve и затем reserve система нормально запускалась и весь день без нареканий. Поставила перед созданием задачи эти две VI
reserve.png
reserve.png (1.56 KiB) Viewed 738 times

и после них паузу 3 сек и все заработало, только запускалась дольше.
Ну да ладно, это было в прошлом и причина осталась не выяснена, с тех пор недолюбливаю cDAQ, хотя думаю что необосновано....
В плане расширямости - да, согласна, cDAQ - лучший выбор. В плане цены - получается дороже cDAQ 9184-$1350 (с ethernet) 9205-$899, 9263-$466 и 9403-$443 итого $3158. Для сравнения USB-6353-$2457
Хотя +/- $1000 на общем фоне цены проекта будет не так сильно заметна. Вопрос скорее в скорости. В первом посте я писала, что нужно будет видеть 3000 герц минимум по трем каналам одновременно. А с-модуль 9205 250Ks/S получается, что если задействовать 14 каналов то выйдет 15kS (250/14 = 17.8 ) иными словами пять точек на период. Моя синусоида будет больше на пилу похожа...
А что если в дополнение к NI 9205, прикупить NI 9222 (4 ch 500 Ks/S) и в программе создать вторую (скоростную) AI задачу. Будет ли работать такая связка? И хватит ли ресурсов у cDAQ передавать по Ethernet такой объем информации? Примерно... одна посылка будет (NI 9205 Sample rate 10kS x 10ch = 1000000 плюс 4ch x 100kS) Вообщем полтора миллиона отсчетов каждые 100mS. Я правильно посчитала? И это не считая DI/O. Сдюжит? Сбор данных - continues acquisition - must! Спасибо за советы.
User avatar
jane_wild
assistant
assistant
 
Posts: 100
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2016
Karma: 5

Re: Выбор железа

Postby Kosist on 08 Oct 2018, 08:27

С этой точки зрения USB карта подходит лучше, т.к. на cDAQ что-то не видно AI модулей с Single-Ended входом, и раздельными АЦП; я пропустил этот момент по частоте сбора данных...
Вы можете также попробовать обратиться в техподдержку NI - описать Ваш проект, и что они посоветуют по железу.
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 900
Joined: 21 Feb 2011, 23:44
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 253
CLAD I/O VIP students

Re: Выбор железа

Postby Borjomy_1 on 08 Oct 2018, 14:39

Вообщем полтора миллиона отсчетов каждые 100mS

100Мбит сеть пропускает 10Мбайт/с. По 2 байта на замер (для 16 бит АЦП) это 5MS/s. Вот и считайте. Если настроить две задачи сбора, то будет работать. Но. Возникает вопрос синхронизации, который необходимо решить, поскольку оба модуля изначально работают от своих тактовых генераторов.
Кстати, 10kS/s *10 каналов = 100kS/s, а не миллион. В сумме у вас выходит 500kS/s, что составляет примерно 10% от максимальной пропускной способности сети.
Borjomy_1
expert
expert
 
Posts: 1833
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 319
VIP

Re: Выбор железа

Postby jane_wild on 08 Oct 2018, 16:45

Кстати, 10kS/s *10 каналов = 100kS/s, а не миллион.

Ну да, Вы правы - ноликом ошиблась.
оба модуля изначально работают от своих тактовых генераторов

Так это получается каждый с-модуль имеест собственный генератор? А я думала что общий clock для всех модулей. :super:
Возникает вопрос синхронизации

Что Вы имеете ввиду? В моем понимании два паралельных цикла (Ai tasks), каждый собирает от своей задачи и через очередь шлет данные для обновления UI. Данные прилетели - обновили индикаторы - графы.. Что нужно синхронизировать?
User avatar
jane_wild
assistant
assistant
 
Posts: 100
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2016
Karma: 5

Re: Выбор железа

Postby Borjomy_1 on 08 Oct 2018, 17:28

Что нужно синхронизировать?

Синхронизировать сбор. Чтобы оба таска работали от одного тактового генератора (это может быть клок от одного из модулей, но такой, чтобы и другой модуль имел к нему доступ) и запускались одновременно. И кратные частоты сбора. Иначе оба таска моментально разъедутся. Возможно, у DAQ модулей один клок ( у меня нет под рукой, чтобы проверить), но на это надо обратить внимание. Например, у дельта-сигма 24 бит АЦП, аля NI 9237, свой тактовый генератор, и к нему может подцепиться только такой-же модуль. Другие типы АЦП и ЦАП к нему подцепиться не могут. И он ни к кому подцепиться не может. Поэтому синхронный сбор таких АЦП и 16 битных или управление ЦАП возможен только под управлением cRio с FPGA
Borjomy_1
expert
expert
 
Posts: 1833
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 319
VIP

Re: Выбор железа

Postby Blackman on 08 Oct 2018, 18:20

Так это получается каждый с-модуль имеест собственный генератор? А я думала что общий clock для всех модулей....

C Series Analog Input Modules can be categorized into four groups based on their synchronization: Reference Clocked, Delta Sigma, Slow Sampled and Successive Approximation Register (SAR).
Reference Clocked modules convert using an internal onboard clock. This onboard clock is disciplined using a phase lock loop to another internal clock or can be disciplined to clocks external to the module.
Delta Sigma Modules use a 24-bit ADC and convert using a clock internal to the module.
Slow Sampled Modules use a 24-bit ADC and convert using an external clock that originates from the CompactDAQ controller or chassis.
SAR Modules use a Successive Approximation ADC (12- or 16-bit) and convert using an external clock.

Reference Clocked Module: 9775

Delta Sigma Modules: 9202, 9218, 9225, 9227, 9229, 9230, 9232, 9234, 9235, 9236, 9237, 9238, 9239, 9242, 9244, 9246, 9247, 9250, 9251

Slow Sampled Modules: 9207, 9208, 9209, 9210, 9211, 9212, 9213, 9214, 9216, 9217, 9219, 9224, 9226, 9228

SAR Modules: 9201, 9203, 9205, 9206, 9215, 9220, 9221, 9222, 9223
http://www.ni.com/tutorial/5376/en/
Blackman
leader
leader
 
Posts: 802
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 234
VIP

Re: Выбор железа

Postby jane_wild on 08 Oct 2018, 18:34

Синхронизировать сбор

Я извиняюсь за свою тупость, но зачем? Пусть себе разъезджаются. Только что проверила на реальном железе. Имеется установка с DAQ-9188 и в шасси присуствуют два 9205. Удалось проверить.
Создала две независимые задачи: 4ch, Sample Rate 10000, сбор каждые 80mS на выходе получила ожидаемый 2D массив 4 ряда по 800 элементов.
аналогично вторая задача 3ch, Sample Rate 80000, сбор каждые 100mS на выходе 3x8000. Циклы крутятся с разной скоростью... Правда все это в одном vi и массивы обновляются тут же на месте. Может будет какие то непонятки с обновлением UI в реальном проекте, если данные будут прилетать по отдельности и с разной скоростью?
User avatar
jane_wild
assistant
assistant
 
Posts: 100
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2016
Karma: 5

Re: Выбор железа

Postby jane_wild on 08 Oct 2018, 18:38

SAR Modules use a Successive Approximation ADC (12- or 16-bit) and convert using an external clock.

Совсем запуталась... external clock как же оно с разной частотой работает, если clock внешний?
User avatar
jane_wild
assistant
assistant
 
Posts: 100
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2016
Karma: 5

Re: Выбор железа

Postby Kosist on 08 Oct 2018, 22:06

jane_wild wrote:Я извиняюсь за свою тупость, но зачем? Пусть себе разъезджаются.

Все зависит от приложения. Но если измерения двумя картами логически связанны друг с другом, то их нужно синхронизировать. Например, Вы одной картой меряете силу которой деформируется образец; а второй - измеряете собственно деформацию образца. Как без синхронизации тогда узнать, при которой силе образец был окончательно деформирован?
А так - да, можно мерять и без синхронизации, но опять же - все зависит от Вашего приложения; какие собственно данные измеряются, и как будут анализироваться.
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 900
Joined: 21 Feb 2011, 23:44
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 253
CLAD I/O VIP students

Re: Выбор железа

Postby jane_wild on 09 Oct 2018, 15:47

Насчет синхронизации - стало более менее понятно, зачем это делать. Теперь вопрос стоит как?
Структура проекта предполагается "модульная" (не люблю, когда все свалено в кучу).
В смысле техники реализации... Два vi складывают данные в общую очередь, а третий vi их от туда достает и обновляет UI. Значит нужно сделать так, что бы два соседних элемента (два двумерных массива) в очереди соответствовали одному измерению. Скажем прилетел массив от первой задачи, - положили его в буфер и ждем второго. Прилетел второй, достали из буфера первый и обновили UI. С этим более менее понятно.
Теперь передающая сторона, вернее две стороны. Как добится что бы два независимых vi складывали в очередь в строгой последовательности? Значит делаем кратные частоты 10kS и 100kS и одинаковые по времени цикла, которые будут складывать данные, скажем 100mS. А дальше что? Любая из этих задач может положить в очередь чуточку раньше другой... Уведомители? дополнитетьный буфер на передающей стороне? Как умные люди делают? Спасибо
User avatar
jane_wild
assistant
assistant
 
Posts: 100
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2016
Karma: 5

Re: Выбор железа

Postby Andrew Lunev on 09 Oct 2018, 16:02

Эта задача разбивается на две.
1. Обеспечить аппаратную синхронизацию именно сбора данных или даже сбора и выдачи данных. Именно про эту проблему все писали выше. Но возникает закономерный вопрос, нужна ли эта синхронизация в вашей задаче? То есть будут ли где-то дальше сравниваться мгновенные значения из разных измерений? Например, для вычисления сдвига фазы между двумя сигналами или получения разности сигналов. Если это требуется, то надо настраивать задачи сбора так, чтобы данные собирались синхронно и подбирать для этого соответствующие модули. Если же каналы будут обрабатываться независимо, то можно не заморачиваться с синхронизацией.
2. После того, как данные собраны с аппаратной синхронизацией возникает задача их сопоставления. Но, если данные синхронизованы, то они обязательно должны быть в одной задаче сбора данных.
Если же у вас могут быть разные частоты сбора и разные задачи, то видимо вам не столь важна синхронизация и просто собирайте данные и пишите в файл и выводите на экран. В данном случае вам достаточно просто обеспечить синхронный запуск задач по единому триггеру.
User avatar
Andrew Lunev
leader
leader
 
Posts: 871
Joined: 11 Dec 2010, 12:31
Location: Москва
Medals: 2
Activity (1) Professionalism (1)
LabVIEW Version: 2018
Karma: 250
hardware I/O VIP teachers

Re: Выбор железа

Postby jane_wild on 11 Oct 2018, 15:21

Видимо все же без синхронизации не обойтись. Опишу реальную задачу. Имеется датчик углового перемещения RVDT, на певичную обмотку которого подается 3000гц. Сигнал снимается со вторичной, фаза (по отношению к первичной) и амплитуда зависят от угла поворота. Суть вот в чем. Когда подается напряжение на соленоид, начинается вращение механизма. Мне нужно измерить время от начала подачи напряжения, до начала движения механизма. Вообщем строю огибающую синусоиды, как в этом посте (кстати проблема с выбросами не решена до сих пор), что бы было видно начало изменения амплитуды и вывожу на график вместе с напряжением соленоида, ну и курсорами на графике измеряю это время. Это время составляет около 10 - 15 миллисекунд. Синусоида и напряжение соленоида планируются в разных tasks, как же их все же синхронизировать? В смысле как запустить эти две задачи на сбор данных одновременно, если два с-модуля тактируются от шасси DAQ. Или как говорил Andrew Lunev,
они обязательно должны быть в одной задаче сбора данных
что совсем не желательно.
User avatar
jane_wild
assistant
assistant
 
Posts: 100
Joined: 30 Jun 2016, 02:11
LabVIEW Version: 2016
Karma: 5

Re: Выбор железа

Postby Artem.spb on 11 Oct 2018, 17:03

jane_wild wrote: В смысле как запустить эти две задачи на сбор данных одновременно, если два с-модуля тактируются от шасси DAQ. .

Как-то так
Artem.spb
expert
expert
 
Posts: 1443
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 248
CLD hardware I/O VIP freelance

Next

Return to Железо

Who is online

Users browsing this forum: No registered users and 4 guests

cron