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

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

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь Аватар для Василий Кашуба
    Регистрация
    20.11.2011
    Адрес
    Ставрополь
    Сообщений
    2,552

    По умолчанию

    Цитата Сообщение от wal79 Посмотреть сообщение
    Вы имеете в виду в случае обнаружения неявных линий задержки?
    Нет проект полностью рабочий, простой состоит из двух макросов, каждый в отдельности, открытый в редакторе, работает, а в общем окне нет.
    Последний раз редактировалось Василий Кашуба; 16.01.2017 в 10:22.

  2. #2

    По умолчанию

    Цитата Сообщение от Василий Кашуба Посмотреть сообщение
    Нет проект полностью рабочий, простой состоит из двух макросов, каждый в отдельности, открытый в редакторе, работает, а в общем окне нет.
    Не совсем понимаю почему в этой ветке написали... :-) Этот проект и в 1.8 не симулируется. Переменной ведь фактически не существует, она является виртуальной. Вот если Вы соедините блок чтения этой переменной с выходом (или сделаете, к примеру, энергонезависимой в приборах, поддерживающих эту память), то она сразу будет задействована. Это же так сказать аксиома нашего продукта, начало ее идет еще с самых первых релизов.
    программер

  3. #3

    По умолчанию

    Поставил 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.

  4. #4

    По умолчанию

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

  5. #5

    По умолчанию

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

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

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

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

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

  6. #6

    По умолчанию

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

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

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

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

  7. #7

    По умолчанию

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

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

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

  8. #8

    По умолчанию

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

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

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

  9. #9

    По умолчанию

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

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

    По умолчанию

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

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

Страница 3 из 30 ПерваяПервая 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, 21:18
  4. ПО OWEN Logic !!!
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 3
    Последнее сообщение: 11.10.2011, 15:33
  5. OWEN Logic 1.2.0.14b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 40
    Последнее сообщение: 21.02.2011, 14:16

Ваши права

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