- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Диагностика шагов процесса
Модератор: kirillio
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 05 сен 2010, 21:56
- Имя: Игорь
- Страна: Украина
- Благодарил (а): 3 раза
- Поблагодарили: 3 раза
Диагностика шагов процесса
Добрый день.
Есть задача которую планируем решить на языке функциональной последовательности - SFC.
Хочется сделать с диагностикой и, возможно, с выводом на HMI - специальный инженерный
экран с шагами, где будет видно на каком шаге проблема и т.д.
Я думаю так: создать переменную типа INT и в каждом шаге присваевать ей число, а
по значению переменной определять проблему.
Когда-то на форуме нечто подобное видел, но сейчас не могу эту тему найти.
Может кто подскажет как делает диагностику в последовательностях?
Есть задача которую планируем решить на языке функциональной последовательности - SFC.
Хочется сделать с диагностикой и, возможно, с выводом на HMI - специальный инженерный
экран с шагами, где будет видно на каком шаге проблема и т.д.
Я думаю так: создать переменную типа INT и в каждом шаге присваевать ей число, а
по значению переменной определять проблему.
Когда-то на форуме нечто подобное видел, но сейчас не могу эту тему найти.
Может кто подскажет как делает диагностику в последовательностях?
-
- эксперт
- Сообщения: 2085
- Зарегистрирован: 15 авг 2011, 21:36
- Имя: Пупков Сергей Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 134 раза
- Поблагодарили: 174 раза
Диагностика шагов процесса
Вы описали один из методов написания программы.
Который полезен для отладки программы и также поиску ошибок при эксплуатации через интерфейс программы.
Причем тут правда SFC непонятно. Этот язык наверное только для презентаций и годиться.
Насчет диагностики, так это никак не связанно с данным методом программирования.
Для диагностики нужна голова!... светлая!
А данный метод просто помогает структурировать программы, чтобы их легче было освоить и легче было что-то искать.
Препод нас в ВУЗе натаскивала - программист, который не пишет комментарии - бестолковый пройдоха, а тот кто пишет - уважаемый специалист. Замысел был тот же, программа должна быть легка для освоения стороннему программисту, а куски кода иметь возможность повторного использования.
Бывало даже так, придешь к ней программку сдать - все работает, результат есть, а она заставляла писать комментарии и отступы ставить в каждой строчке в соответствии с уровнями вложения.
Который полезен для отладки программы и также поиску ошибок при эксплуатации через интерфейс программы.
Причем тут правда SFC непонятно. Этот язык наверное только для презентаций и годиться.
Насчет диагностики, так это никак не связанно с данным методом программирования.
Для диагностики нужна голова!... светлая!
А данный метод просто помогает структурировать программы, чтобы их легче было освоить и легче было что-то искать.
Препод нас в ВУЗе натаскивала - программист, который не пишет комментарии - бестолковый пройдоха, а тот кто пишет - уважаемый специалист. Замысел был тот же, программа должна быть легка для освоения стороннему программисту, а куски кода иметь возможность повторного использования.
Бывало даже так, придешь к ней программку сдать - все работает, результат есть, а она заставляла писать комментарии и отступы ставить в каждой строчке в соответствии с уровнями вложения.
-
- почётный участник форума
- Сообщения: 5632
- Зарегистрирован: 07 окт 2011, 09:12
- Имя: Гаско Вячеслав Эриевич
- Страна: Россия
- город/регион: Рязань
- Благодарил (а): 600 раз
- Поблагодарили: 756 раз
Диагностика шагов процесса
Если у Вас нет задач, под которые "заточен" язык SFC, то сам SFC пред Вами ни в чём не провинился.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 05 сен 2010, 21:56
- Имя: Игорь
- Страна: Украина
- Благодарил (а): 3 раза
- Поблагодарили: 3 раза
Диагностика шагов процесса
Да, я то же за структуризацию и детальное комментирование программы (и не только - везде клею скотчем записки!!!! -
поначалу смеялись, а теперь реально приносит пользу).
До этого логику писал на IF-THEN-ELSE, а здесь на другой установке, логика написана "шагами" - показалась удобной!
Но подрядчики ничего не сделали, в этих шагах, для поиска неисправностей в последовательности.
Иногда последовательность "застряет" на каком-то шаге и трудно найти причину неисправности. Там вложение - несколько
последовательностей вложены в другую, и подключившись онлайн очень трудно найти проблему. Плюс это всегда при
пуске установки............. Вообщем рассказал "что - почем" подробно. :)
Однако вопрос касался не этого.
Теперь, из-за нерадивых подрядчиков и попустительства начальства (а скорее и не попустительства :) ), прийдется писать
нам, и решили это сделать на языке последовательностей. Но хочется лучше, чем "на другой установке".
Когда-то на форуме увидел пример и он мне очень понравился, но я его подзабыл, и не получается вспомнить,
там идея была с тегом в который записывается номер шага, если он выполнился и значение 255, если - нет.
Возможно, не совсем верно помню.
Поэтому прошу народ кинуть несколько примеров, кто как делает.
За ранее огромное спасибо.
поначалу смеялись, а теперь реально приносит пользу).
До этого логику писал на IF-THEN-ELSE, а здесь на другой установке, логика написана "шагами" - показалась удобной!
Но подрядчики ничего не сделали, в этих шагах, для поиска неисправностей в последовательности.
Иногда последовательность "застряет" на каком-то шаге и трудно найти причину неисправности. Там вложение - несколько
последовательностей вложены в другую, и подключившись онлайн очень трудно найти проблему. Плюс это всегда при
пуске установки............. Вообщем рассказал "что - почем" подробно. :)
Однако вопрос касался не этого.
Теперь, из-за нерадивых подрядчиков и попустительства начальства (а скорее и не попустительства :) ), прийдется писать
нам, и решили это сделать на языке последовательностей. Но хочется лучше, чем "на другой установке".
Когда-то на форуме увидел пример и он мне очень понравился, но я его подзабыл, и не получается вспомнить,
там идея была с тегом в который записывается номер шага, если он выполнился и значение 255, если - нет.
Возможно, не совсем верно помню.
Поэтому прошу народ кинуть несколько примеров, кто как делает.
За ранее огромное спасибо.
-
- почётный участник форума
- Сообщения: 3575
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 6 раз
- Поблагодарили: 271 раз
Диагностика шагов процесса
Примените системный подход: нужно разработать систему, на входе которой номера шагов в нескольких последовательностях, а на выходе что? Что вы хотите увидеть?
Самое удобное, когда на экране будет написано на русском языке: "пусть Вася идет за ключом на 12, а ты, Петя, пока протяни клеммы на клеммнике X13". Это идеальная система диагностики.
А что хотите получить Вы?
Самое удобное, когда на экране будет написано на русском языке: "пусть Вася идет за ключом на 12, а ты, Петя, пока протяни клеммы на клеммнике X13". Это идеальная система диагностики.
А что хотите получить Вы?
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 05 сен 2010, 21:56
- Имя: Игорь
- Страна: Украина
- Благодарил (а): 3 раза
- Поблагодарили: 3 раза
Диагностика шагов процесса
Ну, последовательность управляет процессом..........
А на инженерном экране изображена некая модель шагов
последовательности (пока не знаю точно как ее изобразить)
Когда возникнет проблема, на этом экране можно увидеть шаг
который "завис".
А на инженерном экране изображена некая модель шагов
последовательности (пока не знаю точно как ее изобразить)
Когда возникнет проблема, на этом экране можно увидеть шаг
который "завис".
-
- эксперт
- Сообщения: 2085
- Зарегистрирован: 15 авг 2011, 21:36
- Имя: Пупков Сергей Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 134 раза
- Поблагодарили: 174 раза
Диагностика шагов процесса
Как правило общение с программой во время ее исполнения, сводиться к отображению разнообразных переменных - числа, массивы, строки.
Переменные наблюдаются почти на любой системе отладки (программирования) или если выведены на визуализацию.
С одной стороны: чем больше переменных - тем больше представление о процессе. С другой стороны чем больше, тем сложнее их организовать.
Я затрудняюсь представить, что хотя бы для одной, более менее серьезной установки, можно вывести достаточно информации для полной диагностики. С другой стороны, каждая установка часто ломается только в определенных 2-3 местах. Соответственно нужно выделить такие неисправности и отобразить достаточно информации для их диагностики.
А по хорошему, такую диагностическую информацию надо добавлять по ходу эксплуатации, ориентируясь на те неисправности, что случаются.
Переменные наблюдаются почти на любой системе отладки (программирования) или если выведены на визуализацию.
С одной стороны: чем больше переменных - тем больше представление о процессе. С другой стороны чем больше, тем сложнее их организовать.
Я затрудняюсь представить, что хотя бы для одной, более менее серьезной установки, можно вывести достаточно информации для полной диагностики. С другой стороны, каждая установка часто ломается только в определенных 2-3 местах. Соответственно нужно выделить такие неисправности и отобразить достаточно информации для их диагностики.
А по хорошему, такую диагностическую информацию надо добавлять по ходу эксплуатации, ориентируясь на те неисправности, что случаются.
-
- почётный участник форума
- Сообщения: 3575
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 6 раз
- Поблагодарили: 271 раз
Диагностика шагов процесса
Ну ладно, в порядке бреда:
на инженерном экране происходит преобразование числа INT в текст, например, STATE=0 -> "Шаг 0. Отвод в исходное положение", STATE=1 -> "Шаг 1. Сталкивание детали с конвейера", STATE=2 -> "Шаг 2. Зажим детали", STATE=3 -> "Шаг 3. Обработка фаски" и т.д. Если последовательность зависнет на каком-то шаге, то можно быстро сориентироваться, что происходит. В случае нескольких последовательностей задача тоже решаема.
Принято в руководствах по эксплуатации писать таблицу с графами "Неисправность", "Признаки неисправности", "Как устранить". В данном случае можно заполнить таблицу примерно следующим содержанием: "Сломался конечник SQ1", "Зависание на шагах 1, 12 и 23", "Проверьте работоспособность конечника SQ1".
Вместо этой таблицы можно сделать автоматический анализатор неисправностей и выводить на экран не просто номер шага и действие, а уже результат анализа неисправности. Детектор зависания на шаге - это компаратор ("шаг равен 10?") + таймер типа TON + RS-триггер. Детектор конкретной неисправности - компаратор ("шаг равен 10?") AND ("конечник SQ1 выключен") + таймер типа TON + RS-триггер.
Можно просто отображать текущее сообщение, а можно писать в лог. Можно просто пассивно диагностировать, а можно останавливать процесс. В общем независимая от основного алгоритма подсистема диагностики (за исключением останова процесса).
на инженерном экране происходит преобразование числа INT в текст, например, STATE=0 -> "Шаг 0. Отвод в исходное положение", STATE=1 -> "Шаг 1. Сталкивание детали с конвейера", STATE=2 -> "Шаг 2. Зажим детали", STATE=3 -> "Шаг 3. Обработка фаски" и т.д. Если последовательность зависнет на каком-то шаге, то можно быстро сориентироваться, что происходит. В случае нескольких последовательностей задача тоже решаема.
Принято в руководствах по эксплуатации писать таблицу с графами "Неисправность", "Признаки неисправности", "Как устранить". В данном случае можно заполнить таблицу примерно следующим содержанием: "Сломался конечник SQ1", "Зависание на шагах 1, 12 и 23", "Проверьте работоспособность конечника SQ1".
Вместо этой таблицы можно сделать автоматический анализатор неисправностей и выводить на экран не просто номер шага и действие, а уже результат анализа неисправности. Детектор зависания на шаге - это компаратор ("шаг равен 10?") + таймер типа TON + RS-триггер. Детектор конкретной неисправности - компаратор ("шаг равен 10?") AND ("конечник SQ1 выключен") + таймер типа TON + RS-триггер.
Можно просто отображать текущее сообщение, а можно писать в лог. Можно просто пассивно диагностировать, а можно останавливать процесс. В общем независимая от основного алгоритма подсистема диагностики (за исключением останова процесса).
-
- эксперт
- Сообщения: 1109
- Зарегистрирован: 09 фев 2011, 11:32
- Имя: Дитрих Евгений Линусович
- город/регион: Донецк
- Благодарил (а): 321 раз
- Поблагодарили: 218 раз
Диагностика шагов процесса
Очень похоже, что piv подобный "бред" хотел увидеть.
Для реализации сложных циклограмм SFC - самое, то, что надо (там есть таймеры времени исполнения).
В PLC без SFC могут быть секвенсоры - чуть сложнее, но тоже реализуемо.
Учите матчасть - возможно присваивать ничего не надо, а вот проблему определить почему определенный шаг не выполнился, кроме вас, с вашим ТП никто не знает (даже угадать не сможем - экстрасенсов в штате нет).
Отправлено спустя 54 минуты 48 секунд:
У Rockwell для контроллеров Logix имеется Phase manager, полезная вещица для организации последовательностей.
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 05 сен 2010, 21:56
- Имя: Игорь
- Страна: Украина
- Благодарил (а): 3 раза
- Поблагодарили: 3 раза
Диагностика шагов процесса
Хорошо, все вы правильно говорите - и мало опыта, и полноценная диагностика довольно сложна, и желательно использовать
встроенный функционал редактора........ Но мне нужно было вот это:
Думаю тему можно закрывать.
встроенный функционал редактора........ Но мне нужно было вот это:
Ладно. Всем участникам спасибо.piv писал(а): Когда-то на форуме увидел пример и он мне очень понравился, но я его подзабыл, и не получается вспомнить,там идея была с тегом в который записывается номер шага, если он выполнился и значение 255, если - нет.Возможно, не совсем верно помню.Поэтому прошу народ кинуть несколько примеров, кто как делает.
Думаю тему можно закрывать.