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

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

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

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

    По умолчанию

    Почему в функции на вход udint нельзя подать значение больше 2147483647?

    Код:
    function f_test: bool; //имя функции и тип данных выхода
        var_input //объявление входных переменных
            x : udint;
        end_var
        
    if x.31 then
        f_test := true;
       else
        f_test := false;   
       end_if;
        
    end_function

  2. #2

    По умолчанию

    Цитата Сообщение от AlexCrane Посмотреть сообщение
    Почему в функции на вход udint нельзя подать значение больше 2147483647?

    Код:
    function f_test: bool; //имя функции и тип данных выхода
        var_input //объявление входных переменных
            x : udint;
        end_var
        
    if x.31 then
        f_test := true;
       else
        f_test := false;   
       end_if;
        
    end_function
    Какая ошибка выдается?
    Менеджер по продукту | Owen Logic
    email: soft@owen.ru

  3. #3

    По умолчанию

    Цитата Сообщение от Денисов Максим Сергеевич Посмотреть сообщение
    Какая ошибка выдается?
    Вот ошибка при попытке ввести число 2147483648 1 Ошибка.jpg

    Та же самая ошибка включения 31 бита, которую уже 1 раз пофиксили. 1 Ошибка 2.jpg
    Код:
    function_block fB1 //имя функционального блока.
        var_input //объявление входных переменных
          b29, b30,b31 :bool;
        end_var
        var_output //объявление выходных переменных
          x : udint;
        end_var
        
       x.29 :=  b29; x.30 :=  b30;  x.31:=  b31;
    end_function_block
    И в функции и в ФБ ошибка одинаковая, упаковка, распаковка 31 бита.
    Последний раз редактировалось kondor3000; 20.11.2023 в 15:06.

  4. #4

    По умолчанию

    Да, ошибка в 31 бите...

  5. #5

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Вот только udint подразумевает беззнаковое целое

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

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    я же не написал безусловно, я высказался предположительно, ST относительно молодой язык в ОЛ, возможно с него начали готовить знаковые целые или банально забыли о типе данных, всё тоже самое как и со step-ом, поправят когда нибудь или ОЛ или документацию
    это глюк, потому что арифметические операции нормально выполняются, аварию вызывает обращение к биту через точку

  7. #7
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,606

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    это глюк, потому что арифметические операции нормально выполняются, аварию вызывает обращение к биту через точку
    Арифметические операции и вход в функцию разные вещи, обычно можно не досмотреть за какой нибудь одной проверкой а не за всем кодом
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

Похожие темы

  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

Ваши права

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