Страница 4 из 4 ПерваяПервая ... 234
Показано с 31 по 40 из 65

Тема: новичок

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    2,042

    По умолчанию

    Странное какое-то решение. Вот у нас работает один кондиционер, решили запустить два, так второй включится только когда придет время ротации - что это нам даст?
    Я бы повесил переключение режимов на дискретные входы: если все нормально, то работает один кондиционер, не справляется - добавляем еще один, вообще плохо - запускаем все три.
    Но, фиг знает, что там за ситуация у автора

  2. #2

    По умолчанию

    Здравствуйте, второй день в owen logic подскажите как собрать этот алгоритм " Светильник EL3 освещает территорию входа. В будни (пн-пт) EL3 включается автоматически с 20-00 до 06-00. В выходные дни работает по сигналу от датчика BK. Также светильник EL3 может быть включен и выключен вручную с помощью кнопки SB5. При отсутствии нажатия на кнопку SB5 более 5 секунд EL3 возвращается к выполнению основного алгоритма.
    "

  3. #3
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    2,042

    По умолчанию

    Цитата Сообщение от Dancho Посмотреть сообщение
    Здравствуйте, второй день в owen logic подскажите как собрать этот алгоритм " Светильник EL3 освещает территорию входа. В будни (пн-пт) EL3 включается автоматически с 20-00 до 06-00. В выходные дни работает по сигналу от датчика BK. Также светильник EL3 может быть включен и выключен вручную с помощью кнопки SB5. При отсутствии нажатия на кнопку SB5 более 5 секунд EL3 возвращается к выполнению основного алгоритма.
    "
    А пятница у нас заканчивается когда? В субботу 6:00 или в полночь?
    Да, и понедельник когда начинается? В 20:00 или в полночь?

    Безымянный.png
    Последний раз редактировалось Dimensy; 08.02.2025 в 12:43.

  4. #4
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,616

    По умолчанию

    Цитата Сообщение от Dancho Посмотреть сообщение
    Здравствуйте, второй день в owen logic подскажите как собрать этот алгоритм " Светильник EL3 освещает территорию входа. В будни (пн-пт) EL3 включается автоматически с 20-00 до 06-00. В выходные дни работает по сигналу от датчика BK. Также светильник EL3 может быть включен и выключен вручную с помощью кнопки SB5. При отсутствии нажатия на кнопку SB5 более 5 секунд EL3 возвращается к выполнению основного алгоритма.
    "
    Совсем недавно в одной из тем выкладывал командоаппарат реального времени с маской недели:

    Командоаппарат реальногого времени с маской недели на 32 команды 8 канальный_00.owle
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  5. #5

    По умолчанию

    Если я правильно понял, то.. SB5 выключает, если горел на 5 секунд и включает на 5 сек если не горел?
    А ПР у Вас какой? Надеюсь с часами?

  6. #6

    По умолчанию

    Owen.jpg
    Код:
    function_block Rot
        
        var_input
            Air1Auto, Air1On, Air2Auto, Air2On, Air3Auto, Air3On : bool;
        end_var
        
        var_output 
            Q1, Q2, Q3 : bool;
        end_var
        
        var
            TMR1, TMR2, TMR3 : SYS.TON;       // Таймер для каждого кондиционера
            AutoCount : udint;                // Кол-во кондиционеров в режиме авто
        end_var
    
        // Если кондей включен, его таймер должен работать и наоборот
        TMR1(I:=Q1, T:=T#10m); TMR2(I:=Q2, T:=T#10m); TMR3(I:=Q3, T:=T#10m);
        
        // Если кондей был включен и надо его выключить и его таймер это позволяет, то - выключаем
        if Q1 and Not Air1Auto and Not Air1On and TMR1.Q then Q1:=false; end_if
        if Q2 and Not Air2Auto and Not Air2On and TMR2.Q then Q2:=false; end_if
        if Q3 and Not Air2Auto and Not Air2On and TMR3.Q then Q3:=false; end_if
        
        // Если кондей был выключен и его надо включить безусловно, то - включаем
        if Not Q1 and Air1On then Q1:=true; end_if
        if Not Q2 and Air2On then Q2:=true; end_if
        if Not Q3 and Air3On then Q3:=true; end_if
        
        // Определяем кол-во кондеев в режиме Auto
        AutoCount := 0;
        if Air1Auto then AutoCount := AutoCount + 1; end_if
        if Air2Auto then AutoCount := AutoCount + 1; end_if
        if Air3Auto then AutoCount := AutoCount + 1; end_if
    
        case AutoCount of
            1:  // Найти кондей с режимом Auto и включить его безусловно
                if Air1Auto then Q1:=true; end_if
                if Air2Auto then Q2:=true; end_if
                if Air3Auto then Q3:=true; end_if
                    
            2:  // Найти кондей с режимом Auto и если он накопил 10мин - выключить, а другой - включить
                // Если нет накопленных - включаем первого какой попадется
                if Air1Auto and TMR1.Q then
                    Q1:=false;
                    if Air2Auto then Q2:=true; end_if
                    if Air3Auto then Q3:=true; end_if
                elsif Air2Auto and TMR2.Q then
                    Q2:=false;
                    if Air3Auto then Q3:=true; end_if
                    if Air1Auto then Q1:=true; end_if
                elsif Air3Auto and TMR3.Q then
                    Q3:=false;
                    if Air1Auto then Q1:=true; end_if
                    if Air2Auto then Q2:=true; end_if
                elsif (Not Q1 and Not Q2 and Not Q3) then
                    if Air1Auto then Q1:=true;
                    elsif Air2Auto then Q2:=true;
                    elsif Air3Auto then Q3:=true;
                    end_if
                end_if
     
            3:  // Найти кондей, который накопил 10мин - выключить, а 2 других - включить
                // Если нет такого, то включаем одного из выключенных
                if TMR1.Q then
                    Q1:=false; Q2:=true; Q3:=true;
                elsif TMR2.Q then
                    Q2:=false; Q1:=true; Q3:=true;
                elsif TMR3.Q then
                    Q3:=false; Q1:=true; Q2:=true;
                elsif (Not Q1 and Not Q2) then
                    Q1:=true;
                elsif (Not Q1 and Not Q3) then
                    Q3:=true;
                elsif (Not Q2 and Not Q3) then
                    Q2:=true;
                end_if
            
        end_case
    
    end_function_block
    Последний раз редактировалось EFrol; 12.02.2025 в 19:44.

Страница 4 из 4 ПерваяПервая ... 234

Похожие темы

  1. CoDeSys + TraceMode (новичок)
    от VanUliK в разделе Другие SCADA системы
    Ответов: 15
    Последнее сообщение: 26.05.2014, 21:38
  2. Ответов: 7
    Последнее сообщение: 15.10.2011, 06:57
  3. Нужна помощь RS-485(новичок)
    от Boo the Hamster в разделе Сетевые технологии
    Ответов: 5
    Последнее сообщение: 01.09.2011, 16:21
  4. Новичок. Проблем с МВА8
    от Коротенко в разделе Мх110
    Ответов: 8
    Последнее сообщение: 17.09.2010, 15:08
  5. Новичок. Проблем с МВА8
    от Коротенко в разделе Эксплуатация
    Ответов: 8
    Последнее сообщение: 17.09.2010, 15:08

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

Ваши права

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