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

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

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

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

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Да посмотрите же на лог.
    В конкретном случае ОЛ приняло решение константу 1 сохранить в переменную. Наверное, из-за того, что используется в нескольких местах.
    Поэтому и последовательности операций "константа-в стек; xor" вообще нет в логе.


    Здесь у вас ошибка.

    Судя по логу, секция "инициализации начальных значений до цикла" отсутсвует как класс. Да, это может звучать "не по канонам", но это неважно, ведь точно такая же ошибка может возникнуть и при любых других вычислениях (обработке входов, например)
    Не может. Входы по определению пишутся до расчёта цикла.
    Отсутствие инициализации констант и статических переменных при запуске программы (до первого цикла) - это путь к непредсказуемому поведению ПР при включении.
    На время первого цикла, на выходах может оказаться любой мусор, никак не связанный с запрограммированным поведением. Это БАГИЩЕ, недопустимый в промавтоматике.

  2. #2

    По умолчанию

    Цитата Сообщение от pop70 Посмотреть сообщение
    Не может. Входы по определению пишутся до расчёта цикла.
    Похоже, вы не поняли сущность бага: значение, к которому подключено несколько связей, сохраняется во вспомогательную переменную.
    Поэтому не так важно что находится на входе, а будет использовано именно значение из вспомогательной переменной.

    То же самое будет и в любом другом вычислении. Надо просто результат вычисления подключить двумя связями (простой и ЛЗ) и можно получить баг (в зависимости от указанного приоритета ЛЗ).

  3. #3

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Похоже, вы не поняли сущность бага: значение, к которому подключено несколько связей, сохраняется во вспомогательную переменную.
    Поэтому не так важно что находится на входе, а будет использовано именно значение из вспомогательной переменной.

    То же самое будет и в любом другом вычислении. Надо просто результат вычисления подключить двумя связями (простой и ЛЗ) и можно получить баг (в зависимости от указанного приоритета ЛЗ).
    Приоритет ЛЗ тут никаким боком вообще.
    Эдак и приоритет выходов может привести к тому, что в расчёте будет использована "промежуточная переменная", которую ещё никто не посчитал.
    А эта "промежуточная переменная" должна быть посчитана при первом же проходе через неё, не важно с какой стороны разветвления расчёт к ней пришёл.

Похожие темы

  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, 23:47
  5. Драйвер для ОВЕН ТРМ210 в среде LabVIEW
    от tzpp в разделе Помощь Разработчикам
    Ответов: 3
    Последнее сообщение: 16.02.2010, 13:06

Ваши права

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