Страница 302 из 1044 ПерваяПервая ... 202252292300301302303304312352402802 ... ПоследняяПоследняя
Показано с 3,011 по 3,020 из 10436

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #3011

    По умолчанию

    Цитата Сообщение от Василий Кашуба Посмотреть сообщение
    Вы лучше напишите подробное ТЗ, а не ваш алгоритм работы, так как решений может быть много, а результат один и тот же.
    Ок.
    Это простой шкаф управления насосами на ОВЕН-160.
    Есть датчик давления 4-20мА на входе, если давление падает ниже определенной уставки, то шкаф должен остановить насос.

    Цитата Сообщение от Yegor Посмотреть сообщение
    Кстати на ПЛК вообще не принято вешать поток. Об этом можно не сообщать дополнительно. Если вы напишете что-то в духе WHILE AI1 > 5, то сторожевой таймер просто перезагрузит устройство через пару секунд.
    Да, это-то меня и поставило в тупик, т.к. привык к потокам, мютексам, блокировкам и т.п. Здесь так не получится.

    Код:
    VAR
        timer: TON := (PT := T#10s);
     END_VAR
    
    timer(IN := AI1 < 5);
    IF timer.Q THEN
     (* Значение ниже уставки дольше 10 секунд *)
     (* Выполняем определённые действия *)
     END_IF
    Но ведь пока таймер будет тикать цикл не закончится и будет или перезапущен WatchDog'ом или поток будет висеть на время таймера, так?

    Василий Кашуба, Yegor:
    Сделал так:

    1. По аналоговому входу пока ФБ Hysteresis, посмотрим на тестовом стенде.
    2. Про счетчик наработки:
    - Сделал отдельный task, циклически вызываемый каждую секунду, его содержимое.
    Пробовал разные приоритеты и 0 и 15 - задача при любых значиениях просто блокирует выполнение чего-то еще, т.е. до цикла PLC_PRG дело просто не доходит. Если отключаю задачу, то все корректно выполняется PLC_PRG.
    С чем это может быть связано?

  2. #3012
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Но ведь пока таймер будет тикать цикл не закончится и будет или перезапущен WatchDog'ом или поток будет висеть на время таймера, так?
    Вообще-то таймер не тикает. Он только в каждом цикле поглядывает на часы и если время подошло выдает сигнал на выходе.

    до цикла PLC_PRG дело просто не доходит.
    Возможно Вы PLC_PRG в задачи забыли включить. Так как при использовании task это ПОУ автоматически не вызывается.

  3. #3013
    Пользователь Аватар для Василий Кашуба
    Регистрация
    20.11.2011
    Адрес
    Ставрополь
    Сообщений
    2,492

    По умолчанию

    Цитата Сообщение от fotonboxx Посмотреть сообщение
    Ок.
    Это простой шкаф управления насосами на ОВЕН-160.
    Есть датчик давления 4-20мА на входе, если давление падает ниже определенной уставки, то шкаф должен остановить насос.
    ...
    С чем это может быть связано?
    Схема, как уже говорил, очень простая. Вложение 14212

  4. #3014
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,248

    По умолчанию

    Цитата Сообщение от Василий Кашуба Посмотреть сообщение
    Схема, как уже говорил, очень простая. Вложение 14212
    ну и плохо что так считаете, а как же антидребезг
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  5. #3015

    По умолчанию

    Цитата Сообщение от amn Посмотреть сообщение
    Вообще-то таймер не тикает. Он только в каждом цикле поглядывает на часы и если время подошло выдает сигнал на выходе.
    Не знал, спасибо!

    Цитата Сообщение от amn Посмотреть сообщение
    Возможно Вы PLC_PRG в задачи забыли включить. Так как при использовании task это ПОУ автоматически не вызывается.
    Ага, включил PLC_PRG как freewheeling task с приоритетом 1, а подсчет наработки с таймером в секунду и приоритетом пробовал - 1,2,5.
    Watchdog неактивен и там и там.
    Далее, сделал тестовую задачу с таймером 1 сек, приоритетом 15, в котором есть только ФБ GE.

    Результат - в визуализации нельзя ни на кнопку нажать ни показания входов посмотреть, т.е. визуализация не работает. Если отключаю подсчет наработки или тестовую задачу - то все ок.
    Это получается Codesys не умеет в несколько пользовательских потоков работать?

  6. #3016

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    ну и плохо что так считаете, а как же антидребезг
    Ну тут либо таймер как я понимаю, либо гистерезис. И фильтрация на входе средствами ПЛК.

  7. #3017
    Пользователь Аватар для Василий Кашуба
    Регистрация
    20.11.2011
    Адрес
    Ставрополь
    Сообщений
    2,492

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    ну и плохо что так считаете, а как же антидребезг
    Поставьте между "GT" и "AND" ФБ "TON" с задержкой 10 s. и всё будет ОК.

  8. #3018
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    to fotonboxx
    Всё что-то у Вас не работает. Выложили б свое творчество, а то астральное видение не всегда приходит.

  9. #3019

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    to fotonboxx
    Всё что-то у Вас не работает. Выложили б свое творчество, а то астральное видение не всегда приходит.
    Выложил =) Буду благодарен, если посмотрите.

  10. #3020
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Включил всё. Визуализация - работает

Страница 302 из 1044 ПерваяПервая ... 202252292300301302303304312352402802 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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