Страница 14 из 16 ПерваяПервая ... 41213141516 ПоследняяПоследняя
Показано с 131 по 140 из 155

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

  1. #131

    По умолчанию

    Хотелось бы добавления битовых операций AND , XOR . OR . NOT над типом данных UDINT .

  2. #132

    По умолчанию

    Есть такое, только не документировано:
    Owen.jpg
    Последний раз редактировалось EFrol; 31.08.2024 в 08:02.

  3. #133

    По умолчанию

    Если это вы мне ,то спасибо конечно за ответ , но здесь тема про язык ST.

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

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Есть такое, только не документировано:
    Owen.jpg
    Почему же, очень даже документировано
    1.png

  5. #135

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    Почему же, очень даже документировано
    1.png
    Виноват. Спасибо.

  6. #136

    По умолчанию

    Цитата Сообщение от iljael Посмотреть сообщение
    Если это вы мне ,то спасибо конечно за ответ , но здесь тема про язык ST.
    А.. Ну тогда ждите. Может быть когда-нибудь.
    Код:
    function function1: udint;
        var_input
            X1 : udint;
            X2 : udint;
        end_var
        
        function1 := uAnd(X1, X2);
        
    end_function
    Код:
    function uAnd: udint;
        var_input
            X1 : udint;
            X2 : udint;
        end_var
        
        uAnd.0 := X1.0 and X2.0;
        uAnd.1 := X1.1 and X2.1;
        uAnd.2 := X1.2 and X2.2;
        uAnd.3 := X1.3 and X2.3;
        uAnd.4 := X1.4 and X2.4;
        uAnd.5 := X1.5 and X2.5;
        uAnd.6 := X1.6 and X2.6;
        uAnd.7 := X1.7 and X2.7;
        uAnd.8 := X1.8 and X2.8;
        uAnd.9 := X1.9 and X2.9;
        uAnd.10 := X1.10 and X2.10;
        uAnd.11 := X1.11 and X2.11;
        uAnd.12 := X1.12 and X2.12;
        uAnd.13 := X1.13 and X2.13;
        uAnd.14 := X1.14 and X2.14;
        uAnd.15 := X1.15 and X2.15;
        uAnd.16 := X1.16 and X2.16;
        uAnd.17 := X1.17 and X2.17;
        uAnd.18 := X1.18 and X2.18;
        uAnd.19 := X1.19 and X2.19;
        uAnd.20 := X1.20 and X2.20;
        uAnd.21 := X1.21 and X2.21;
        uAnd.22 := X1.22 and X2.22;
        uAnd.23 := X1.23 and X2.23;
        uAnd.24 := X1.24 and X2.24;
        uAnd.25 := X1.25 and X2.25;
        uAnd.26 := X1.26 and X2.26;
        uAnd.27 := X1.27 and X2.27;
        uAnd.28 := X1.28 and X2.28;
        uAnd.29 := X1.29 and X2.29;
        uAnd.30 := X1.30 and X2.30;
        uAnd.31 := X1.31 and X2.31;
        
    end_function

  7. #137

    По умолчанию

    Ещё раз спасибо за ответ с примером - (заменой полноценного AND, кстати по моим экспериментам такие замены работают раз в 30 медленнее полноценной реализации) но с реализацией замен у меня проблем нет , просто не плохо было бы ... полноценных AND OR XOR NOT.

  8. #138
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,868

    По умолчанию

    Код:
    function uAnd: udint;
        var_input
            X1 : udint;
            X2 : udint;
        end_var
    
        
        uAnd.0 := X1.0 and X2.0;
       ...
       много раз
       ...
        uAnd.31 := X1.31 and X2.31;
        
    end_function
    ==
    Код:
    for i := 1 to 31 do
      uAnd.31 := X1.0 and X2.0;
      uAnd := shr(uAnd,1);
      X1 := shr(X1,1);
      X2 := shr(X2,1);
    end_for
    uAnd.31 := X1.0 and X2.0;
    или немного быстрее в некоторых случаях
    Код:
    M := 1;
    while X1 <> 0 and X2 <> 0 do
      if X1.0 and X2.0 then
        uAnd := uAnd + M;
      end_if
      M1 := shl(M,1);
      X1 := shr(X1,1);
      X2 := shr(X2,1);
    end_while

  9. #139

    По умолчанию

    Ещё раз спасибо за ответ с примером - (заменой полноценного AND, кстати по моим экспериментам такие замены работают раз в 30 медленнее полноценной реализации) но с реализацией замен у меня проблем нет , просто не плохо было бы ... полноценных AND OR XOR NOT !
    Для счастья не хватает использования без дополнительного ввода в функцию или функциональный блок (по заранее определённому имени) переменных из панели переменных(в том числе и сохраняемых(энергонезависимых) и сетевых).
    А для Полного счастья не хватает без дополнительного ввода - вывода в функцию или функциональный блок , входов и выходов которые можно было бы использовать в виде вызова функции (типа: bpo1:=out1(0); или bpi1:=in1(); in1 забирает значение со входа 1 , а out1(0) записывает 0 на выход 1 и возвращает код ошибки при записи) .
    Ну вот мои скромные пожелания ! Тогда бы ST стал в ОЛ полнофункциональным языком , а сейчас он только пристройка (хоть и удобная) к FB !
    Последний раз редактировалось iljael; 31.08.2024 в 12:18.

  10. #140
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,868

    По умолчанию

    Для полного счастья что нужно - пальцы устанут стучать.
    Судя по скорости обновления ОЛ-версии ST - где-то в 40х годах будут и логические с целыми в ST.
    Но тем не менее уже сейчас большая разница с версиями "без ST"

    А если парит какая то разница в скорости для некоторых хотелок, то проблема в архитектуре самого проекта
    Последний раз редактировалось Валенок; 31.08.2024 в 13:05.

Страница 14 из 16 ПерваяПервая ... 41213141516 ПоследняяПоследняя

Похожие темы

  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

Ваши права

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