Показано с 1 по 9 из 9

Тема: Прерывание функционального блока. Аварийный сброс. Нужна помощь

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    20.07.2007
    Адрес
    Киров
    Сообщений
    152

    По умолчанию

    Цитата Сообщение от Игорь Петров Посмотреть сообщение
    Про SFCInit/SFCReset см. тут.

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

  2. #2

    По умолчанию

    Цитата Сообщение от Rand0m Посмотреть сообщение
    вы тут наверное погорячились... вопрос в том можно ли прерывать выполнение ФБ до его завершения или всетаки нет.
    А что значит завершение FB написанного на SFC? Это же не выражение типа 2 +2, посчитал и закончил. SFC диаграмма не имеет никакого завершения принципиально. Она просто переходит из одного состояния в другое и так живет. Одно из этих состояний совершенно условно названо стартовым. Оно получает управление при старте, далее ничем особенным не отличается. FB на SFC можно просто вызывать или не вызывать. Проще всего его вызывать всегда. Если он не нужен, то он может просто спокойно стоять на пустом шаге.
    По return влетит SFC из некоего действия. При следующем вызове опять с этого шага начнет. Return имеет смысл в действиях, например для выхода из цикла со сложными условиями.
    SFCReset – это как goto в языке Си. Если диаграмма сразу продумана, то в ней будет предусмотрено когда надо и где можно переход на начало по условию (по некой входной переменной). Когда же диаграмма уже большая, то переделывать ее всю лень. На этот случай и есть SFCReset.

Ваши права

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