Список форумов   Список форумов  

две очереди

Всё о программировании на Labview

Модераторы: Техподдержка NI, Robert, Модератор

две очереди

Сообщение Alexander756 » Пт май 30, 2008 5:03 am

Есть две очереди из чисел 0 и 1. Если на выходе первой очереди 1 и на входе второй очереди тоже 1 то вторая очередь должна задержаться пока на выходе первой очереди не появится 0
Alexander756
Пользователь
 
Сообщений: 11
Зарегистрирован: Пт май 23, 2008 9:26 pm

Re: две очереди

Сообщение IvanLis » Пт май 30, 2008 3:43 pm

Alexander756 писал(а):Есть две очереди из чисел 0 и 1. Если на выходе первой очереди 1 и на входе второй очереди тоже 1 то вторая очередь должна задержаться пока на выходе первой очереди не появится 0


А длина очередей фиксированная или бесконечная?

Если фиксированная, то можно сделать задержку через регистр, запустить сигнал по кругу и когда нужно удалять из каждой очереди 1-й элемент, пока длина массива не станет =0.
IvanLis
Специалист LabVIEW
 
Сообщений: 497
Зарегистрирован: Пн апр 23, 2007 1:44 pm
Откуда: СССР

Сообщение Alexander756 » Пт май 30, 2008 8:12 pm

Длинна очереди фиксированная, она сразу заполняется 0, а потом уже случайным образом 0 или 1 в очередь все время добавляется один элемент и один удаляется. Получется бегущая дорожка если вывести индикатор на панель, так вот если в первой дорожке горит последний элемент то во второй дорожке первый елемент загораться не должен, а только тогда когда в первой дорожке последний элемент погаснет. Теряться во второй дорожке елемент не должен. Ситуация отображенная на рисунке не должна появляться. Синий светодиод должен загореться когда погаснет красный
Вложения
1.JPG
1.JPG (11.49 KiB) Просмотров: 6079
Alexander756
Пользователь
 
Сообщений: 11
Зарегистрирован: Пт май 23, 2008 9:26 pm

Сообщение егра » Пт май 30, 2008 10:26 pm

Наверное это массив а не очередь...
егра
Специалист LabVIEW
 
Сообщений: 220
Зарегистрирован: Сб сен 01, 2007 10:51 pm
Откуда: Homburg/Germany

Сообщение Alexander756 » Пт май 30, 2008 11:42 pm

Массив для отображения на экране бегущей дорожки. Может я неправильно делаю, может это все можно запихнуть в один массив. Примерно надо чтобы одна половина дорожки была из красных светодиодов а вторая из красных и синих.
Alexander756
Пользователь
 
Сообщений: 11
Зарегистрирован: Пт май 23, 2008 9:26 pm

Сообщение егра » Сб май 31, 2008 1:57 am

Я имею ввиду имеешь ли ты ввиду на самом деле очередь или всё таки массив. Может выложишь скрин блок диаграммы.

Очередь это Queue или FIFO, а массив это Array.

Понимаешь, от этого зависит ответ на твой вопрос.
егра
Специалист LabVIEW
 
Сообщений: 220
Зарегистрирован: Сб сен 01, 2007 10:51 pm
Откуда: Homburg/Germany

Сообщение Alexander756 » Сб май 31, 2008 2:49 am

Вот фрагмент блок диаграммы. Case Structure одинаковые, я на одной отобразил True на другой False
Вложения
2.JPG
2.JPG (55.82 KiB) Просмотров: 6064
Alexander756
Пользователь
 
Сообщений: 11
Зарегистрирован: Пт май 23, 2008 9:26 pm

Сообщение егра » Сб май 31, 2008 6:03 pm

Да уж, намутил конечно. Я думаю много лишнего и всё сильно запутано. А откуда поступают входные сигналы?
Должно хватить одной очереди из двух входных сигналов (кластер из двух Bool-элементов) для синхронизированного получения входных сигналов из параллельного потока и два массива со сдвиговыми регистрами.

А если входные сигналы генерируются какой нибудь картой, то вообще очередь никакая не нужна. Получаешь сигнал от карты и применяешь логику.

Но массивы конечно нужны и причём обязательно в сдвиговых регистрах (или как у тебя Feedback Node, то же самое).
егра
Специалист LabVIEW
 
Сообщений: 220
Зарегистрирован: Сб сен 01, 2007 10:51 pm
Откуда: Homburg/Germany

Сообщение Alexander756 » Сб май 31, 2008 7:24 pm

Я не спорю, может и намутил, только начал изучать :)
Сигналы поступают, можно сказать, генерируются случайным образом.
объясню немного подругому :D см рис.
Надо чтобы на выходе их можно было разделить, первый элемент удалился а второй пошел дальше или наоборот (смотря какой выход первый)
Вложения
3.JPG
3.JPG (11.94 KiB) Просмотров: 6042
Alexander756
Пользователь
 
Сообщений: 11
Зарегистрирован: Пт май 23, 2008 9:26 pm


Вернуться в LabVIEW

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1