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

Тема: вызов программ

  1. #1

    По умолчанию вызов программ

    вопрос спецам.
    в программе три режима, три программы которые вызываются следующим образом как показано на скрине. одна программа написана Fbd и две Sfc. при вызове одной из Sfc программы сначала она работает, потом если перевести в другой режим и снова обратится к ней она начинает работать с того шага на котором была остановлена, а не с первого, при этом плк начинает жутко тормозить и на панели оператора (сенсорная панель сп270) появляется сообщение типа нет связи. как сделать что бы при повторном обращении к Sfc программе она начинала работать с первого шага а не с того где остановилась. и почему плк периодически притормаживает именно с этой программой, не только когда произвести выше указанные манипуляции, а просто после включения через какое то время и работе в одном режиме.
    Изображения Изображения
    • Тип файла: jpg 1.JPG (123.2 Кб, Просмотров: 85)
    Вложения Вложения

  2. #2
    Пользователь
    Регистрация
    15.12.2006
    Адрес
    Калуга
    Сообщений
    157

    По умолчанию

    на каком плк это сделано и прошивка?

  3. #3

    По умолчанию

    плк 110 32м, прошивка фиг знает

  4. #4

    По умолчанию

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

  5. #5

    По умолчанию

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

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

    По умолчанию

    вы при начале выполнения действия выставляйте флаг, при окончании - сбрасывайте его.
    по фронту этого флага(маркера) переходите к следующему шагу.

  7. #7

    По умолчанию

    почитал мануал и форум. решил использовать SFCInit. как делал показано на скрине, почему выходит ошибка при компиляции, что не так? вроде всё правильно делал.
    Изображения Изображения

  8. #8

    По умолчанию

    все верно. инициализация.
    в программе или в фб есть своя локальная память. поэтому данные программные модули имеют возможность сохранять те, либо иные состояния.

    если у вас большая программа, а фб или программ в вашем проекте много, и каждую программу или фб при вызове необходимо выполнять в исходном виде, то без инициализации ни как, это касается любого языка программирования.
    Последний раз редактировалось Кирилл Валюнин; 06.12.2010 в 10:46.

  9. #9

    По умолчанию

    Читал в мануале про инициализацию, не понял , может ткнете носом что именно и как надо сделать?

  10. #10

    По умолчанию

    Цитата Сообщение от woffka Посмотреть сообщение
    Читал в мануале про инициализацию, не понял , может ткнете носом что именно и как надо сделать?
    Вариантов много.
    Как правило делается дополнительный вход в ФБ, под назватием Start или еще как нибудь.

    При подаче сигнала на данный блок определяется фронт сигнала, по фронту высталяете все переменные блока в исходные значения. Соответственно, если сигнал на входе данного блока сохраняется, то блок выполняется, если нет, то блок не выполняется.

    В случае SFC данная функция реализуется в виде инициализации шага.

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

Ваши права

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