Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 16

Тема: помогите с программированием

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию помогите с программированием

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

  2. #2

    По умолчанию

    в хелпе читайте SFCInit, SFCReset.
    P.S.: Сам не пробовал.

  3. #3

    По умолчанию

    > в хелпе читайте SFCInit, SFCReset.
    > P.S.: Сам не пробовал.
    про это читал, применял в проектах, но думал найти более красивое решение
    Последний раз редактировалось demetriuse; 06.12.2010 в 22:02.

  4. #4

    По умолчанию

    Взгляни эту темку. http://owen.ru/forum/showthread.php?t=9067 Особенно вложения. Про кнопку стоп смотреть во вложении сообщения №9 :-) и конечно поиск по форуму рулит!!!
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

  5. #5

    По умолчанию

    Цитата Сообщение от Gans Посмотреть сообщение
    Взгляни эту темку. http://owen.ru/forum/showthread.php?t=9067 Особенно вложения. Про кнопку стоп смотреть во вложении сообщения №9 :-) и конечно поиск по форуму рулит!!!
    Посмотрел...после каждого шага добавлять проверку на нажатие грибка и переход на начало цикла - на маленьком цикле пойдет....а когда у него пару десятков шагов это уже напрягать начинает....реализовывал проще в одну команду через SFCInit, SFCReset, но везде пишут что эти механизмы только для отладки и использовать в рабочих программах не рекомендуется...вот и искал решение красивее

  6. #6
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от demetriuse Посмотреть сообщение
    искал решение красивее
    Я пофанитазирую, потому что сам только начинаю осваивать SFC.
    А если в SFC-программе запустить параллельно основной ветви некий шаг, который только и делает, что проверяет условие СТОПа? Ну, и вытворяет всякие безобразия, когда видит нажатие грибка. Т.е. останавливает все пучком.
    Параллельность этого шага основной ветви что означает? Что он исполняется каждый цикл. Значит реакция будет мгновенной. И в основной ветви (ветвях) ничего можно не проверять.

    Примечание. А при использовании МЭК-шагов такая штука, ИМХО, будет реализовываться просто действием, активизированным на каком-то шаге и не умирающим, когда шаг не активен. Или не так?

  7. #7

    По умолчанию

    Цитата Сообщение от drvlas Посмотреть сообщение
    Я пофанитазирую, потому что сам только начинаю осваивать SFC.
    А если в SFC-программе запустить параллельно основной ветви некий шаг, который только и делает, что проверяет условие СТОПа? Ну, и вытворяет всякие безобразия, когда видит нажатие грибка. Т.е. останавливает все пучком.
    Параллельность этого шага основной ветви что означает? Что он исполняется каждый цикл. Значит реакция будет мгновенной. И в основной ветви (ветвях) ничего можно не проверять.

    Примечание. А при использовании МЭК-шагов такая штука, ИМХО, будет реализовываться просто действием, активизированным на каком-то шаге и не умирающим, когда шаг не активен. Или не так?
    В предыдущих проектах я так и делал. Вешал парл шаг который контролировал грибок, в случае его нажатия сбрасывал основной цикл.

    Парл шаг - это в терминах codesys размножение маркера, что приводит к тому что исполнитель выполняет и текущий шаг и висячий парл шаг. В книгах размножать маркер не рекомендуют

  8. #8
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

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

  9. #9
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    обычно пишу условия пуска и стоп отдельным блоком, котрорый обрабатывается в каждом цикле.

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

  10. #10

    По умолчанию

    Цитата Сообщение от lara197a Посмотреть сообщение
    обычно пишу условия пуска и стоп отдельным блоком, котрорый обрабатывается в каждом цикле.

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

Страница 1 из 2 12 ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •