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

Тема: Сброс программных модулей (PRG) Codesys 3.5 sp14

  1. #1

    По умолчанию Сброс программных модулей (PRG) Codesys 3.5 sp14

    Добрый день.

    Подскажите пожалуйста, как сбросить работу пользовательской программы (PRG) из другого модуля?

    Описание задачи:
    Есть 3 режима (ручной, по таймеру, по датчику) для работы по каждому из режимов написан программный модуль.
    При смене режима необходимо сбрасывать работу модулей для остальных режимов.

  2. #2

    По умолчанию

    Весь код выполнен CFC для наглядности. (не хотелосьбы переписывать на ST)
    Именно так не пробывал, но пробывал со входами EN/ENO. Не помогло
    Выпонение возобновляется.

    Дополнение каждый модуль имеет много таймеров и тригеров и четкую последовательность

  3. #3

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    ну если следовать прям букве(".. при смене режима.. ") , то типа:
    var
    mstate_ :.... := -1; //-1 для старт-сброса
    ....
    mstate :=...
    prg1(OnReset := mstate <> mstate_ and mstate <> 1, Enable = mstate = 1);
    prg2(аналогично..);
    prg3(аналогично..);
    mstate_:=mstate;

    а во внутрях каждой prgx типа так:
    if OnReset then //событие
    ... //что то там сброс
    elsif Enable then
    ... //собсно работа..
    end_if

    Это если сам сброс не влияет на других
    Не уловил в чем идея.
    просто прописать сброс всех переменных не поможет (F_trig, TOF и тп)

  4. #4

    По умолчанию

    Цитата Сообщение от Gachok24 Посмотреть сообщение
    Описание задачи:
    Есть 3 режима (ручной, по таймеру, по датчику) для работы по каждому из режимов написан программный модуль.
    При смене режима необходимо сбрасывать работу модулей для остальных режимов.
    Без изменения кода всех программ вы не сможете сбросить их работу. Например чтобы сбросить таймер надо не только снять сигнал со входа, но и записать в PT=T#0ms.
    И так со всеми таймерами. Вам придётся добавить 3 глобальных булевых переменных, по которым будут сбрасываться все входы (выходы) и обнулятся все таймеры.

    Начните с одной программы, сделайте её отключение по переменной. Глобальные вам помогут управлять включением, выключением из других программ.
    Такие вещи надо изначально продумывать и писать код под нужный алгоритм.
    Последний раз редактировалось kondor3000; 10.05.2023 в 16:03.

Похожие темы

  1. Создание журнала посещений в Codesys 3.5 SP14
    от Шикова Анна в разделе СПК2хх
    Ответов: 1
    Последнее сообщение: 24.05.2022, 10:42
  2. Шаблоны Мх210 для CODESYS V3.5 SP14 Patch 3
    от borgivan в разделе Мх210
    Ответов: 2
    Последнее сообщение: 21.11.2020, 18:43
  3. Шаблоны модулей МХ110 для CODESYS 3.5
    от Александр Приходько в разделе СПК2хх
    Ответов: 91
    Последнее сообщение: 24.04.2015, 18:29
  4. Сброс связи ПЛК с CoDeSys 2.3
    от SergeyH в разделе ПЛК1хх [М02]
    Ответов: 12
    Последнее сообщение: 16.03.2013, 10:05
  5. Ответов: 3
    Последнее сообщение: 07.12.2011, 20:06

Ваши права

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