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

Тема: Критическая ошибка в среде программирования Овен ЛОДЖИК или это я д-ак

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

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

    По умолчанию

    Цитата Сообщение от pop70 Посмотреть сообщение
    Какой переменной?
    У Вас каждой связи назначено 2 переменных?
    Повторяю. Проблема в цепи без ЛЗ (переменной). Константа подана на вход напрямую.
    Любая константа инициализируется до любых статических и динамических переменных. Это правило такое общепринятое.
    Так вам показали же лог: 0наВходе.png
    Переменная №3 это и есть "хранилище, которое используется для того, чтобы подать 1 на вход XOR'а".
    В логе видно, что ОЛ почему-то пыталось "поместить значение константы в переменную 3" уже намного позже вычисления самого XOR'а (XOR обрабатывал переменную 4=="линия задержки" и переменную 3=="простая связь" ).

    ЛЗ к этой самой "переменной 3" (надеюсь) никак не относится.

    Цитата Сообщение от pop70 Посмотреть сообщение
    Потом статические переменные...
    Это всё, конечно, красивые рассуждения про "космические карабли", но точно такой же баг может образоваться и без констант.
    Поэтому баг нужно исправлять не "починкой констант", а починкой самого компилятора, который допустил use-before-def.

    Вот тот же самый баг без констант:
    Снимок экрана 2017-08-10 в 16.21.59.png

  2. #2

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Так вам показали же лог: 0наВходе.png
    Переменная №3 это и есть "хранилище, которое используется для того, чтобы подать 1 на вход XOR'а".
    3=="простая связь" ).

    ЛЗ к этой самой "переменной 3" (надеюсь) никак не относится.
    Там вообще не нужны переменные.
    Всё легко тусуется прямо в стеке.
    (Имею в виду статические переменные).

  3. #3

    По умолчанию

    Цитата Сообщение от pop70 Посмотреть сообщение
    Там вообще не нужны переменные.
    Всё легко тусуется прямо в стеке.
    (Имею в виду статические переменные).
    Результат используется в нескольких местах (из "константы" выходят две связи), и вполне логично, что компилятор сохранил этот самый результат в промежуточную переменную.
    Могла бы эта переменная соптимизироваться? Могла. Но эта оптимизация повлияла бы лишь на скорость работы.
    А скорость работы сейчас всех устраивает.

  4. #4

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Результат используется в нескольких местах (из "константы" выходят две связи), и вполне логично, что компилятор сохранил этот самый результат в промежуточную переменную.
    Могла бы эта переменная соптимизироваться? Могла. Но эта оптимизация повлияла бы лишь на скорость работы.
    А скорость работы сейчас всех устраивает.
    Согласен насчёт промежуточной переменной, но в любом случае, она должна была посчитаться до того, как использоваться в расчёте. Т.е., любое дерево должно дойти до самого дальнего узла - до константы, если она не "обрублена" уже посчитанной промежуточной переменной.

  5. #5

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Так вам показали же лог: 0наВходе.png
    Переменная №3 это и есть "хранилище, которое используется для того, чтобы подать 1 на вход XOR'а".
    В логе видно, что ОЛ почему-то пыталось "поместить значение константы в переменную 3" уже намного позже вычисления самого XOR'а (XOR обрабатывал переменную 4=="линия задержки" и переменную 3=="простая связь" ).

    ЛЗ к этой самой "переменной 3" (надеюсь) никак не относится.


    Это всё, конечно, красивые рассуждения про "космические карабли", но точно такой же баг может образоваться и без констант.
    Поэтому баг нужно исправлять не "починкой констант", а починкой самого компилятора, который допустил use-before-def.

    Вот тот же самый баг без констант:
    Снимок экрана 2017-08-10 в 16.21.59.png
    Вы все верно уловили. Понял в чем проблема. Когда- то ЛЗ (тогда еще обратная связь) была выделена в особую группу анализа.Вот тут и кроется проблема.компилятор уже давно был усовершенствован, а анализ лз - нет. Пишу с мобилы не очень удобно расписывать.
    программер

Похожие темы

  1. Два вопроса по ОВЕН-Лоджик.
    от Sargon в разделе Среда программирования OWEN Logic
    Ответов: 33
    Последнее сообщение: 06.02.2017, 15:45
  2. ФИЧИ И БАГИ ОВЕН ЛОДЖИК
    от rovki в разделе Программируемые реле
    Ответов: 649
    Последнее сообщение: 29.07.2016, 10:33
  3. Универсальные макросы для ОВЕН ЛОДЖИК
    от rovki в разделе Программируемые реле
    Ответов: 197
    Последнее сообщение: 28.06.2016, 09:53
  4. Пожелания по развитию овен лоджик
    от rovki в разделе Программируемые реле
    Ответов: 146
    Последнее сообщение: 25.04.2013, 22:47
  5. Драйвер для ОВЕН ТРМ210 в среде LabVIEW
    от tzpp в разделе Помощь Разработчикам
    Ответов: 3
    Последнее сообщение: 16.02.2010, 13:06

Ваши права

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