1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Диагностика шагов процесса

Обсуждение вопросов, не относящихся ни к одному из других подразделов

Модератор: kirillio

Ответить

Автор темы
piv
здесь недавно
здесь недавно
Сообщения: 76
Зарегистрирован: 05 сен 2010, 21:56
Имя: Игорь
Страна: Украина
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Диагностика шагов процесса

Сообщение piv »

Добрый день.

Есть задача которую планируем решить на языке функциональной последовательности - SFC.
Хочется сделать с диагностикой и, возможно, с выводом на HMI - специальный инженерный
экран с шагами, где будет видно на каком шаге проблема и т.д.

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

Когда-то на форуме нечто подобное видел, но сейчас не могу эту тему найти.
Может кто подскажет как делает диагностику в последовательностях?

:thankyou:
Аватара пользователя

Serex
эксперт
эксперт
Сообщения: 2085
Зарегистрирован: 15 авг 2011, 21:36
Имя: Пупков Сергей Викторович
Страна: Россия
город/регион: Москва
Благодарил (а): 101 раз
Поблагодарили: 132 раза

Диагностика шагов процесса

Сообщение Serex »

Вы описали один из методов написания программы.
Который полезен для отладки программы и также поиску ошибок при эксплуатации через интерфейс программы.
Причем тут правда SFC непонятно. Этот язык наверное только для презентаций и годиться.

Насчет диагностики, так это никак не связанно с данным методом программирования.
Для диагностики нужна голова!... светлая!
А данный метод просто помогает структурировать программы, чтобы их легче было освоить и легче было что-то искать.

Препод нас в ВУЗе натаскивала - программист, который не пишет комментарии - бестолковый пройдоха, а тот кто пишет - уважаемый специалист. Замысел был тот же, программа должна быть легка для освоения стороннему программисту, а куски кода иметь возможность повторного использования.
Бывало даже так, придешь к ней программку сдать - все работает, результат есть, а она заставляла писать комментарии и отступы ставить в каждой строчке в соответствии с уровнями вложения.

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5622
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 544 раза
Поблагодарили: 706 раз

Диагностика шагов процесса

Сообщение Ryzhij »

Serex писал(а): Причем тут правда SFC непонятно. Этот язык наверное только для презентаций и годиться.
:ext_dont_ment: Если у Вас нет задач, под которые "заточен" язык SFC, то сам SFC пред Вами ни в чём не провинился.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

Автор темы
piv
здесь недавно
здесь недавно
Сообщения: 76
Зарегистрирован: 05 сен 2010, 21:56
Имя: Игорь
Страна: Украина
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Диагностика шагов процесса

Сообщение piv »

Да, я то же за структуризацию и детальное комментирование программы (и не только - везде клею скотчем записки!!!! -
поначалу смеялись, а теперь реально приносит пользу).
До этого логику писал на IF-THEN-ELSE, а здесь на другой установке, логика написана "шагами" - показалась удобной!
Но подрядчики ничего не сделали, в этих шагах, для поиска неисправностей в последовательности.
Иногда последовательность "застряет" на каком-то шаге и трудно найти причину неисправности. Там вложение - несколько
последовательностей вложены в другую, и подключившись онлайн очень трудно найти проблему. Плюс это всегда при
пуске установки............. Вообщем рассказал "что - почем" подробно. :)
Однако вопрос касался не этого.
Теперь, из-за нерадивых подрядчиков и попустительства начальства (а скорее и не попустительства :) ), прийдется писать
нам, и решили это сделать на языке последовательностей. Но хочется лучше, чем "на другой установке".
Когда-то на форуме увидел пример и он мне очень понравился, но я его подзабыл, и не получается вспомнить,
там идея была с тегом в который записывается номер шага, если он выполнился и значение 255, если - нет.
Возможно, не совсем верно помню.
Поэтому прошу народ кинуть несколько примеров, кто как делает.
За ранее огромное спасибо.

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3559
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 253 раза

Диагностика шагов процесса

Сообщение Михайло »

Примените системный подход: нужно разработать систему, на входе которой номера шагов в нескольких последовательностях, а на выходе что? Что вы хотите увидеть?

Самое удобное, когда на экране будет написано на русском языке: "пусть Вася идет за ключом на 12, а ты, Петя, пока протяни клеммы на клеммнике X13". Это идеальная система диагностики.

А что хотите получить Вы?

Автор темы
piv
здесь недавно
здесь недавно
Сообщения: 76
Зарегистрирован: 05 сен 2010, 21:56
Имя: Игорь
Страна: Украина
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Диагностика шагов процесса

Сообщение piv »

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

Serex
эксперт
эксперт
Сообщения: 2085
Зарегистрирован: 15 авг 2011, 21:36
Имя: Пупков Сергей Викторович
Страна: Россия
город/регион: Москва
Благодарил (а): 101 раз
Поблагодарили: 132 раза

Диагностика шагов процесса

Сообщение Serex »

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

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3559
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 253 раза

Диагностика шагов процесса

Сообщение Михайло »

Ну ладно, в порядке бреда:
на инженерном экране происходит преобразование числа 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-триггер.

Можно просто отображать текущее сообщение, а можно писать в лог. Можно просто пассивно диагностировать, а можно останавливать процесс. В общем независимая от основного алгоритма подсистема диагностики (за исключением останова процесса).
Аватара пользователя

Looker
эксперт
эксперт
Сообщения: 1105
Зарегистрирован: 09 фев 2011, 11:32
Имя: Дитрих Евгений Линусович
город/регион: Донецк
Благодарил (а): 255 раз
Поблагодарили: 184 раза

Диагностика шагов процесса

Сообщение Looker »

Михайло писал(а): Ну ладно, в порядке бреда:
Очень похоже, что piv подобный "бред" хотел увидеть.
piv писал(а): Есть задача которую планируем решить на языке функциональной последовательности - SFC.
Хочется сделать с диагностикой и, возможно, с выводом на HMI - специальный инженерный
экран с шагами, где будет видно на каком шаге проблема и т.д.
Для реализации сложных циклограмм SFC - самое, то, что надо (там есть таймеры времени исполнения).
В PLC без SFC могут быть секвенсоры - чуть сложнее, но тоже реализуемо.
piv писал(а):Я думаю так: создать переменную типа INT и в каждом шаге присваевать ей число, а
по значению переменной определять проблему.
Учите матчасть - возможно присваивать ничего не надо, а вот проблему определить почему определенный шаг не выполнился, кроме вас, с вашим ТП никто не знает (даже угадать не сможем - экстрасенсов в штате нет).

Отправлено спустя 54 минуты 48 секунд:
У Rockwell для контроллеров Logix имеется Phase manager, полезная вещица для организации последовательностей.
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу

Автор темы
piv
здесь недавно
здесь недавно
Сообщения: 76
Зарегистрирован: 05 сен 2010, 21:56
Имя: Игорь
Страна: Украина
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Диагностика шагов процесса

Сообщение piv »

Хорошо, все вы правильно говорите - и мало опыта, и полноценная диагностика довольно сложна, и желательно использовать
встроенный функционал редактора........ Но мне нужно было вот это:
piv писал(а): Когда-то на форуме увидел пример и он мне очень понравился, но я его подзабыл, и не получается вспомнить,там идея была с тегом в который записывается номер шага, если он выполнился и значение 255, если - нет.Возможно, не совсем верно помню.Поэтому прошу народ кинуть несколько примеров, кто как делает.
Ладно. Всем участникам спасибо.
Думаю тему можно закрывать.
Ответить

Вернуться в «Общие вопросы»