Страница 7 из 7 ПерваяПервая ... 567
Показано с 61 по 65 из 65

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

  1. #61

    По умолчанию

    Цитата Сообщение от mma@zit21.ru Посмотреть сообщение
    входы
    К1 вкл i5, авто i6
    К2 вкл i7, авто i8
    К3 вкл i9, авто i10
    выходы
    К1 q4
    К2 q5
    К3 q6
    А ПР какая?

  2. #62

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    А ПР какая?
    ПР102-24.2416.03

  3. #63

    По умолчанию

    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. #64
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,935

    По умолчанию

    Цитата Сообщение от mma@zit21.ru Посмотреть сообщение
    Я вам очень благодарен. Уже начал всё понимать, что как устроено. Как можно это реализовать?
    Нужно разработать систему управления тремя кондиционерами с двумя режимами работы:

    Режим "Включен" – кондиционер работает постоянно, без ротации.
    Режим "Авто" – кондиционер участвует в ротации с другими, чтобы равномерно распределять нагрузку.
    Правила работы системы:

    Если два кондиционера в "авто"-режиме, они работают поочередно.
    Если три кондиционера в "авто"-режиме, всегда работают два из них, чередуясь, чтобы нагрузка распределялась равномерно.
    Если кондиционер включен вручную, он не участвует в ротации.
    На одном кондиционере нельзя одновременно включить оба режима.
    Условия включения и выключения:

    Кондиционеры включаются при температуре 30°C.
    Отключаются при температуре 20°C.
    Техническая реализация:

    Нужно создать макрос для управления логикой ротации.
    На основной схеме должны быть 3 выхода (по одному на каждый кондиционер) и 3 входа (для получения состояния каждого кондиционера).
    Пробуйте
    -----------------
    Вложения Вложения

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

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Пробуйте
    Чуть поправил
    https://disk.yandex.ru/d/wJD3lSpoXalXJg

Страница 7 из 7 ПерваяПервая ... 567

Похожие темы

  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

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

Ваши права

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