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

Тема: язык Sfc

  1. #1
    Пользователь
    Регистрация
    29.11.2007
    Адрес
    Ставрополь
    Сообщений
    56

    По умолчанию язык Sfc

    добрый день всем.
    возможно ли в языке Sfc выполнить программу один раз и выйти из Pou на последнем шаге (или переходе к Init)?
    заранее большое спасибо!!

  2. #2

    По умолчанию

    можно в конце поставить пустое действие с выходом False, эффект будет тот же.

  3. #3

    По умолчанию

    Цитата Сообщение от RV9WFJ Посмотреть сообщение
    можно в конце поставить пустое действие с выходом False, эффект будет тот же.
    Кроме того есть возможность прервать исполнение программы (переход в начальное состояние), тактировать исполнение, контролировать время исполнения. Это делается через переменные в параметрах программы
    в справке см SFCReset,SFCInit и.т.д.

  4. #4
    Пользователь
    Регистрация
    29.11.2007
    Адрес
    Ставрополь
    Сообщений
    56

    По умолчанию

    уточню вопрос.как выйти из Pou после одного циклавыполнения, если Pou написан на Sfc?

  5. #5

    По умолчанию

    Цикл выполнения SFC это не правильно. Можно говорить о цикле выполнения состояния SFC. Даже если у Вас все переходы = true сеть из n последовательных состояний будет выполняться n циклов ПЛК. Т.е. по умолчанию (цикл плк=1 мс) n мс.

    Прекратить выполнение программы sfc можно установив переменную программы на SFC (важно - не глобальную - а именно локальную) SFCReset в true.

  6. #6
    Пользователь
    Регистрация
    29.11.2007
    Адрес
    Ставрополь
    Сообщений
    56

    По умолчанию

    Спасибо всем!! Зделал с использованием флага Step. Работает как надо

  7. #7
    незарегистрированный
    Гость

    По умолчанию

    Немного запоздало, но ничего.
    Вообще все зависит от среды разработки! Если Вы разрабатываете в ISAGraf то завершение проги производится командой GKILL("имя проги").
    Если используется, скажем ABB Freelance, то можно указать в свойствах программы переменную, для включения/выключения активного режима работы.
    Или на крайняк, если надо, чтобы программа отрабатывала один раз, то в конце всей цепочки поставить невыполнимое условие. Например во Freelance поставить .RESULT:=false; Но этот способ не очень хорош, так как прога остается в оперативной памяти контроллера, НО не работает, а следовательно не занимает ресурсов процессора.

Ваши права

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