Certified LabVIEW Developer - CLD
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Certified LabVIEW Developer - CLD
Собираюсь в ближайшем будущем сдать экзамен на CLD, пора готовиться. И так на сайте NI нашёл примеры заданий. Хотелось бы узнать зачем они в примере светофора использовали Queued State Machine, когда можно было использoвать обычную?
http://zone.ni.com/devzone/cda/epd/p/id/1665
Сэнкс
http://zone.ni.com/devzone/cda/epd/p/id/1665
Сэнкс
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Certified LabVIEW Developer - CLD
Зачем в примере про светофор нужна Queued State machine - мне тоже непонятно. Я бы тоже использовал нормальную State Machine. Например так как в приложенном решении. Документация в решении отсутствует, по всем остальным вопросам - просьба критиковать.
То, что я реализовал управление временем, которое светофор проводит в одном из состояний через ожидание Notifier который приходит только по нажатию кнопки "стоп", я считаю правильнее, чем каждый раз подсовывать то же состояние на вход очереди, как в примере у NI.
То, что я реализовал управление временем, которое светофор проводит в одном из состояний через ожидание Notifier который приходит только по нажатию кнопки "стоп", я считаю правильнее, чем каждый раз подсовывать то же состояние на вход очереди, как в примере у NI.
- Вложения
-
- CLD-TrafficLight.zip
- Мое решение задачи о светофоре
- (46.48 КБ) 522 скачивания
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Certified LabVIEW Developer - CLD
Я так понимаю нотифаер ты использовал лишь для того, чтобы можно было остановить прогу в любой момент?
Иначе и нотифаер тоже лишний, т.к. можно просто использовать обычную задержку, а для остановки цикла саму кнопку стоп.
Я в таких случаях использую задержку около 1 секунды в цикле for. А количество итераций задаётся из автомата. Тогда прогу тоже можно остановить, правда с задержкой в 1 секунду. Но есть и позитивная сторона - можно обойтись всего одним циклом.
Ну а что же будет если я на экзамене так и сделаю? Мне засчитают пункты или не засчитают?
Иначе и нотифаер тоже лишний, т.к. можно просто использовать обычную задержку, а для остановки цикла саму кнопку стоп.
Я в таких случаях использую задержку около 1 секунды в цикле for. А количество итераций задаётся из автомата. Тогда прогу тоже можно остановить, правда с задержкой в 1 секунду. Но есть и позитивная сторона - можно обойтись всего одним циклом.
Ну а что же будет если я на экзамене так и сделаю? Мне засчитают пункты или не засчитают?
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Certified LabVIEW Developer - CLD
Да, именно так.Я так понимаю нотифаер ты использовал лишь для того, чтобы можно было остановить прогу в любой момент?
В спецификации задачи, сказано, что время реакции не должно превышать 100ms. :(Тогда прогу тоже можно остановить, правда с задержкой в 1 секунду
Иначе, ты совершенно прав, нечего городить огород, можно обойтись просто одним циклом и кнопкой стоп в этом цикле.
В списке пунктов по которым оценивается экзамен пункт про 100ms упомянут прямо.
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Certified LabVIEW Developer - CLD
Ну так можно сделать и 100 мс, а количество итераций умножать на 10. Какие проблемы.
Или они всё таки больше налегают именно на знание моей на самом деле любимой палитры синхронизации?
Или они всё таки больше налегают именно на знание моей на самом деле любимой палитры синхронизации?
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Certified LabVIEW Developer - CLD
в принципе можно. Но NI не рекомендуют этот метод. В своём webcast http://zone.ni.com/wv/app/doc/p/id/wv-179 сказано, что такой метод будет подвержен дрожанию (jitter). Всякая задержка (timeout в том числе) определяется с точностью до одного timeslice. В винде он зависит от архитектуры компа и от версии винды. Составляет он порядка 20ms (Я сейчас не помню точное значение). Иными словами, 40 итераций по 100 ms могут вылиться в 40*(100+-20), т.е. время ощутимо уйдёт . При этом каждый раз немного по другому. Когда ты делаешь задержку на 4 секунды одной командой, то дрожание в 20ms незаметно.Ну так можно сделать и 100 мс, а количество итераций умножать на 10.
Есть второе "высочайше одобренное" решение: поставить задержку в 2ms, но при этом завести lv2 функциональную переменную для хранения стартового времени (примерно как в примере с мойкой машин). При переходе в каждое новое состояние она инициализируется. А потом, переход к следующему - только при достижении заданного времени. Погрешность примерно такая же, как и с notifier, но можно что-то сделать в промежутке. (например, отображать оставшееся время)
Оба этих подхода можно успешно совместить: Для больших приложений, я делал специальную нить таймера, которая раз в 100ms высылала сообщение, всем другим подписавшимся нитям. Тогда, прождав ровно n сообщений можно чётко контроллировать паузу, а к тому же, делать что-то параллельно ожиданию, не нарушая синхронизации. Но реализовывать это на экзамене ... времени не хватит по моему :)
Моей тоже :)моей на самом деле любимой палитры синхронизации
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Certified LabVIEW Developer - CLD
Всё, спасибо большое. Весь смысл сказанного понятен.
Ну а как вообще экзамен то? Отношение времени и сложности задания? Что надо было делать кроме основного задания? Какая версия LabVIEW была на экзамене?
Ну а самое главное - может ли человек, имеющий каждодневынй 4-х летний опыт работы на LabVIEW сдать этот экзамен?
Кстати, на счёт критики. Вместо нотифаера в который ты вписываешь какой то ненужный ноль, я бы использовал то что сюда больше подходит - occurence. Так как тебе всего лишь надо генерировать один единственный event "стоп".
Ну а как вообще экзамен то? Отношение времени и сложности задания? Что надо было делать кроме основного задания? Какая версия LabVIEW была на экзамене?
Ну а самое главное - может ли человек, имеющий каждодневынй 4-х летний опыт работы на LabVIEW сдать этот экзамен?
Кстати, на счёт критики. Вместо нотифаера в который ты вписываешь какой то ненужный ноль, я бы использовал то что сюда больше подходит - occurence. Так как тебе всего лишь надо генерировать один единственный event "стоп".
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Certified LabVIEW Developer - CLD
Согласен. Так элегантнееВместо нотифаера <пропущено> я бы использовал <пропущено> occurence
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
Oleg B.
- leader
- Сообщения: 674
- Зарегистрирован: 25 сен 2011, 11:30
- Награды: 2
- Версия LabVIEW: 5 .. 2021
- Откуда: Israel
- Контактная информация:
Re: Certified LabVIEW Developer - CLD
Несколько минут назад получил подтверждение, что CLD экзамен успешно преодолён.
-
Pavel Krivozubov
- professor
- Сообщения: 4421
- Зарегистрирован: 07 фев 2008, 16:39
- Награды: 3
- Версия LabVIEW: 7.0 - 2013
- Откуда: г. Электросталь
- Благодарил (а): 24 раза
- Поблагодарили: 9 раз
- Контактная информация:
Re: Certified LabVIEW Developer - CLD
Олег, поздравляю!
Правила форума
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
-
- user
- Сообщения: 70
- Зарегистрирован: 22 ноя 2017, 10:29
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Поблагодарили: 2 раза
- Контактная информация:
Re: Certified LabVIEW Developer - CLD
Почему с 2014 года никто не пишет? Никто больше не сдает экзамены? Или уже все сдали? Я правильно понял, что теперь можно сдавать CLD не имея CLAD?
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Certified LabVIEW Developer - CLD
Да, теперь можно сразу сдавать CLD без CLAD сертификата.K0sinus писал(а):Я правильно понял, что теперь можно сдавать CLD не имея CLAD?
Мы делили апельсин - много наших полегло...
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 3 Ответы
- 2068 Просмотры
-
Последнее сообщение PozhiloyGoblin
-
- 0 Ответы
- 344 Просмотры
-
Последнее сообщение maxim_MA
-
- 23 Ответы
- 2424 Просмотры
-
Последнее сообщение dadreamer
-
- 2 Ответы
- 391 Просмотры
-
Последнее сообщение ujin1
-
- 5 Ответы
- 847 Просмотры
-
Последнее сообщение dadreamer