Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
|
||||
|
LTR-EU-2, LabVIEW, синхрометкиЕсть LTR-EU-2 с 2LTR212. На базе имеющегося примера удалось сделать то, что было необходимо, кроме синхронизации. Как запустить метки Старт, разобраться не удалось. Хотелось бы увидеть в качестве дополнения к соответствующему примеру простой счётчик этих меток (аналогичный программе на Delphi, например).
|
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиЮрий, смотрели ли Вы примеры к ltrapi?
LTR_SOURCES//ltrapi//examples//Microsoft Visual C++//LTR-EU-Sync//
а также описание ltrapi.pdf Визуально Вы можете наблюдать генерацию меток в окне статистики ltrserver по данному крейту. А чтобы реализовать счетчик меток в приложении, необходимо задействовать какой-либо модуль сбора данных, потому что синхрометки считываются не сами по себе, а в потоке отсчетов как служебная информация. Реализация будет зависеть от того, какой именно модуль используется - LTR11, LTR22, LTR212, LTR41 и т.д. Например, можно запомнить значение поля tmark структуры TLTR после открытия модуля: if (LTR_OK != LTRxxx_Open(<r, ...)) ...
Впоследствии при чтении данных функцией LTRxxx_Recv() поле tmark будет обновляться - оно содержит ПОСЛЕДНИЙ СЧИТАННЫЙ ИЗ МОДУЛЯ номер метки. То есть: ... LTRxxx_Recv(...) ...
Количество приянтых меток будет равно разности (wLast - wInitial) & 0xFFFF (с точностью до возможного перехода через 0). Еще раз обращаю Ваше внимание: счетчики обновляются только при чтении каких-либо данных из модуля. Сама по себе переменная типа TLTR обновляться не будет, поскольку все вызовы ltrapi являются синхронными. А чтобы в полной мере использовать метки, надо передать функции LTR212_Recv() параметр tmark != NULL, указывающий на массив того же размера, что и data, и в полученном массиве каждому отсчету будет соответствовать счетчик меток на момент сбора этого отсчета (старшие 16 бит - старт, младшие 16 бит - секунда). Обычно их не считают, а используют для привязки друг к другу данных, собранных с разных модулей, но можно и сосчитать моменты изменения младших или старших слов элементов массива tmark. |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиПардон, не заметил, что в заголовке упомянуто labview. В готовой labview//'шной надстройке может быть не все импортировано, сейчас коллеги уточнят. Мой ответ относится к библиотекам под C, C++, Delphi, dotnet (из последнего должно быть сравнительно несложно импортировать функции в labview). |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиК сожалению, с той библиотекой ltrModulesNet, через которую сейчас работает LabView это сделать напрямую нельзя. Нужны небольшие изменения.
|
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиХотелось бы как можно раньше. Проект на этой неделе нужно уже сдать (мы даже в выходные работали). |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиМы ещё 8 сентября спрашивали письмом у Владислава про синхрометки в LabVIEW, но ответа не получили. |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкихорошо, но не уверен, что раньше среды получится. Хотелось бы знать Вашу почту, чтобы сразу выслать пример, как будет готов (можно написать на мою почту) |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиКонтактное мыло отправили. |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиДля оперативной проверки работы синхрометок от DIGIN достаточно сухого контакта или нужно подтягивать его на +5В ? |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиДля подключения контакта относительно цепи GND нужно включить резистор-подтяжку (1-10 кОм) на линию DIGIN относительно цепи +3.3V (находится на том же разъёме SYNC). Но можно включить резистор-подтяжку и относительно внешнего источника +3.3...+5 В. А можно просто на внутренний запуск или режим секундной метки настроить для проверки генерации меток. |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиПри подключении просто контакта, естественно, эффект дребезга никто не отменял. Но для проверки сойдёт... |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиЮрий, пока коллеги помогают Вам дополнить интерфейс dotnet-labview, Вы можете опробовать работу с синхрометками на простом примере на языке C (например, к примеру LTR-EU-Sync добавить запуск АЦП, сбор данных и анализ принятых синхрометок).
|
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиВнутренний запуск мы на делфийском примере уже проверяли (его по нашей как раз просьбе делал Арсений), так что логика там понятна. В конечном итоге будет использоваться внешний синхросигнал, так что потребуется его простая имитация. |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиКак подсоединить, Вам уже написали. Можно кнопку с резистором (не забывая про возможный дребезг), лучше - какой-то логический выход. LTR_Config() и соответствующая стуктура для использования DIGIN вообще не требуются - источник меток указывается прямо в параметре mode функций LTR_StartSecondMark(), LTR_MakeStartMark() |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиОтправил письмо с примером. |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиПисьмо получил, спасибо! |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиЕщё один практический вопрос возник: не существует ли программного эмулятора крейта для проверки работы программы? |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиНасколько я занаю - нет. Эмулятор - вещь, конечно, хорошая, но по сложности задача создания полноценного эмулятора, думаю, даже превышала бы сложность создания самого крейта |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиЯ правильно понимаю, что для работы счётчика в ltr212_last_mark.vi нужно совместить его с ltr_eu_sync? |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиНу в конечной программе скорее всего - да. Для проверки их можно и просто запустить параллельно. ltr_eu_sync по запуску запускаяет секундные метки и настраивает метку старта, а по нажатию стоп останавливает генерацию секундных меток. ltr212_last_mark принимает данные, вместе с данными обновляется и счетчик меток и он выводится. |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиИными словами, ГЕНЕРАТОР меток управляется независимо (кстати, кроме контроллера EU это может быть, например, модуль LTR41-43 со своими собственными командами).
|
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиСпасибо за уточнение. Ещё один вопрос по стартовым меткам от Digin1: мы соединили 2 входа на 2 х крейтах (единая синхронизация) и подключили нормально разомкнутую кнопку для быстрой проверки, при этом счётчик стартовых меток нечто считает даже без нажатия кнопки. Это наводки или что-то некорректно? |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиЮрий, представьте себе: к быстродействующему цифровому входу подключили многометровую антенну. Эта система просто обязана ловить все быстрые помехи окружающей обстановки. Используйте экранированный провод (экран должен быть соединён с цепью GND) и резисторную подтяжку - тогда эффект антенны исчезнет. |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиНадеюсь, что оба крейта Вы заземлили в одну точку. |
|||
|
||||
|
Re: LTR-EU-2, LabVIEW, синхрометкиВ одну точку. Проводки до кнопки не слишком длинные (~30см). А если вообще ничего к разъёму не подключать, то такого эффекта не должно быть? |