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

Тема: ST функции OWEN Logic

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    По умолчанию

    Вот еще попробовал создать функцию fBOOL_INT на ST - аналог макроса BOOL_INT
    Можно конечно еще причесать через FOR...
    Код:
    function fBOOL_INT: udint; //имя функции и тип данных выхода
        var_input //объявление входных переменных
            IN01 : bool; //входная переменная с типом данных bool
            IN02 : bool; //входная переменная с типом данных bool
            IN03 : bool; //входная переменная с типом данных bool
            IN04 : bool; //входная переменная с типом данных bool
            IN05 : bool; //входная переменная с типом данных bool
            IN06 : bool; //входная переменная с типом данных bool
            IN07 : bool; //входная переменная с типом данных bool
            IN08 : bool; //входная переменная с типом данных bool
        end_var
        
        var //объявление локальных переменных
            sel1 : udint; //локальная переменная с типом данных udint
            sel2 : udint; //локальная переменная с типом данных udint
            sel3 : udint; //локальная переменная с типом данных udint
            sel4 : udint; //локальная переменная с типом данных udint
            sel5 : udint; //локальная переменная с типом данных udint
            sel6 : udint; //локальная переменная с типом данных udint
            sel7 : udint; //локальная переменная с типом данных udint
            sel8 : udint; //локальная переменная с типом данных udint
        end_var
        
        if IN01 then sel1 :=1; else sel1 :=0; end_if
        
        if IN02 then sel2 :=2; else sel2 :=0; end_if
        
        if IN03 then sel3 :=4; else sel3 :=0; end_if
        
        if IN04 then sel4 :=8; else sel4 :=0; end_if
        
        if IN05 then sel5 :=16; else sel5 :=0; end_if
        
        if IN06 then sel6 :=32; else sel6 :=0; end_if
        
        if IN07 then sel7 :=64; else sel7 :=0; end_if
        
        if IN08 then sel8 :=128; else sel8 :=0; end_if
            
        fBOOL_INT := sel1+sel2+sel3+sel4+sel5+sel6+sel7+sel8;
        
    end_function
    Последний раз редактировалось Pvalp; 30.03.2023 в 15:34.

Похожие темы

  1. Групповые запросы в Owen Logic. Что хотите видеть в этой функции?
    от EvgenyR в разделе Программируемые реле
    Ответов: 37
    Последнее сообщение: 05.07.2023, 15:26
  2. Owen Logic 2.1 нет экспорта устройства в Owen Cloud.
    от Григори в разделе Среда программирования OWEN Logic
    Ответов: 4
    Последнее сообщение: 12.10.2022, 19:33
  3. Добавление аварийных ситуаций в Owen Logic на ПР200 для отображения в Owen Cloud.
    от Григори в разделе Среда программирования OWEN Logic
    Ответов: 6
    Последнее сообщение: 07.07.2022, 11:09
  4. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Программируемые реле
    Ответов: 401
    Последнее сообщение: 28.07.2016, 19:46
  5. Тригонометрические функции OWEN Logic
    от POMAXA в разделе Среда программирования OWEN Logic
    Ответов: 36
    Последнее сообщение: 13.02.2016, 12:11

Ваши права

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