Certified LabVIEW Developer - CLD

Курсы, экзамены, сертификация
Ответить
Аватара пользователя
Eugen Graf

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

Certified LabVIEW Developer - CLD

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

Собираюсь в ближайшем будущем сдать экзамен на CLD, пора готовиться. И так на сайте NI нашёл примеры заданий. Хотелось бы узнать зачем они в примере светофора использовали Queued State Machine, когда можно было использoвать обычную?

http://zone.ni.com/devzone/cda/epd/p/id/1665

Сэнкс
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
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

Сообщение mzu2006 »

Зачем в примере про светофор нужна Queued State machine - мне тоже непонятно. Я бы тоже использовал нормальную State Machine. Например так как в приложенном решении. Документация в решении отсутствует, по всем остальным вопросам - просьба критиковать.

То, что я реализовал управление временем, которое светофор проводит в одном из состояний через ожидание Notifier который приходит только по нажатию кнопки "стоп", я считаю правильнее, чем каждый раз подсовывать то же состояние на вход очереди, как в примере у NI.
Вложения
CLD-TrafficLight.zip
Мое решение задачи о светофоре
(46.48 КБ) 520 скачиваний
Аватара пользователя
Eugen Graf

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

Re: Certified LabVIEW Developer - CLD

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

Я так понимаю нотифаер ты использовал лишь для того, чтобы можно было остановить прогу в любой момент?
Иначе и нотифаер тоже лишний, т.к. можно просто использовать обычную задержку, а для остановки цикла саму кнопку стоп.

Я в таких случаях использую задержку около 1 секунды в цикле for. А количество итераций задаётся из автомата. Тогда прогу тоже можно остановить, правда с задержкой в 1 секунду. Но есть и позитивная сторона - можно обойтись всего одним циклом.

Ну а что же будет если я на экзамене так и сделаю? Мне засчитают пункты или не засчитают?
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
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

Сообщение mzu2006 »

Я так понимаю нотифаер ты использовал лишь для того, чтобы можно было остановить прогу в любой момент?
Да, именно так.
Тогда прогу тоже можно остановить, правда с задержкой в 1 секунду
В спецификации задачи, сказано, что время реакции не должно превышать 100ms. :(
Иначе, ты совершенно прав, нечего городить огород, можно обойтись просто одним циклом и кнопкой стоп в этом цикле.

В списке пунктов по которым оценивается экзамен пункт про 100ms упомянут прямо.
Аватара пользователя
Eugen Graf

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

Re: Certified LabVIEW Developer - CLD

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

Ну так можно сделать и 100 мс, а количество итераций умножать на 10. Какие проблемы. :wink:

Или они всё таки больше налегают именно на знание моей на самом деле любимой палитры синхронизации?
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
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

Сообщение mzu2006 »

Ну так можно сделать и 100 мс, а количество итераций умножать на 10.
в принципе можно. Но 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 незаметно.

Есть второе "высочайше одобренное" решение: поставить задержку в 2ms, но при этом завести lv2 функциональную переменную для хранения стартового времени (примерно как в примере с мойкой машин). При переходе в каждое новое состояние она инициализируется. А потом, переход к следующему - только при достижении заданного времени. Погрешность примерно такая же, как и с notifier, но можно что-то сделать в промежутке. (например, отображать оставшееся время)

Оба этих подхода можно успешно совместить: Для больших приложений, я делал специальную нить таймера, которая раз в 100ms высылала сообщение, всем другим подписавшимся нитям. Тогда, прождав ровно n сообщений можно чётко контроллировать паузу, а к тому же, делать что-то параллельно ожиданию, не нарушая синхронизации. Но реализовывать это на экзамене ... времени не хватит по моему :)
моей на самом деле любимой палитры синхронизации
Моей тоже :)
Аватара пользователя
Eugen Graf

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

Re: Certified LabVIEW Developer - CLD

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

Всё, спасибо большое. Весь смысл сказанного понятен.

Ну а как вообще экзамен то? Отношение времени и сложности задания? Что надо было делать кроме основного задания? Какая версия LabVIEW была на экзамене?

Ну а самое главное - может ли человек, имеющий каждодневынй 4-х летний опыт работы на LabVIEW сдать этот экзамен?

Кстати, на счёт критики. Вместо нотифаера в который ты вписываешь какой то ненужный ноль, я бы использовал то что сюда больше подходит - occurence. Так как тебе всего лишь надо генерировать один единственный event "стоп".
Вложения
Occurence.png
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
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

Сообщение mzu2006 »

Вместо нотифаера <пропущено> я бы использовал <пропущено> occurence
Согласен. Так элегантнее
Аватара пользователя
Oleg B.

Activity Professionalism
leader
leader
Сообщения: 674
Зарегистрирован: 25 сен 2011, 11:30
Награды: 2
Версия LabVIEW: 5 .. 2021
Откуда: Israel
Контактная информация:

Re: Certified LabVIEW Developer - CLD

Сообщение Oleg B. »

Несколько минут назад получил подтверждение, что CLD экзамен успешно преодолён.
ESeid

Автор
advanced
advanced
Сообщения: 150
Зарегистрирован: 30 мар 2011, 22:41
Награды: 1
Версия LabVIEW: 8.2-2013
Контактная информация:

Re: Certified LabVIEW Developer - CLD

Сообщение ESeid »

Oleg B., мои поздравления!
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Certified LabVIEW Developer - CLD

Сообщение Pavel Krivozubov »

Олег, поздравляю!
K0sinus
user
user
Сообщения: 70
Зарегистрирован: 22 ноя 2017, 10:29
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Поблагодарили: 2 раза
Контактная информация:

Re: Certified LabVIEW Developer - CLD

Сообщение K0sinus »

Почему с 2014 года никто не пишет? Никто больше не сдает экзамены? Или уже все сдали? Я правильно понял, что теперь можно сдавать CLD не имея CLAD?
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Certified LabVIEW Developer - CLD

Сообщение Kosist »

K0sinus писал(а):Я правильно понял, что теперь можно сдавать CLD не имея CLAD?
Да, теперь можно сразу сдавать CLD без CLAD сертификата.
Мы делили апельсин - много наших полегло...
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Курсы и сертификация»