Синхронизация

Простейшие вопросы в области инженерной разработки
Ответить
Zorander
beginner
beginner
Сообщения: 14
Зарегистрирован: 03 фев 2010, 19:46
Версия LabVIEW: 2011

Синхронизация

Сообщение Zorander »

Уважаемые форумчане, подскажите пожалуйста, где можно прочитать про функции синхронизации labview?

Я думаю, что мне проще будет сначала с ними познакомиться поближе, а потом задавать вопросы на эту тему =)
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Синхронизация

Сообщение Eugen Graf »

О какой синхронизации идёт речь? О синхронизации параллельных потоков?
http://labviewportal.org/ru/programmiro ... mendannymi
Zorander
beginner
beginner
Сообщения: 14
Зарегистрирован: 03 фев 2010, 19:46
Версия LabVIEW: 2011

Re: Синхронизация

Сообщение Zorander »

Да, мне нужно синхронизовать сбор данных параллельных потоков.
Допустим так: у меня есть один поток, данные которого пишутся в файл. Одно значение приходит раз в 2 мс примерно.
Другой поток может собирать данные примерно с этой же скоростью или со скоростью в 100 раз большей, я могу выставить практически любую скорость сбора данных. Но ключевым моментом является то, что значение со второго потока должно попадать в файл в тот же момент, когда и значение с первого потока. Или с задержкой в 1мс(опционально).
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Синхронизация

Сообщение Eugen Graf »

А ну да, для этого как раз то и нужно. Тебе нужно три потока, два из них собирают данные с различной частотой и передают их в третий например через очередь. А третий значит считывает (свою) очередь, в которую приходят данные то с одного, то с другого. Одни данные он временно сохраняет в сдвиговом регистре, а как только приходят другие он обьединяет сохранённые данные из сдвигового регистра с пришедшими, делает из них одну строку и добавляет в лог файл.
Zorander
beginner
beginner
Сообщения: 14
Зарегистрирован: 03 фев 2010, 19:46
Версия LabVIEW: 2011

Re: Синхронизация

Сообщение Zorander »

Я в восторге, спасибо большое))
Правда у меня один из циклов For, но переделать оказалось совсем несложно.
А вот в примере, где очередь из разных типов данных не могу избавиться от ошибки "no case for some selector values", подскажите пожалуйста как решить.
Аватара пользователя
taras_33

Activity
professional
professional
Сообщения: 392
Зарегистрирован: 31 окт 2009, 18:25
Награды: 1
Версия LabVIEW: 2019
Поблагодарили: 13 раз
Контактная информация:

Re: Синхронизация

Сообщение taras_33 »

no case for some selector values
Сделай один из кейсов по умолчанию (default), если на селектор придет команда, для которой нет кейса, тогда и будет выполнятся кейс, который ты сделал по умолчанию, заодно и ошибка твоя пропадет
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
Zorander
beginner
beginner
Сообщения: 14
Зарегистрирован: 03 фев 2010, 19:46
Версия LabVIEW: 2011

Re: Синхронизация

Сообщение Zorander »

Спасибо, заработало))
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Синхронизация

Сообщение Eugen Graf »

Вот ещё, может понравится:
http://www.labviewportal.org/viewtopic.php?f=23&t=2078
Zorander
beginner
beginner
Сообщения: 14
Зарегистрирован: 03 фев 2010, 19:46
Версия LabVIEW: 2011

Re: Синхронизация

Сообщение Zorander »

eg писал(а):Тебе нужно три потока, два из них собирают данные с различной частотой и передают их в третий например через очередь. А третий значит считывает (свою) очередь, в которую приходят данные то с одного, то с другого. Одни данные он временно сохраняет в сдвиговом регистре, а как только приходят другие он обьединяет сохранённые данные из сдвигового регистра с пришедшими, делает из них одну строку и добавляет в лог файл.
Да я пока хочу разобраться, как вот это делать)
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Синхронизация

Сообщение Eugen Graf »

Пройди примеры по пунктам, займёт не так много времени, запусти в дибаг режиме, пойми что к чему. Потом разберись с сдвиг. регистром (что то на подобии временного буфера), потом попробуй реализовать вышепредложеное. Возникнут вопросы - спрашивай, для этого наш портал и существует.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»