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

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

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь Аватар для Эдуард_Н
    Регистрация
    22.09.2014
    Адрес
    Курган
    Сообщений
    1,620

    По умолчанию

    Цитата Сообщение от Василий Кашуба Посмотреть сообщение
    Этот баг из-за этой связи.
    Снимок.PNG
    А ОЛ почему его не выделил?

  2. #2

    По умолчанию

    Цитата Сообщение от Эдуард_Н Посмотреть сообщение
    А ОЛ почему его не выделил?
    Баг и состоит в том, что "неправильно обнаруживается проблемная связь".

  3. #3

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Баг и состоит в том, что "неправильно обнаруживается проблемная связь".
    ОЛ ее обнаружил, но подсветил не то, что надо. Лоджик обнаруживает последнюю замыкающую связь. И если она глубоко в макросе, то согласно разработанному алгоритму должен был подсветить последнюю внешнюю связь. Вот тут то и была несогласованность задуманного алгоритма и реализации. Помарка исправлена. В данном случае лоджик последнюю замыкающую внешнюю связь определил "PWM1 - fMUL".

    Но прошу не забывать одного, что лоджик может только предложить "проблемную" связь, он не телепат. А в реальности Вы можете заменить на линию задержки другую связь в этом цикле. Ту, которую Вы считаете наиболее верной согласно Вашему алгоритму.
    Последний раз редактировалось wal79; 21.08.2017 в 14:32.
    программер

  4. #4

    По умолчанию

    Цитата Сообщение от wal79 Посмотреть сообщение
    Вот тут то и была несогласованность задуманного алгоритма и реализации. Помарка исправлена. В данном случае лоджик последнюю замыкающую внешнюю связь определил "PWM1 - fMUL".
    По-моему, в конкретном случае "самая сомнительная связь" это "чтение из переменной result --> fLIMIT2" и именно её ОЛ должно подкрашивать / предлагать заменить на задержку.
    Объяснение следующее:
    "для того, чтобы вычислить результат, который нужно записать в result" нужно выполнить fADD, а для вычисления fADD нужен результат "ЛЗ от чтения current" (тут дальнейший анализ "как вычисляется current" не нужен, т.к. значение приходит с прошлого цикла) и результат "fMUL".
    Так мы разворачиваем цепочку и в итоге доходим до "для того, чтобы вычислить fLIMIT2 нужно знать результат чтения current", но ведь current ещё не вычислено, значит цикл, и как раз эту связь и объявляем как "циклообразующую".

    Что по-вашему называется "последней" связью?

  5. #5

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    По-моему, в конкретном случае "самая сомнительная связь" это "чтение из переменной result --> fLIMIT2" и именно её ОЛ должно подкрашивать / предлагать заменить на задержку.
    Объяснение следующее:
    "для того, чтобы вычислить результат, который нужно записать в result" нужно выполнить fADD, а для вычисления fADD нужен результат "ЛЗ от чтения current" (тут дальнейший анализ "как вычисляется current" не нужен, т.к. значение приходит с прошлого цикла) и результат "fMUL".
    Так мы разворачиваем цепочку и в итоге доходим до "для того, чтобы вычислить fLIMIT2 нужно знать результат чтения current", но ведь current ещё не вычислено, значит цикл, и как раз эту связь и объявляем как "циклообразующую".

    Что по-вашему называется "последней" связью?
    Последняя для лоджика связь в цикле. Та связь, которая является для лоджика повторюсь замыкающей. Насчет какая связь должна быть ЛЗ должен решать сам разработчик программы.
    программер

  6. #6
    Пользователь
    Регистрация
    17.06.2016
    Адрес
    Тольятти
    Сообщений
    58

    Lightbulb

    Здравствуйте!

    Давно хочу обратить ваше внимание на следующий бачог.

    2017-08-22_10-09-34 (2).png

    повторяемость одних и тех же переменных.

    И было бы крайне удобно ввести служебную переменную idScreen, содержащую id отображаемого в данный момент экрана.
    Умный человек - с лёгкостью решает любые проблемы. Мудрый - их не создаёт.
    https://vk.com/a.matica

  7. #7

    По умолчанию

    Цитата Сообщение от Project M Посмотреть сообщение
    Здравствуйте!

    Давно хочу обратить ваше внимание на следующий бачог.

    2017-08-22_10-09-34 (2).png

    повторяемость одних и тех же переменных.

    И было бы крайне удобно ввести служебную переменную idScreen, содержащую id отображаемого в данный момент экрана.
    Так, как получилось так? Можете описать действия, чтобы мне возобновить. Насчет Id экрана - да, да, давнешняя тема. В оперативном плане к 1.10 есть такая задача. Пока еще не приступали.
    программер

  8. #8

    По умолчанию

    Цитата Сообщение от wal79 Посмотреть сообщение
    Последняя для лоджика связь в цикле. Та связь, которая является для лоджика повторюсь замыкающей. Насчет какая связь должна быть ЛЗ должен решать сам разработчик программы.
    Да, увидел на более полной картинке, что цикл по факту состоит из "Q3 <- fLIMIT3 <- fADD <-...<- Q+ <- PWM1 <- fLIMIT2 <- fLIMIT1 <- result <- fADD <- fMUL <- PWM1" и поэтому связь PWM1-fMUL и объявляется как причина всех бед.

Похожие темы

  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

Ваши права

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