Показано с 1 по 10 из 49

Тема: ПР 200 нужна помощь

Древовидный режим

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

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Как вариант!
    Так, я думаю, чуть лучше будет

    Код:
    Код:
    function_block Level
        var_input
           Max : real;
           Val : real;
        end_var
    
        var_output
           L0  : bool;
           L1  : bool;
           L2  : bool;
           L3  : bool;
           L4  : bool;
           L5  : bool;
           L6  : bool;
           L7  : bool;
           L8  : bool;
           L9  : bool;
           L10 : bool;
           L11 : bool;
           L12 : bool;
           L13 : bool;
           L14 : bool;
           L15 : bool;
        end_var
    
        var
           delta : real;
           blink : SYS.BLINK;
        end_var
    
        delta := Max / 16;
        blink(I := true, Th := t#500ms, Tl := t#500ms); 
        L0  := Val > 0.5 * delta or (blink.Q and Val > 0);
        L1  := Val > 1.5 * delta or (blink.Q and Val > delta);
        L2  := Val > 2.5 * delta or(blink.Q and Val > delta * 2);
        L3  := Val > 3.5 * delta or (blink.Q and Val > delta * 3);
        L4  := Val > 4.5 * delta or (blink.Q and Val > delta * 4);
        L5  := Val > 5.5 * delta or (blink.Q and Val > delta * 5);
        L6  := Val > 6.5 * delta or (blink.Q and Val > delta * 6);
        L7  := Val > 7.5 * delta or (blink.Q and Val > delta * 7);
        L8  := Val > 8.5 * delta or (blink.Q and Val > delta * 8);
        L9  := Val > 9.5 * delta or (blink.Q and Val > delta * 9);
        L10 := Val > 10.5 * delta or (blink.Q and Val > delta * 10);
        L11 := Val > 11.5 * delta or (blink.Q and Val > delta * 11);
        L12 := Val > 12.5 * delta or (blink.Q and Val > delta * 12);
        L13 := Val > 13.5 * delta or (blink.Q and Val > delta * 13);
        L14 := Val > 14.5 * delta or (blink.Q and Val > delta * 14);
        L15 := Val > 15.5 * delta or (blink.Q and Val > delta * 15);
    
    end_function_block


    Но в таком виде 16 разрядов не очень информативен в количественной оценке. Должна быть целая пропорция, например 0..100% - 10 разрядов, 0..150 литров - 15 разрядов
    Последний раз редактировалось Dimensy; 28.05.2024 в 16:01.

Похожие темы

  1. Нужна помощь
    от СергейНовосиб в разделе Среда программирования OWEN Logic
    Ответов: 12
    Последнее сообщение: 05.03.2021, 08:33
  2. Нужна помощь. ПР110-24.12Д.8Р. Нужна схема подъемника на 3 этажа.
    от ra6xqq в разделе Программируемые реле
    Ответов: 26
    Последнее сообщение: 10.01.2019, 17:22
  3. нужна помощь
    от евгений67 в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 21.01.2015, 15:50
  4. Нужна помощь
    от звездочка в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 06.06.2011, 07:11
  5. Нужна помощь по ТРМ-148
    от сергей александрович в разделе Эксплуатация
    Ответов: 9
    Последнее сообщение: 14.04.2009, 14:16

Ваши права

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