Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
|
||||
|
ltr11, C#, частота, передача данных через EthernetИмеется LTR11 установленный в первый слот крейта LTR-EU-2. |
|||
|
||||
|
Re: ltr11, C#, частота, передача данных через EthernetВыдача на экран происходит с меньшей частотой, т.к. в примере на консоль выводится только по одному отсчету из блока. Т.е. если например поставить RECV_BLOCK_CH_SIZE = 100*1000, то блок будет по 100 тыс точек на канал, т.е. на 4 канала 400 тыс точек, соответственно при частоте 400 КГц он будет приниматься за секунду и вывод строки будет раз в секунду. Соответственно Вы уже можете с этими точками делать что-то по своему усмотрению, но вывод на консоль вообще достаточно медленная операция, и я сомневаюсь что Вы сможете вывести на консоль все 400 тыс. отсчетов за секунду, скорее всего как раз Вы и сталкиваетесь с ограничением скорости вывода на консоль, а не скоростью сбора... |
|||
|
||||
|
Re: ltr11, C#, частота, передача данных через EthernetЯ в ваш пример добавил кусочек кода регистрации значений,т.е убрал вывод на консоль. После просмотра зарегистрированных значений, все равно не получается достичь эту частоту. Выставляю 300 кгц, в регистрации наблюдается 900 герц на 4 канала (900 блоков в секунду), с увлечением количества каналов частота зарегистрированных блоков совсем снижается. Мне нужно регистрировать значения хотя бы 5кгц на 32 канала. |
|||
|
||||
|
Re: ltr11, C#, частота, передача данных через EthernetОпять же, если вы пытаетесь создавать StreamWriter каждый раз на каждый отсчет (100 тыс раз в секунду), то это будет сильно тормозить... Его стоит создать один раз при старте (или хотя бы один раз на большой блок). Также уменьшать размер блока не нужно, нужно просто записывать в файл все принятые отсчеты из блока, а не только первые (если у Вас 4 канала, то data[0] = 1-ый отсчет 1-го канала, data[1] - 1-ый 2-го канала, .... data[4] - 2-ой отсчет 2-го канала и т.д. Также частота АЦП задается общая, т.е. 400 КГц это на все каналы. Соответственно если Вы разрешите 32 канал, то соответственно если корректно будете записывать в файл, то должно получится по каждому каналу по 400000/32 = 12500 точек/c. |
|||
|
||||
|
Re: ltr11, C#, частота, передача данных через EthernetАлексей L Card пишет:
Спасибо большое! Вы очень помогли. Снова вопрос, можно ли получить время(чч:мм:сс:мс) приема точек,далее отправляемых в массив data? А то после получения блока и перебора массива,записи значений, время не совсем точное. |
|||
|
||||
|
Re: ltr11, C#, частота, передача данных через EthernetК сожалению в внутри крейта нет привязки точек к абсолютному времени (если конечно не пытаться использовать какой-либо внешний источник времени), но правда совершенно точно известно относительное время всех точек (относительно друг-друга), которое точно определяется частотой дискретизации. Таким образом абсолютное время первой точки придется вычислять приблизительно в программе ПК. Думаю наиболее за наиболее близкое время можно взять время, полученное сразу после завершения запуска сбора (start()) и принять его за время первого отсчета первого блока. Время каждого следующего отсчета внутри блока будет просто увеличиваться на 1/частоту, т.е. для 400 КГц это будет 1/400 = 0.0025 мс (т.е. время data[1] больше времени data[0] на этот период). Точно также и между блоками, первый отсчет 2-го блока задержан относительно последнего отсчета первого на все то же время. Только надо проверить частоту дискретизации, т.к. модуль может работать только с частотами из некой сетки, FindAdcFreqParams() находит ближайшую, в случае 400 КГц она ей и будет, а в случае там 350 КГц, которые не могут быть выставлены явно, будет выставлена ближайшая, которую он может установить. Поэтому для расчета нужно после конфигурации модуля прочитать через нужное свойство реальную частоту дискретизации. |
|||
|
||||
|
Re: ltr11, C#, частота, передача данных через EthernetВообще, привязка собираемых отсчётов данных к реальному времени возможна в LTR-EU. - Это было реализовано с применением сервера единого времени: http://www.lcard.ru/node/803. Вероятно, возможны и другие способы привязки в рамках соответствующих заказных работ. |
Страницы 1