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

Тема: Проблема с написанием программы

  1. #1

    По умолчанию Проблема с написанием программы

    Здравствуйте. ПР200, датчик температуры и ПЧ. Частоту двигателя задаю по modbus, пуск/авария на дискретные входа. Необходимо по команде запускать ПЧ на 10Гц на 60 сек, после включать трехпозиционное регулирование (опрос датчика температуры раз в 30 сек). На ФБ не смог реализовать логику, на ST не могу грамотно реализовать задержки в цикле. Может кто-то подобное уже делал?

  2. #2

    По умолчанию

    А в чём проблема с ФБ?
    Там есть блок SEL. Как мне кажется с его помощью достаточно не сложно реализовать. Как вариант.
    Да, и для оценки уже выполненной работы и поиска затыка, проект бы посмотреть ...

  3. #3

    По умолчанию

    Не пойму как мне поможет SEL. Застопорился, пока выглядит так.
    Вложения Вложения

  4. #4

    По умолчанию

    Цитата Сообщение от wkdx00 Посмотреть сообщение
    Здравствуйте. ПР200, датчик температуры и ПЧ. Частоту двигателя задаю по modbus, пуск/авария на дискретные входа. Необходимо по команде запускать ПЧ на 10Гц на 60 сек, после включать трехпозиционное регулирование (опрос датчика температуры раз в 30 сек). На ФБ не смог реализовать логику, на ST не могу грамотно реализовать задержки в цикле. Может кто-то подобное уже делал?
    Разбейте задачу на части, переключить частоту после отработки времени, можно через SEL.
    Время можно отсчитать таймером и на ST. После включить 3-х поз. регулирование. Отдельный блок есть вроде в Менеджере в макросах.
    Задержки также реализовать можно таймером на время, линией задержки или триггером на 1 цикл.
    Последний раз редактировалось kondor3000; 26.05.2025 в 22:58.

  5. #5

    По умолчанию

    Цитата Сообщение от wkdx00 Посмотреть сообщение
    Не пойму как мне поможет SEL. Застопорился, пока выглядит так.
    Код:
        var 
            hz : udint := 10;
            tStart, tRegul : SYS.TON;
        end_var
        
    IF inputWork = TRUE THEN //Если прошла команда Пуск, если нет - ждем
        outHZ := hz;  //Задача начальной частоты
        //Тут должна стоять задержка inputTimeStart
        tStart(I:=true, T := udint_to_time(inputTimeStart)); // Держим таймер включеным
        If tStart.Q THEN // Есть задержка, иначе - ждем
            IF inputRealT > 0 THEN //Проверка температуры, если замерзли - стоим, грустим, даем аварию
                //Тут должна стоять задержка опроса inputTimeRegulation
                tRegul(I := true, T := udint_to_time(inputTimeRegulation)); // Держим включеным
                IF tRegul.Q THEN // Есть задержка, иначе - ждем
                    tRegul(I := false); // Выключаем таймер
                    IF inputRealT > (inputAimT + inputDeadBand) THEN
                        hz := hz + 1;
                    ELSIF inputRealT < (inputAimT - inputDeadBand) THEN
                        hz := hz - 1;
                    ELSE //Мы молодццы, держим частоту
                    END_IF
                END_IF                                                 
            ELSE outAlarm := TRUE;
                 hz :=0; tRegul(I := false);
            END_IF               
        END_IF    
    ELSE outHZ := 0;
        tStart(I := false); tRegul(I := false); // Пуск не активен - стоп все таймеры
    END_IF
    Последний раз редактировалось EFrol; 27.05.2025 в 08:36.

  6. #6

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Код:
    ...
                    IF inputRealT > (inputAimT + inputDeadBand) AND hz<50 THEN
                        hz := hz + 1;
                    ELSIF inputRealT < (inputAimT - inputDeadBand) AND hz>0 THEN
                        hz := hz - 1;
    ...
    Огромное спасибо за помощь с таймерами в OL, сам я их еще не переварил. Пробовал на FB с SEL реализовать - еще раз убедился, что ST выигрывает. Добавил ограничения по диапазону частоты ПЧ, буду смотреть работу на железе. В эмуляторе задержки как будь-то спешат...

Похожие темы

  1. Помогите Новичку с написанием программы для НВД!!!
    от RovnyiDeD в разделе Среда программирования OWEN Logic
    Ответов: 3
    Последнее сообщение: 16.02.2024, 19:01
  2. Помогите Новичку с написанием программы для НВД!!!
    от RovnyiDeD в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 15.02.2024, 19:36
  3. Проблема с загрузкой программы
    от ivydy в разделе ПЛК1хх [М02]
    Ответов: 14
    Последнее сообщение: 12.01.2022, 15:37
  4. Нужна помощь с написанием пргараммы для пр-110 или пр-200
    от RamzesWL в разделе Среда программирования OWEN Logic
    Ответов: 12
    Последнее сообщение: 13.03.2018, 01:58
  5. Проблема с считыванием программы из ПЛК
    от Андрей Викторович в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 07.12.2015, 09:28

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

Ваши права

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