Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 24 из 24

Тема: Pointer-константа: как инициализировать?

  1. #21

    По умолчанию

    Цитата Сообщение от Дмитрий Егоренков Посмотреть сообщение
    -- придется вам инициализировать указатели при запуске программы.
    Была бы определённая функция (типа Setup как в Arduino) выполняемая один раз при старте контроллера, и засорять инициализацией PLC_PRG не пришлось бы..
    Да и на ФБ конструкторов не хватает, и метод инициализации для них не сделаешь, так как методам незя аргументы передать... Усё приходится делать через ЖЖЖ..

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

    По умолчанию

    о! так давайте спрошу.

    я думаю, что, если в проекте есть программа Sfc, то в ней шаг Init - выполняется единожды?

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

  3. #23

    По умолчанию

    Пропадание питания очень просто обходится:
    Добавляем модуль статистика в PLC Configuration, и отслеживаем состояние бита power.

    f_trig1(power);
    if f_trig1.q := 1 then
    moy_flag:=...;
    end_if

    По аналогии - при появлении питания какие то действия с флагами можно выполнить.

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

    По умолчанию

    Спасибо! Попробую использовать Ваши советы. Еще модуль статистики не трогал.
    Последний раз редактировалось Пугачев Андрей; 23.12.2010 в 10:29. Причина: косноязычие

Страница 3 из 3 ПерваяПервая 123

Ваши права

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