Case

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
Virt

Activity
adviser
adviser
Сообщения: 207
Зарегистрирован: 29 мар 2008, 17:12
Награды: 1
Версия LabVIEW: 8.6

Case

Сообщение Virt »

Есть case structure с определённым количеством кейсов.
Каждый кейс содержит RS-trigger.
Структура управляется от Num control.

Вопрос:
Возможно ли осуществить Reset всех триггеров во всех кейсах одновременно.

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

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

Re: Case

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

Это одна из проблем использования реинтрантных FGV. Думаю напрямую не получится.
Я бы заменил то, что запоминается внутри RS Trigger, на массив в сдвиговом регистре. А из содержимого цикла RS Trigger сделал бы один прибор, который даже не должен быть реинтрантным.
Потом в зависимости от кейса, выбирал бы соответствующий элемент массива сдвиг. регистра и применял бы к нему тот созданный RS Trigger.
Может есть решение получше, но это первое, что пришло мне в голову.

Кстати что за RS Trigger? Где он находится? Я почти уверен, что он устроен как FGV, если нет то я ошибся в своём предположении.
Аватара пользователя
Virt

Activity
adviser
adviser
Сообщения: 207
Зарегистрирован: 29 мар 2008, 17:12
Награды: 1
Версия LabVIEW: 8.6

Re: Case

Сообщение Virt »

eg писал(а): Кстати что за RS Trigger? Где он находится? Я почти уверен, что он устроен как FGV, если нет то я ошибся в своём предположении.
Триггер из интернета.

А что такое "реинтрантных FGV" ?
Аватара пользователя
Eugen Graf

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

Re: Case

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

FGV это функциональная глобальная переменная. Это прибор с циклом While и неициализированном сдвиг. регистром. Цикл при запуске прибора пробегает всего один раз, при этом производится какое то действие над содержимым сдвиг. регистра и в нём же запоминается, до следущего вызова прибора. А реинстрантный потому, что может работать параллельно и независимо от количества инстанций этого прибора. Для каждого такого прибора выделяется отдельный кусок памяти, а прибор клонируется на несколько.
Так где он в нете? Может заскринишь?
Аватара пользователя
Virt

Activity
adviser
adviser
Сообщения: 207
Зарегистрирован: 29 мар 2008, 17:12
Награды: 1
Версия LabVIEW: 8.6

Re: Case

Сообщение Virt »

Вот.
Вложения
RS.vi
(38.04 КБ) 244 скачивания
Аватара пользователя
Eugen Graf

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

Re: Case

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

Ну да, как я и предполагал (конкретно из за того, что ты "произнёс" слово "Reset"). Там имеется один неициализированный сдвиг. регистр, в котором запоминается значение "Output" до следующего вызова. Хотя я понимал Reset как сброс значения сдвиг. регистра. Но это неважно.

Вот кстати подходящая реализация RS-флип-флопа, без FGV. Но значение Output тебе для каждого такого подприбора нужно будет запоминать вне его. В массиве поключенному к сдвиг. регистру, но в главном приборе. Тогда сможешь сбросить все одновременно, заменив весь массив сразу.
http://www.labviewportal.org/viewtopic.php?f=13&t=1260

Правда может быть я где то ошибаюсь. Может быть ещё кто поможет.
Аватара пользователя
Virt

Activity
adviser
adviser
Сообщения: 207
Зарегистрирован: 29 мар 2008, 17:12
Награды: 1
Версия LabVIEW: 8.6

Re: Case

Сообщение Virt »

Спасибо.
Тоже интересная моделька.
Это просто продолжение темы про 2D array.
Вариант реализовать ту задачу на триггерах лежал на поверхности и в принципе я сделал, что хотел и всё работает как надо, но громоздко как-то и не гибко. Думал сделать покомпактней, да и не на примитивах.
Ответить

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