Моя модель программирования
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
Re: Моя модель программирования
Я редко, но применяю сдвиговые регистры для ошибок, в таком случае ввожу дополнительный кейс, где самые тяжелые ошибки вылетают предупреждением на экран (вроде истечения таймаута при общении с прибором и т.д.).
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Моя модель программирования
Но а при чём тут сдвиговый регистр? Покажи примерчик если не трудно.
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Моя модель программирования
Ага, понятно. Если я и использую кластер ошибки то по-другому:
- Вложения
-
- ErrorHandler.png (7.28 КБ) 12721 просмотр
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
- Nemo
- user
- Сообщения: 97
- Зарегистрирован: 26 июн 2008, 11:48
- Версия LabVIEW: 8
- Откуда: Россия
- Контактная информация:
Re: Моя модель программирования
Здорово, а я то же хочу научится пользоваться Event структурой, но пока не получается, дальше линейного программирования не продвинулся, вот
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Моя модель программирования
Про shift register для ошибки. Я использую его, например, так: т.е. ошибка из кадого текущего состояния передаётся
наружу, и при необходимости система переходит в состояние Error. Это состояние единственное, которое использует ошибку, входящую через shift register
наружу, и при необходимости система переходит в состояние Error. Это состояние единственное, которое использует ошибку, входящую через shift register
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- assistant
- Сообщения: 104
- Зарегистрирован: 15 авг 2008, 11:55
- Версия LabVIEW: 8.5
- Откуда: Россия, Московская область
- Контактная информация:
Re: Моя модель программирования
При чтении данных с порта, наверно, сама процедура чтения унифицируется для всех возможных вариантов ответов с порта или же делаются специфические варианты чтения. Т.е само чтение порта находится в одном месте потока?eg писал(а):Если потоку пришла команда на постоянное чтение порта например, то стартуется цикл считывания. Если во время считывания пришла новая команда, то цикл заканчивается и выполняет эту новую команду.
-
- user
- Сообщения: 89
- Зарегистрирован: 14 мар 2010, 10:14
- Версия LabVIEW: 9
- Контактная информация:
Re: Моя модель программирования
Может быть кто знает, что это за темплет?
Не знаем, так не знаем.
Не знаем, так не знаем.
Последний раз редактировалось Helga 10 ноя 2011, 23:39, всего редактировалось 2 раза.
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Моя модель программирования
мелкие надписи не все читаемы на рисунке. Прикрепите скрин к посту, вместо выкладывания его на радикале.
А так, напоминает Producer-Consumer с UI циклом и общим механизмом управления ссылками на очередь.
А так, напоминает Producer-Consumer с UI циклом и общим механизмом управления ссылками на очередь.
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- user
- Сообщения: 89
- Зарегистрирован: 14 мар 2010, 10:14
- Версия LabVIEW: 9
- Контактная информация:
Re: Моя модель программирования
Очень удобный темплет, но понятия не имею, кто его написал и где его распространяют. Может быть на курсах NI.
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Моя модель программирования
Вот, если угодно, ещё 1 приятный template: http://lavag.org/files/file/168-tlb-top-level-baseline/
Пока, правда, в реальных проектах не применял.
Пока, правда, в реальных проектах не применял.
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- assistant
- Сообщения: 126
- Зарегистрирован: 06 ноя 2011, 14:10
- Версия LabVIEW: 2012-2016
- Контактная информация:
Re: Моя модель программирования
Евгений считаю твою модель программирования самой читаемой, т.е. понятной.Eugen Graf писал(а):А вот так выглядит мой Unified Cluster, который получают все параллельные потоки в моей программе. Общение между потоками идёт через очереди и юзер ивенты, находящиеся в этом кластере.
Единственное, что я не понял - как ты создал твой универсальный Unified Cluster вместе с Enum Typedef.
Здесь я к сожалению конкретно туплю.
Пробовал не получается даже что-то подобное.
Нельзя ли выложить твой Unified Cluster.ctl ??? Как конкретный пример.
Я делаю обычно толстый массив кластеров, как ctl и использую его. Но это намного корявей твоего решения.
Заранее благодарен, Игорь
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Моя модель программирования
Игорь, мой Unified Cluster состоит из массивов очередей, юзер ивентов и нотифаеров, enum typedefs он в себя не включает, это команды в виде цифр 1,2,3,4,5 .... Просто они при передаче команды преобразуются в цифры, а при чтении преобразуются обратно в enum. Посмотри Tasking2 Library, мы ей у нас на фирме серьёзно пользуемся, и пока мне не приказали её убрать из нета, её ещё можно скачать.
-
- user
- Сообщения: 73
- Зарегистрирован: 22 ноя 2011, 12:23
- Версия LabVIEW: 2011
- Контактная информация:
Re: Моя модель программирования
А вот фича, которая позволяет завершать параллельные циклы.
Есть проблема. Нельзя установить ожидание появления элемента очереди.
Может кто-нибудь подскажет как устранить сей недостаток?
Есть проблема. Нельзя установить ожидание появления элемента очереди.
Может кто-нибудь подскажет как устранить сей недостаток?
- Вложения
-
- Actions.vi
- (23.87 КБ) 314 скачиваний
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 7 Ответы
- 215 Просмотры
-
Последнее сообщение ujin1