Страница 1178 из 1182 ПерваяПервая ... 17867810781128116811761177117811791180 ... ПоследняяПоследняя
Показано с 11,771 по 11,780 из 11820

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

  1. #11771

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Выложите проект или хотя бы скрины ошибки и текста ST.
    Сильно извиняюсь. проблема решилась, был лишний пробел в коде. Спасибо.

  2. #11772

    По умолчанию

    всем привет. есть электро котел 100 кВт три блок ТЭН на пускателях и ПР200. хочется реализовать ротацию тэн по наименьшей наработке времени. может есть у кого то готовые решения.

  3. #11773

    По умолчанию

    Цитата Сообщение от димааааааа Посмотреть сообщение
    всем привет. есть электро котел 100 кВт три блок ТЭН на пускателях и ПР200. хочется реализовать ротацию тэн по наименьшей наработке времени. может есть у кого то готовые решения.
    Вы пишите не в тот раздел, у вас Программируемое реле ПР200 и среда Овен Лоджик

  4. #11774

    По умолчанию

    понял спасибо

  5. #11775

    Unhappy Последовательное управление тремя выходами на ST как?

    Люди, не бейте меня ибо вопрос идиотский но как решить его я не могу второй день, сеодня даже на ночь остался на работе но решил сдаться и спросить у Вас.
    Если упростить задачу до ,, кирпича,, то необходимо: если условие А:=TRUE --- зажечь лампочку_1 - отсчитать время Т --- потушить лампочку _1и зажечь лампочку_2---отсчитать время Т---потушить лампочку 2 и зажечь лампочку_3---отсчитать время Т и вернуться к процедуре лампочки_1 . И так по кругу пока условие А:=TRUE; когда A:=FOLSE будет другая последовательность но это уже не важно. Пересмотрел варианты каскадного управления котлами но все что я нашел основано на использовании системного времени ПЛК а знаний у меня по этому направлению ещё меньше. Для меня реально это использовать таймеры.
    Обявил три тамера
    VAR
    (*Таймер_1*)
    TP_1 : TP;
    IN_TP_1 : BOOL;
    (*Таймер_2*)
    TP_2 : TP;
    IN_TP_2 : BOOL;
    (*Таймер_3*)
    TP_3 : TP;
    IN_TP_3 : BOOL;
    (*Переменную PT_TIME чтобы все таймеры шли одинаково*)
    PT_TIME : TIME := T#15S;
    (*Переменная в качестве счетчика CASE*)
    COUNT_1 : INT;
    END_VAR
    В теле функционального блока ,,завел 3 таймера:
    TP_1 (IN := IN_TP_1, PT := PT_TIME);

    TP_2 (IN := IN_TP_2, PT := PT_TIME);

    TP_3 (IN := IN_TP_3, PT := PT_TIME);
    IF A THEN
    В качестве реализации алгоритма решил использовать конструкцию с CASE:
    CASE COUNT_1 OF
    0: OUT_LAMP_1:=1;
    OUT_LAMP_2:=0;
    OUT_LAMP_3:=0;
    IN_TP_1 := 1; (*запускаем таймер ТР_1*)
    IF TP_1.Q THEN IN_TP_1 := 0; COUNT_1 := 1; END_IF; (*Если таймер ТР_1 отсчитал заданое время , я его выключаю и перехожу на следоющий блок CASE*)

    1: OUT_LAMP_1:=0;
    OUT_LAMP_2:=1;
    OUT_LAMP_3:=0;
    IN_TP_2 := 1; (*запускаем таймер ТР_2*)
    IF TP_2.Q THEN IN_TP_2 := 0; COUNT_1 := 2; END_IF; (*Если таймер ТР_2 отсчитал заданое время , я его выключаю и перехожу на следоющий блок CASE*)

    2: 1: OUT_LAMP_1:=0;
    OUT_LAMP_2:=0;
    OUT_LAMP_3:=1;
    IN_TP_3 := 1; (*запускаем таймер ТР_3*)
    IF TP_3.Q THEN IN_TP_3 := 0; COUNT_1 := 0; END_IF; (*Если таймер ТР_3 отсчитал заданое время , я его выключаю и возврощаюсь к нулевому блоку CASE*)
    END_CASE;

    END_IF;
    Как вы поняли это ничего не работает т.к. тамеры не успевают завершить отсчет времени ибо у них выход Q сразу =1 и идет переход к следоющему блоку CASE. Можно попытаться сделать на одном таймере но я не знаю как сделать разрыв в цикле чтобы тамер смог перегрузиться и в следоющем блоке CASE был готов к работе. Я Пересмотрел всю ветку овен лоджике с ST конструкциями, но там опять опираеться на системное6 время и слишком не понятно для меня. Сейчас попробую с счетчиками, ночь длинная. Спасибо.

  6. #11776

    По умолчанию

    Решил я эту задачу с помощю счетчика CTD и BLINK. Но хотелось узнать как эту задачу можно таймерами решить.Спасибо.

  7. #11777

    По умолчанию

    Цитата Сообщение от дрю Посмотреть сообщение
    Люди, не бейте меня ибо вопрос идиотский ...
    ...
    IN_TP_3 := 1; (*запускаем таймер ТР_3*)
    IF TP_3.Q THEN IN_TP_3 := 0; COUNT_1 := 0; END_IF; (*Если таймер ТР_3 отсчитал заданое время , я его выключаю и возврощаюсь к нулевому блоку CASE*)
    END_CASE;

    END_IF;
    Как вы поняли это ничего не работает т.к. тамеры не успевают завершить отсчет времени ибо у них выход Q сразу =1 и идет переход к следоющему блоку CASE. Можно попытаться сделать на одном таймере но я не знаю как сделать разрыв в цикле чтобы тамер смог перегрузиться и в следоющем блоке CASE был готов к работе. Я Пересмотрел всю ветку овен лоджике с ST конструкциями, но там опять опираеться на системное6 время и слишком не понятно для меня. Сейчас попробую с счетчиками, ночь длинная. Спасибо.
    Вот здесь:
    IF TP_3.Q THEN IN_TP_3 := 0; COUNT_1 := 0; END_IF; (*Если таймер ТР_3 отсчитал заданое время , я его выключаю и возврощаюсь к нулевому блоку CASE*)

    сделайте вызов TP для его обнуления:

    IF TP_3.Q THEN
    TP_3 (IN := false, PT := t#0s);
    IN_TP_3 := 0;
    OUNT_1 := 0;
    END_IF;

    Вообще лучше использовать
    не TP, a TON и можно вызывать его прямо внутри шага CASE - если нужна выдержка времени
    Здесь посмотрите пример
    Последний раз редактировалось 1exan; 12.12.2025 в 04:49.

  8. #11778

    По умолчанию

    Цитата Сообщение от дрю Посмотреть сообщение
    Решил я эту задачу с помощю счетчика CTD и BLINK. Но хотелось узнать как эту задачу можно таймерами решить.Спасибо.
    Если всё идёт через равное время, то можно и один ton использовать, как то так:

    Код:
    TON_X(IN:= A AND NOT TON_X.Q, PT:=T#5S);
    IF TON_X.Q THEN peremennaya:= peremennaya + 1; END_IF
    На эту переменную и вешайте ваш case, если он вам так нравится. Но не забудьте при первом взводе А её сделать 1 или 0, а при превышении какого то числа опять приравнять к 0 или 1, чтоб закольцевать.

    Тут таймер TON.

    PS В case только логика ламп, и ничего больше...
    Последний раз редактировалось МихаилГл; 12.12.2025 в 07:35.

  9. #11779

    По умолчанию

    Цитата Сообщение от дрю Посмотреть сообщение
    Решил я эту задачу с помощю счетчика CTD и BLINK. Но хотелось узнать как эту задачу можно таймерами решить.Спасибо.
    Всё уже лежит на форуме давно, попроще, посложней на одном таймере, любое кол-во шагов

    Простой шаговый автомат, новый TON с паузой_____ https://owen.ru/forum/showthread.php...39&page=43#424
    Прогр. управление 6 нагрузками 6 реж. 12 шагов _ФБ_фунции_____https://owen.ru/forum/showthread.php...39&page=11#105

    2+3 насоса_Нараб_Уровень_Ротация по времени_____ https://owen.ru/forum/showthread.php...l=1#post465744
    Последний раз редактировалось kondor3000; 12.12.2025 в 07:44.

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

    По умолчанию

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

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

Страница 1178 из 1182 ПерваяПервая ... 17867810781128116811761177117811791180 ... ПоследняяПоследняя

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

Ваши права

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