Страница 441 из 441 ПерваяПервая ... 341391431439440441
Показано с 4,401 по 4,408 из 4408

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

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

    По умолчанию

    Цитата Сообщение от mva2204 Посмотреть сообщение
    Спасибо, помогло. Но конечно странно что просто так не появляется в меню Обновить.
    Если переменная или блок не учувствует в алгоритме, то Лоджик его игнорирует

  2. #4402

    По умолчанию

    Сегодня нашёл
    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);

  3. #4403

    По умолчанию

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

  4. #4404

    По умолчанию

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

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

    По умолчанию

    Цитата Сообщение от 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;

  6. #4406

    По умолчанию

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

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

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

  7. #4407

    По умолчанию

    Ага, а ещё поделите текущую дату на 2 и получите... Не 1013 год, а... С какого там 0 время в одном из множества форматов...?

    PS Во, нашёл. 1970 год. То бишь поделив текущую дату на 2 получите 1998 год, однако...
    Последний раз редактировалось МихаилГл; Сегодня в 17:21.

  8. #4408

    По умолчанию

    Цитата Сообщение от МихаилГл Посмотреть сообщение
    Ага, а ещё поделите текущую дату на 2 и получите... Не 1013 год, а... С какого там 0 время в одном из множества форматов...?

    PS Во, нашёл. 1970 год. То бишь поделив текущую дату на 2 получите 1998 год, однако...
    Я же говорю не про тип DT (точная дата на оси времени), а про TIME (интервал, разность времени).
    Для TIME получение удвоенного, или умноженного на константу или целое число - вполне корректная операция.

    А Вы знаете, что в CODESYS 3.5 разность дат это тип интервал (DT-DT=TIME)?
    Понятно, Owen Logic это другая среда разработки и для разности дат может быть другой тип результата.


    Вот памятка для CODESYS 3.5
    https://owen-russia.ru/wp-content/up...desys_v3.5.pdf
    Снимок экрана 2026-02-01 173110.png
    Последний раз редактировалось FPavel; Сегодня в 17:32.

Страница 441 из 441 ПерваяПервая ... 341391431439440441

Похожие темы

  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

Ваши права

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