Страница 2 из 4

Добавлено: 24 ноя 2009, 13:34
Stas_SPb
С какой частотой можно опрашитвать ЛИР-917? В примере (библиотеке) у вас использован таймер для опроса, при этом получается 65 раз в секунду. в СКИФе, похоже, тот же подход.

Добавлено: 30 ноя 2009, 11:01
Михаил Поляков
Stas_SPb писал(а):С какой частотой можно опрашитвать ЛИР-917? В примере (библиотеке) у вас использован таймер для опроса, при этом получается 65 раз в секунду. в СКИФе, похоже, тот же подход.
Период опроса ЛИР 917 равен 4 мс.
В реальности частота опроса зависит от ОС.

Добавлено: 30 ноя 2009, 11:12
Stas_SPb
Спасибо!

Добавлено: 29 янв 2010, 11:17
Stas_SPb
Очень хотелось бы вернуться к вопросу скорости опроса. Возможно, вы знаете решение.
ОС WinXP, delphi
Как проконтролировать время прихода данных или интервал между данными с точностью хотя бы 1 мс?
Или как задать определенную частоту опроса?

Используя стандартный таймер можно получть минимальный промежуток времени лишь 15 мс, что весьма грубо.
Можно, конечно, организовать "пустой" цикл на n повторений между измерениями, предварительно "откалиборовав" n под нужное значение паузы, но это не очень красивое решение.

Заранее спасибо!

Добавлено: 29 янв 2010, 14:38
Михаил Поляков
К сожалению Windows XP не относится к операционным системам реального времени. Получить реальное время с точностью 1 мс невозможно.
Откалибровать тоже не получится, так как в любой момент времени windows может выделить квант времени (как раз те самые 15 мс) другому процессу (например системному).

Добавлено: 01 фев 2010, 11:31
Дмитрий Ряполов
Самое верное - организовать аппаратный буфер (микросхема памяти), в которой четко по времени (по аппаратному прерыванию, например), будут записываться данные, а программа будет считывать все содержимое буфера в удобное для нее время.

Под этого можем разработать специальную версию компьютерной платы на шину PCI. Для этого изменять саму плату не потребуется, только написать и отладить прошивку.
С интерфейсами для USB тоже возможно, просто понадобится новая разработка. Этот вариант будет дольше и дороже, чем первый.

Добавлено: 01 фев 2010, 11:54
Гость
Интересует вариант USB.
Какой при этом можно достигнуть скорости съема? И какое количество точек реально хранить в буфере?

Добавлено: 02 фев 2010, 10:14
Дмитрий Ряполов
Вариант с USB возможен только как новая разработка специально под Ваши требования. Поэтому сколько значений надо хранить в буфере, столько и будет. Хочу обратить еще раз Ваше внимание, что это будет новое устройство разработанное СКБ ИС по Вашему Техническому Заданию. Поэтому этот вариант будет стоить прилично.

проблема с ЛИР-917

Добавлено: 02 июл 2010, 07:40
zerkmax
в системе подключено 2 ЛИР-917 (планируется 3).
При включении компьютера моя программа находит только одно устройство. СКИФ видит сразу оба. После запуска СИФа, моя программа тоже находит второе устройство. Как их инициализировать сразу?
среда программирования Delphi 6.

Re: проблема с ЛИР-917

Добавлено: 02 июл 2010, 09:44
Михаил Поляков
zerkmax писал(а):в системе подключено 2 ЛИР-917 (планируется 3).
При включении компьютера моя программа находит только одно устройство. СКИФ видит сразу оба. После запуска СИФа, моя программа тоже находит второе устройство. Как их инициализировать сразу?
среда программирования Delphi 6.
Здравствуйте !
SI_GetNumDevices при запуске вашей программы выдает 1 ?
В Диспетчере устройств сколько интерфейсов отображается ?

Re: проблема с ЛИР-917

Добавлено: 02 июл 2010, 10:23
zerkmax
Михаил Поляков писал(а):
zerkmax писал(а):в системе подключено 2 ЛИР-917 (планируется 3).
При включении компьютера моя программа находит только одно устройство. СКИФ видит сразу оба. После запуска СИФа, моя программа тоже находит второе устройство. Как их инициализировать сразу?
среда программирования Delphi 6.
Здравствуйте !
SI_GetNumDevices при запуске вашей программы выдает 1 ?

да
Михаил Поляков писал(а):В Диспетчере устройств сколько интерфейсов отображается ?
в диспетчере отображаются оба устройства.

нормальная работа начинается только после запуска СКИФа

Добавлено: 02 июл 2010, 12:56
Михаил Поляков
Я проверил - показывает 2 устройства.
СКИФ не запускал.
Перезагрузился, проверил еще раз. Все равно возвращает 2.
ОС: WinXP SP3


Код: Выделить всё


function SI_GetNumDevices(var Cardinal):DWord;stdcall;
 external 'SIUSBXP.dll';

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 n:Cardinal;
begin
 SI_GetNumDevices( n);
 ShowMessage(IntToStr(n));
end;

Добавлено: 31 янв 2011, 21:11
Павел1
как мне преобразовать тип LPDWORD в string что бы я мог вывести на экран значение подключенных девайсов:

Код: Выделить всё

 
 LPDWORD numDevices;
	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
			   
				 SI_GetNumDevices(numDevices);
				 MessageBox::Show(System::Convert::ToString(numDevices));
				 
				
			 }

Добавлено: 09 фев 2011, 09:21
Михаил Поляков
DWORD numDevices;
SI_GetNumDevices(&numDevices);

Re: Программирование ЛИР-917

Добавлено: 25 сен 2011, 17:18
Бочкарев Юрий2
Добрый День!
Столкнулся с проблемой следующего характера:

При запуске съема данных с ЛИР917 + LM10 из самописной программы через какое-то время слетает референтная метка (или что-то вроде этого).
Если после этого запускаю скиф - точка даже близко не располагается от референтной метки.
Помогает только сброс питания и поиск реф.метки через скиф.

При опросе через скиф - все нормально во всем диапазоне перемещения головы датчика.

Заранее Спасибо!