Снять ошибку во время выполнения прибора
-
- interested
- Сообщения: 6
- Зарегистрирован: 11 мар 2021, 22:58
- Версия LabVIEW: 16
- Контактная информация:
Снять ошибку во время выполнения прибора
Всем привет!
Я программил на LW8 лет 10 назад, работы с внешним оборудованием, CIN и т.п., работа с файлами и.т.д.
Сейчас пытаюсь вспомнить что-же я там наделал.
Во время выполнения корявых приборов выскакивает ошибка и забивает все действия. Остановить прибор удается только долгими попытками успеть нажать на стоп после закрытия окна ошибки. Есть-ли какой-нибудь другой способ?
Спасибо.
Я программил на LW8 лет 10 назад, работы с внешним оборудованием, CIN и т.п., работа с файлами и.т.д.
Сейчас пытаюсь вспомнить что-же я там наделал.
Во время выполнения корявых приборов выскакивает ошибка и забивает все действия. Остановить прибор удается только долгими попытками успеть нажать на стоп после закрытия окна ошибки. Есть-ли какой-нибудь другой способ?
Спасибо.
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Снять ошибку во время выполнения прибора
Код в студию, мы же не знаем как все там у Вас запрограммировано.
Мы делили апельсин - много наших полегло...
- Din
- beginner
- Сообщения: 19
- Зарегистрирован: 13 мар 2019, 14:37
- Версия LabVIEW: 2017
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
Re: Снять ошибку во время выполнения прибора
Грамотная обработка ошибок - это условие любой хорошей программы.
Но по-быстрому, не вникая, можно сделать следующее.
1. Чтобы диалоговое окно ошибки не вылезало, надо протянуть кластер ошибок везде, где есть его вход/выход. И в конце программы поставить индикатор кластера.
2. Есть функция Clear Errors в палете Диалог, Юзерс и Интерфейсес.
Но если это все надо для того, чтобы зачистить заведомо несовместимые с жизнью баги, то это такое себе решение. Баги надо устранять.
3. Есть в конце концов Diagramm Disable Structure - структура, которая, грубо говоря, закомментит вам часть кода. Полезно в некоторых случаях при отладке кода.
Но по-быстрому, не вникая, можно сделать следующее.
1. Чтобы диалоговое окно ошибки не вылезало, надо протянуть кластер ошибок везде, где есть его вход/выход. И в конце программы поставить индикатор кластера.
2. Есть функция Clear Errors в палете Диалог, Юзерс и Интерфейсес.
Но если это все надо для того, чтобы зачистить заведомо несовместимые с жизнью баги, то это такое себе решение. Баги надо устранять.
3. Есть в конце концов Diagramm Disable Structure - структура, которая, грубо говоря, закомментит вам часть кода. Полезно в некоторых случаях при отладке кода.
-
- interested
- Сообщения: 6
- Зарегистрирован: 11 мар 2021, 22:58
- Версия LabVIEW: 16
- Контактная информация:
Re: Снять ошибку во время выполнения прибора
Всем спасибо!
Проблему я немного неправильно описал. Извините.
Мне хотелось-бы узнать механизм выхода из зацикливания. Например, форма вызывает диалог открытия файла, пользователь отрабатывает там все дела, программа успешно все выполняет и ... мгновенно запускается сначала. Опять выскакивает форма диалога, снова нужно все указать, и так до бесконечности. Стандартная ситуация зацикливания. Что-бы это прекратить необходимо или ловить момент чтобы успеть нажать паузу или стоп, ну или другой вариант Ctrl-Alt-Del :))) Мой вопрос такой: как прекратить этот карнавал, есть-ли спец клавиши или что-то еще?
Да, правильно писать код необходимо! Отслеживать ошибки необходимо! Но! В режиме обучения такие ситуации происходят постоянно и снимать их приходится постоянно...
Помогите студентам... Пожалуйста.
Проблему я немного неправильно описал. Извините.
Мне хотелось-бы узнать механизм выхода из зацикливания. Например, форма вызывает диалог открытия файла, пользователь отрабатывает там все дела, программа успешно все выполняет и ... мгновенно запускается сначала. Опять выскакивает форма диалога, снова нужно все указать, и так до бесконечности. Стандартная ситуация зацикливания. Что-бы это прекратить необходимо или ловить момент чтобы успеть нажать паузу или стоп, ну или другой вариант Ctrl-Alt-Del :))) Мой вопрос такой: как прекратить этот карнавал, есть-ли спец клавиши или что-то еще?
Да, правильно писать код необходимо! Отслеживать ошибки необходимо! Но! В режиме обучения такие ситуации происходят постоянно и снимать их приходится постоянно...
Помогите студентам... Пожалуйста.
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Снять ошибку во время выполнения прибора
АгаЧайник Водкин писал(а): ↑12 мар 2021, 20:18 Мой вопрос такой: как прекратить этот карнавал, есть-ли спец клавиши или что-то еще?
запуск на однократное исполнение программы
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Снять ошибку во время выполнения прибора
ну если цикл в самом коде, то однократный запуск не поможет, а кода мы так и не увидели...
Если кнопку прерывания не запрятали, то рубануть программу можно кнопками Ctrl+.
Если кнопку прерывания не запрятали, то рубануть программу можно кнопками Ctrl+.
-
- interested
- Сообщения: 6
- Зарегистрирован: 11 мар 2021, 22:58
- Версия LabVIEW: 16
- Контактная информация:
Re: Снять ошибку во время выполнения прибора
Код с чего все началось: Стандартный пример Write to Text File and Read from Text File.vi
в котором после Build Path я удалил Delete. Запускаю vi на бесконечное выполнение и переключаюсь во вкладку Case : Input File as Refnum. Начинает постоянно выскакивать ошибка. Вот в этот момент и хочется оборвать выполнение прибора без танцев с бубнами.
Сама ошибка - понятна и не интересна, а вот как прервать выполнение программы - не понятно.
в котором после Build Path я удалил Delete. Запускаю vi на бесконечное выполнение и переключаюсь во вкладку Case : Input File as Refnum. Начинает постоянно выскакивать ошибка. Вот в этот момент и хочется оборвать выполнение прибора без танцев с бубнами.
Сама ошибка - понятна и не интересна, а вот как прервать выполнение программы - не понятно.
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Снять ошибку во время выполнения прибора
А накой такой ерундой заниматься?
Очень странное желание, при условии, что вы получили то, чего добивались.Вот в этот момент и хочется оборвать выполнение прибора без танцев с бубнами.
Очевидно, что она вам не понятна, и вообще-то должна БЫТЬ интересна.Сама ошибка - понятна и не интересна
file->create СОЗДАЁТ файл, но он уже существует, ибо нефиг было удалять удаление файла. Вот вы и получаете ошибку "дубликат".
Если файл не нужно удалять, то вместо create нужно выбрать другую опцию - открыть или переписать, смотря что нужно по задумке.
- Доктор, когда я так делаю, у меня вот ту болит.а вот как прервать выполнение программы - не понятно.
- Не делайте так.
-
- interested
- Сообщения: 6
- Зарегистрирован: 11 мар 2021, 22:58
- Версия LabVIEW: 16
- Контактная информация:
Re: Снять ошибку во время выполнения прибора
Артем, спасибо за критику, все верно.
Но.
Код был приведен для получения такой глупой ситуации и с бесконечным циклом.
Я искал "волшебную кнопку", что-бы остановить подобные ситуации так как дети тычут куда попало и удаляют все что можно и нельзя.
Я думаю что чего-то не понимаю и ищу способ попроще чем Ctrl-Alt-Del.
Спасибо.
Но.
Код был приведен для получения такой глупой ситуации и с бесконечным циклом.
Я искал "волшебную кнопку", что-бы остановить подобные ситуации так как дети тычут куда попало и удаляют все что можно и нельзя.
Я думаю что чего-то не понимаю и ищу способ попроще чем Ctrl-Alt-Del.
Спасибо.
- Din
- beginner
- Сообщения: 19
- Зарегистрирован: 13 мар 2019, 14:37
- Версия LabVIEW: 2017
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
Re: Снять ошибку во время выполнения прибора
Я понимаю, чего вы хотите, но сразу говорю, это решение г..но, не надо так)))
На вход while loop подаете константу кластера ошибок. Протягиваете провод кластера через все (коричневый провод) и на выходе чистите. Он будет крутиться , пока сами не вырубите. Кстати, условие останова цикла есть хоть какое адекватное? По кнопке?
Если же вам надо вырубать все по ошибке сразу же, то на останов цикла заводите коричневый провод через ИЛИ с кнопкой СТОП. Естественно, уже без функции Clear Errors.
З.Ы. Функция write там чисто для примера.
На вход while loop подаете константу кластера ошибок. Протягиваете провод кластера через все (коричневый провод) и на выходе чистите. Он будет крутиться , пока сами не вырубите. Кстати, условие останова цикла есть хоть какое адекватное? По кнопке?
Если же вам надо вырубать все по ошибке сразу же, то на останов цикла заводите коричневый провод через ИЛИ с кнопкой СТОП. Естественно, уже без функции Clear Errors.
З.Ы. Функция write там чисто для примера.
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Снять ошибку во время выполнения прибора
Самое простое в этом варианте - заменить выскакивающие сообщение на простой индикатор. Тогда про ошибку будет известно, но она не будет блокировать управление программой.
Причем наличие индикатора важно. Если его нет (голый провод), система сама будет генерировать окно, т.к ошибка "не обработана", а если есть индикатор, то система считает, что обработка есть
Причем наличие индикатора важно. Если его нет (голый провод), система сама будет генерировать окно, т.к ошибка "не обработана", а если есть индикатор, то система считает, что обработка есть
-
- interested
- Сообщения: 6
- Зарегистрирован: 11 мар 2021, 22:58
- Версия LabVIEW: 16
- Контактная информация:
Re: Снять ошибку во время выполнения прибора
Спасибо, перевариваю. Основной вывод такой. Учись писать правильно! Передам детям, пусть мозгами учатся шевелить.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 20 Ответы
- 672 Просмотры
-
Последнее сообщение Zloydj