Страница 3 из 38 ПерваяПервая 1234513 ... ПоследняяПоследняя
Показано с 21 по 30 из 374

Тема: Бэта-версия OWEN Logic 1.9

  1. #21

    По умолчанию

    Поставил 1.9.250.8649 -- попробовал.

    1) Само сообщение "требуется явно установить линию задержки" это, конечно, шаг вперёд, но нужно объяснять что пошло не так. Иначе люди не будут понимать что именно случилось.

    Т.е. должно быть в духе "Ошибка ОЛ94523: в программе оказался цикл из связей. Нужно либо разорвать цикл, либо заменить какую-то связь на линию задержки"

    По слову "ОЛ94523" хорошо будет срабатывать поиск. Можно добавить и ссылку на страницу / справку с описанием "простейшего примера где такое может возникать", и описанием "почему нельзя делать циклы" (на примере вечного двигателя из блока MUL или чего-нибудь такого).

    2) Можно добавить кнопку, ссылку или ещё что-то, чтобы ОЛ показало где именно находится цикл/проблемная связь?

    3) Похоже, само сообщение об ошибке пропадает после запуска симуляции

    Снимок экрана 2017-01-16 в 10.41.43.png (мигает, но сообщения внизу нет)

    4) Если связь выделена, то её "мигание красным" не видно

    5) Явный цикл не мешает запуску симуляции. В описании к 1.9 написано, что будет мешать. Или я не так читаю?
    Снимок экрана 2017-01-16 в 10.41.06.png

    6) Помощь, история версий ведёт в никуда.
    Последний раз редактировалось Владимир Ситников; 16.01.2017 в 13:41.

  2. #22

    По умолчанию

    В последнем выложенном релизе 208 пункт 3 исправлен.
    По поводу пункта 5. Компилятор считает критической ошибкой линию задержки, обнаруженную внутри используемого в проекте макроса.
    Последний раз редактировалось wal79; 16.01.2017 в 13:40.
    программер

  3. #23

    По умолчанию

    Цитата Сообщение от wal79 Посмотреть сообщение
    По поводу пункта 5. Компилятор считает критической ошибкой линию задержки, обнаруженную внутри используемого в проекте макроса.
    ^^^ тут точно нет ошибок в словах? Звучит так, как будто в макросах вообще нельзя использовать линии задержки, а это было бы крайне странно.

    Полагаю, речь была не про пользовательскую, а про неявную.

    А снаружи? Цикл в основной программе не считается ошибкой?
    Почему он тогда подкрашивается красным?

    Есть ли смысл делать разные поведения для случая "в макросе" и "в основной программе"?

    По-моему, циклы нужно везде запрещать. Кому надо -- пусть ставят линии задержки.
    Циклы из простых связей лишь вселяют ложную надежду, что "программа правильная, это ОЛ-ПР чудит".
    Последний раз редактировалось Владимир Ситников; 16.01.2017 в 13:45.

  4. #24

    По умолчанию

    Да, я имел в виду циклическую связь, поправлюсь.
    программер

  5. #25

    По умолчанию

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

    Полагаю, речь была не про пользовательскую, а про неявную.

    А снаружи? Цикл в основной программе не считается ошибкой?
    Почему он тогда подкрашивается красным?

    Есть ли смысл делать разные поведения для случая "в макросе" и "в основной программе"?
    Макрос критичен ведь к этому. Если там будет цикл, то поведение его не однозначно. В проекте допускается применение циклических связей для того, чтобы сильно не "ломать" программу пользователя. Мы предупреждаем пользователя о цикле, но исправлять в проекте или нет - дело его. И старые проекты (исключая макросы) будут работать как раньше. Мы не принуждаем, мы предупреждаем. :-)
    программер

  6. #26

    По умолчанию

    Цитата Сообщение от wal79 Посмотреть сообщение
    Макрос критичен ведь к этому. Если там будет цикл, то поведение его не однозначно. В проекте допускается применение циклических связей для того, чтобы сильно не "ломать" программу пользователя. Мы предупреждаем пользователя о цикле, но исправлять в проекте или нет - дело его. И старые проекты (исключая макросы) будут работать как раньше. Мы не принуждаем, мы предупреждаем. :-)
    1) Можно различать старые проекты и новые? Ну, если проект создан в ОЛ 1.9, то можно запрещать циклы на всех уровнях.
    В старых проектах можно либо сразу ругаться, либо предупреждать. Можно галочку сделать "я_хочу_циклы_из_связей__понимаю_что_программа_мож ет_не_работать__клянусь_не_обращаться_в_поддержку_ при_этом"
    Но лучше вообще везде запретить циклы.

    2) Так ли важно "не ломать"? Реально был случай на форуме, когда товарищ утверждал, что "программа рабочая", а по факту в ней цикл.
    Проблема даже не в том, что от цикла программа становится "вообще нерабочей". А в том, что от цикла неявная задержка может возникнуть в самом неожиданном месте.

    3) Утверждалось, что макросы раскрываются при компиляции (т.е. full inline). Полагаю, неявная задержка расставляется после этого. Из этого делаю вывод, что по факту неявная задержка может возникнуть "как бы в макросе" (т.е. в том месте программы, который находился в макросе). В итоге будет старое "макрос сам по себе рабочий, а вставляем его в общую программу и беда-печаль".
    Всё так? Или там супер-алгоритм, который запрещает возникновение неявной связи в том месте, которое "возникло из макроса"?

  7. #27
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    мало того, макросы сами по себе работали нормально, но связи после макросов, даже без явных связей ломали работу макросов.
    Или наоборот, при добавлении рабочего макроса с обратной связью в программу с неявными происходил сбой программы

    з.ы. я у себя уже поправил поведение, но на 1.9 еще не проверял...

  8. #28

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    1) Можно различать старые проекты и новые? Ну, если проект создан в ОЛ 1.9, то можно запрещать циклы на всех уровнях.
    В старых проектах можно либо сразу ругаться, либо предупреждать. Можно галочку сделать "я_хочу_циклы_из_связей__понимаю_что_программа_мож ет_не_работать__клянусь_не_обращаться_в_поддержку_ при_этом"
    Но лучше вообще везде запретить циклы.

    2) Так ли важно "не ломать"? Реально был случай на форуме, когда товарищ утверждал, что "программа рабочая", а по факту в ней цикл.
    Проблема даже не в том, что от цикла программа становится "вообще нерабочей". А в том, что от цикла неявная задержка может возникнуть в самом неожиданном месте.

    3) Утверждалось, что макросы раскрываются при компиляции (т.е. full inline). Полагаю, неявная задержка расставляется после этого. Из этого делаю вывод, что по факту неявная задержка может возникнуть "как бы в макросе" (т.е. в том месте программы, который находился в макросе). В итоге будет старое "макрос сам по себе рабочий, а вставляем его в общую программу и беда-печаль".
    Всё так? Или там супер-алгоритм, который запрещает возникновение неявной связи в том месте, которое "возникло из макроса"?
    Хорошо, обдумаем вновь вариант запрещать везде циклы более основательно...
    программер

  9. #29

    По умолчанию

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

    з.ы. я у себя уже поправил поведение, но на 1.9 еще не проверял...
    Вы говорите о том, что макросы с неявными обратными связями (циклические) вели себя по разному в проекте. Так ведь? Вы об этом?
    программер

  10. #30
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    wal79 да, когда макросы от AI! с явными обратными связями ломали программу, в которой были неявные связи. И когда макросы с неявными связями внутри переставали работать когда добавлялись другие элементы в программу, при чем никак не затрагивая части программы ДО макросов, ставились только на выходе.

Страница 3 из 38 ПерваяПервая 1234513 ... ПоследняяПоследняя

Похожие темы

  1. OWEN Logic v1.7
    от Евгений Сергеевич в разделе Среда программирования OWEN Logic
    Ответов: 404
    Последнее сообщение: 25.08.2020, 15:17
  2. Owen Logic версия: 1.8.4 build 108 beta
    от Руслпн в разделе Программируемые реле
    Ответов: 108
    Последнее сообщение: 29.12.2015, 08:21
  3. Версия OWEN Logic.
    от smk1635 в разделе Трёп (Курилка)
    Ответов: 5
    Последнее сообщение: 25.05.2014, 22:18
  4. ПО OWEN Logic !!!
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 3
    Последнее сообщение: 11.10.2011, 16:33
  5. OWEN Logic 1.2.0.14b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 40
    Последнее сообщение: 21.02.2011, 14:16

Ваши права

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