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

Тема: Фичи и баги OWEN Logic

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

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

    По умолчанию

    Сегодня нашёл
    Owen Logic 2.11.370.0

    1. Копирую несколько элементов со связями и одной обратной связью - после вставки на линии обратной связи уже две стрелки с направлением
    Снимок экрана 2026-02-01 151422.png


    2. В редакторе ST
    вполне легальная конструкция умножения времени на целочисленную константу формирует ошибку "Типы не совпадают"
    Снимок экрана 2026-02-01 151203.png
    Код:
        VAR_INPUT
            nDelay_s: UDINT;
        END_VAR
    
        // преобразование типа и пересчёт значения в [с]
        tDelay := UDINT_TO_TIME(nDelay_s) * 1000;
    а так работает
    Код:
        // преобразование типа и пересчёт значения в [с]
        tDelay := UDINT_TO_TIME(nDelay_s * 1000);

  2. #2

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    1. Копирую несколько элементов со связями и одной обратной связью - после вставки на линии обратной связи уже две стрелки с направлением
    2. В редакторе ST
    1) Так уже давно, хуже когда связи вообще теряются при копировании, такое тоже бывает.
    2) Правилно ругается, по правилам математических операций, сначала что в скобках.
    Последний раз редактировалось kondor3000; 01.02.2026 в 15:37.

  3. #3

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    1) Так уже давно, хуже когда связи вообще теряются при копировании, такое тоже бывает.
    2) Правилно ругается, по правилам математических операций, сначала что в скобках.
    1) превращаем на минутку баг в фичу и продолжаем работать (с ручным исправлением - так, на всякий случай)
    2) НЕТ - тут упираюсь всеми рогами и копытами - если мне нужно взять удвоенный или утроенный интервал - то тип время можно и нужно умножать (делить) на константу - недавно в одном из курсов по CODESYS это проходил, да и логике соответствует. Так что это - БАГ

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

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение

    2. В редакторе ST
    вполне легальная конструкция умножения времени на целочисленную константу формирует ошибку "Типы не совпадают"
    Код:
        VAR_INPUT
            nDelay_s: UDINT;
        END_VAR
    
        // преобразование типа и пересчёт значения в [с]
        tDelay := UDINT_TO_TIME(nDelay_s) * 1000;
    а так работает
    Код:
        // преобразование типа и пересчёт значения в [с]
        tDelay := UDINT_TO_TIME(nDelay_s * 1000);
    На эту запись не ругался бы
    Код:
     tDelay := UDINT_TO_TIME(nDelay_s) * t#1000ms;

  5. #5

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    На эту запись не ругался бы
    Код:
     tDelay := UDINT_TO_TIME(nDelay_s) * t#1000ms;
    А какая размерность у этой величины - [s*s] = [s^2] ?
    Это же некорректненько

    Переставляя скобки смог преобразовать и получить код, сейчас пойду дальше по выполнению работы, но всё же это - БАГ компилятора.

    Думаю, что и так было бы корректно tDelay := nDelay_s * T#1000ms;, но и это компилятор не пропускает.

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

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    А какая размерность у этой величины - [s*s] = [s^2] ?
    Это же некорректненько
    результатом UDINT_TO_TIME(nDelay_s) будет nDelay_s в миллисекундах
    умножаем nDelay_s мс на 1000 мс получаем nDelay_s в секундах

    Переставляя скобки смог преобразовать и получить код, сейчас пойду дальше по выполнению работы, но всё же это - БАГ компилятора.

    Думаю, что и так было бы корректно tDelay := nDelay_s * T#1000ms;, но и это компилятор не пропускает.
    здесь получаем выражение udint * time, вот компилятор и ругается

Похожие темы

  1. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Среда программирования OWEN Logic
    Ответов: 404
    Последнее сообщение: 25.08.2020, 15:17
  2. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Программируемые реле
    Ответов: 401
    Последнее сообщение: 28.07.2016, 19:46
  3. OWEN Logic 1.2.0.14b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 40
    Последнее сообщение: 21.02.2011, 14:16
  4. OWEN Logic 1.1.0.11b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 58
    Последнее сообщение: 12.10.2010, 20:55

Ваши права

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