Кластер ошибки

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

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

Кластер ошибки

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

Кластер ошибки это очень хорошая идея и задумка, которая была удачно внедрена в LabVIEW.

Я знаю несколько преимуществ использования кластера ошибки:

- Использовать как условие для выполнения последующих действий:

То есть если каждую блоковую диаграмму подприбора взять в условную структуру зависящюю от выполнения предыдущего подприбора, то все последующие подприборы просто не будут выполнятся, а ошибка выскочит именно из первого подприбора. Может быть начинающим наверное трудно понять смысл вышесказанного, но это один из главных принципов продвинутых программистов не только в LabVIEW, но и в других языках программирования.

- Использовать в LabVIEW вместо структуры последования:

Как известно, LabVIEW отличается от текстовых языков программирования принципом течения данных, т.е. так нызываемым "Data Flow Principle". Это значит, что подприбор начинает своё выполнение тогда, когда на всех его входах имеется какое либо значение. Если же входов нет, то подприбор выполняется незамедлительно! Независимо от того, где в блоковой диаграмме он находится: сверху, снизу, слева или справа. Так вот, некоторые начинающие, не до конца понимающие этот принцип используют структуру последования, хотя могли бы использовать вход кластера ошибки, тем более что он даёт некоторые другие преимущества.

- Использовать для распознавания ошибок в программе:

Ну в принципе это его назначение. Я думаю стоит почитать документацию LabVIEW, что бы понять что это такое. Кроме всего прочего можно создавать файл со своим списком по ошибкам для каждой отдельной программы.
Аватара пользователя
Korotenko

Activity
developer
developer
Сообщения: 286
Зарегистрирован: 25 июл 2008, 10:43
Награды: 1
Версия LabVIEW: 2009
Откуда: Россия, Владивосток
Контактная информация:

Re: Кластер ошибки

Сообщение Korotenko »

eg писал(а):Кластер ошибки это очень хорошая идея и задумка, которая была удачно внедрена в LabVIEW.
Может быть начинающим наверное трудно понять смысл вышесказанного,
это типа я, да?
eg писал(а):Использовать в LabVIEW вместо структуры последования
хороший принцип, но не всегда действует, не все же программы - плоские, наверно он не будет действовать если будут ДВА и более линий каждая со своим проводом ошибки
eg писал(а):можно создавать файл со своим списком ошибкам для каждой отдельной программы
здесь это пригодится
I work in LabVIEW 2009 !
Аватара пользователя
Eugen Graf

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

Re: Кластер ошибки

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

Коротенко Алексей писал(а): это типа я, да?
Не принимай близко к сердцу. Я пока не могу сказать тебя я имею ввиду или нет, т.к. не знаю точно насколько ты знаком с :labview:
Коротенко Алексей писал(а):
хороший принцип, но не всегда действует, не все же программы - плоские, наверно он не будет действовать если будут ДВА и более линий каждая со своим проводом ошибки
Можно обьеденять несколько ошибочных кластеров в один, хотя может быть это неправильное действие с моей стороны.
Аватара пользователя
Eugen Graf

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

Re: Кластер ошибки

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

Вот что я имел ввиду под пунктом номер один:
Error.png
Зелёная рамка - это как раз и есть условное выполнение подприбора. Если на входе подприбора уже была ошибка, то он не будет выполняться.
Аватара пользователя
Korotenko

Activity
developer
developer
Сообщения: 286
Зарегистрирован: 25 июл 2008, 10:43
Награды: 1
Версия LabVIEW: 2009
Откуда: Россия, Владивосток
Контактная информация:

Re: Кластер ошибки

Сообщение Korotenko »

eg писал(а):Не принимай близко к сердцу.
да, неее, я просто прикололся :D :D :D
eg писал(а):не знаю точно насколько ты знаком с :labview:
с 10 июля :rtfm: сего года, по 12 часов в сутки :cool: иногда даже в выходные :shok: дома :shok:
eg писал(а):хотя может быть это неправильное действие с моей стороны.
пока комментрировать не буду, т.к. сам не знаю :bye:
I work in LabVIEW 2009 !
Аватара пользователя
Korotenko

Activity
developer
developer
Сообщения: 286
Зарегистрирован: 25 июл 2008, 10:43
Награды: 1
Версия LabVIEW: 2009
Откуда: Россия, Владивосток
Контактная информация:

Re: Кластер ошибки

Сообщение Korotenko »

код ошибки в кластере - это означает "неверно выполнена функция vi"?
I work in LabVIEW 2009 !
Аватара пользователя
Eugen Graf

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

Re: Кластер ошибки

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

Во первых статус определяет была ли ошибка или нет. Ну а если статус положительный, то надо смотреть в номер (т.е. код) для определения типа ошибки.
Аватара пользователя
ChevyCamaroSS67
beginner
beginner
Сообщения: 10
Зарегистрирован: 28 май 2008, 16:45
Версия LabVIEW: 7.1
Контактная информация:

Re: Кластер ошибки

Сообщение ChevyCamaroSS67 »

А мне приходилось пользоваться кластером ошибок при работе через DSTP. Именно по ошибкам которые он генерировал я мог менять логику работы программы. В частности по возникающим ошибкам наличия/отсутствия сетевого интерфейса в компьютере, в моей программе работала/не работала часть отвечающая за прием/передачу данных. Использования отлова ошибок позволяло "на ходу" работающей программы менять тип подключения к интернету, что для конечного оборудования не являлось чем-то неправильным.
In LabVIEW We Trust
Аватара пользователя
Konstantin Sumenko

Activity Bronze
expert
expert
Сообщения: 1439
Зарегистрирован: 17 июл 2008, 12:20
Награды: 2
Версия LabVIEW: 2010
Откуда: Moscow
Поблагодарили: 1 раз
Контактная информация:

Re: Кластер ошибки

Сообщение Konstantin Sumenko »

Всегда использую кластер ошибки, помимо того, что через него реализуется один из способов data flow, так еще и удобно мониторить ошибки в больших проектах, использующих много вычислений и вызываемых подпрограмм.
Аватара пользователя
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: Кластер ошибки

Сообщение mzu2006 »

IMHO, кластер ошибки это реализация понятия "исключение" Exception из С++ на почве LView и dataflow. Насколько удачная - другой вопрос.
Аватара пользователя
Konstantin Sumenko

Activity Bronze
expert
expert
Сообщения: 1439
Зарегистрирован: 17 июл 2008, 12:20
Награды: 2
Версия LabVIEW: 2010
Откуда: Moscow
Поблагодарили: 1 раз
Контактная информация:

Re: Кластер ошибки

Сообщение Konstantin Sumenko »

Try-Catch-Finally сишный поудобнее будет, но и посложнее, особенно когда используются многовложенные исключения.
Аватара пользователя
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: Кластер ошибки

Сообщение mzu2006 »

Crowbar писал(а):Try-Catch-Finally сишный поудобнее будет
Он просто другой ...

Я не очень хорошо представляю себе как реализовать исключение по схеме Try-Catch и сделать так, чтобы при этом cоблюдалось dataflow. Какая-нибуть иконка типа "abort", помещённая внутрь новой структуры? Структура из двух частей: код и обработчик исключения. А как быть с теми проводами которые выходят из структуры? Не знаю ...

Может быть кто-то знает, а как кластер обработки ошибок компилируется при сборке под что-нибуть встроенное (т.е. там где из LabVIEW появляется C++ код)? В виде struct LVError { }? или в виде exception?
Сам думаю, что скорее первое - тогда это неоптимально ...
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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