Страница 126 из 382 ПерваяПервая ... 2676116124125126127128136176226 ... ПоследняяПоследняя
Показано с 1,251 по 1,260 из 4292

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

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

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

    По умолчанию

    Цитата Сообщение от anthrwpos Посмотреть сообщение
    Такая вот ерунда: выход с одного макроса не попадает на другой.
    bug.PNG
    Сам проект
    машины.owl

    И сам макрос работает неадекватно (на симуляции точно, на железе еще не проверял). Понаблюдайте, у него скочат выходы то в ту то в обратную сторону. Если зайти в сам макрос и там просимулировать, введя те-же входящие параметры, то такого поведения нет.
    И ещё один баг внутри ФБ VLV1, в режиме симуляции. Снимок.PNG

  2. #2

    По умолчанию

    Цитата Сообщение от Василий Кашуба Посмотреть сообщение
    И ещё один баг внутри ФБ VLV1, в режиме симуляции. Снимок.PNG
    А в окне просмотра переменных что показывают переменные inc и saw?
    программер

  3. #3

    По умолчанию

    Вы все конечно красиво расписали. На деле не совсем так. Нет того "умного" принятия решения о модификации макроса, о котором Вы говорите. Если Вы говорите, что пользователям нет нужды знать как компилятор обрабатывает тот или иной фрагмент схемы, то тем более зачем им тогда знать как работает анализ схемы.

    С багом 1 соглашусь. При сохранении проекта изменения в макросе должны были примениться.
    Про баг 2 уже сказал, что нет "умного" принятия решения. Вы описываете то, что хотели бы видеть. Таких хотелок Вы не представляете сколько у меня есть по лоджику. У меня сжатые сроки и абсолютное отсутствие человекоресурсов. Поэтому что есть, то есть.
    программер

  4. #4

    По умолчанию

    Цитата Сообщение от wal79 Посмотреть сообщение
    Вы все конечно красиво расписали. На деле не совсем так. Нет того "умного" принятия решения о модификации макроса, о котором Вы говорите.
    А что вы подразумевали-то под словом "inline"?

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

    Вы что, предлагаете, что "надёжный программно-аппаратный комплекс ОЛ-ПР" работает "как-то автомагически"?

    Приведу пример:
    Код:
    int x = 2;
    int y = x + x * x;
    Чему равно y?
    Разумеется, пользователю важно знать чего ожидать от программы. Программу же не наобум пишут, а с примерным представлением того, как она должна работать.
    Так вот: y может быть равно 6, а может и 8.
    При этом, ответ не зависит от того компилируется выражение в машинные коды или оно вычисляется интерпретатором.
    Результат определяется именно тем, "как хотел создатель языка", а уж как реализован конкретный компилятор (на C, на Java, или ещё как) пользователей волнует в последнюю очередь.

    В языках C, C#, Java и прочих явно оговорены правила вычислений выражений.
    Эти самые правила никогда не ссылаются на "регистры процессора", "машинный код", "адреса памяти", ведь правила на то и правила, чтобы объяснять суть происходящего.
    Вот в выражении x + x * x приоритет операции умножения выше, поэтому выражение эквивалентно выражению x+(x*x).
    При этом, компилятор может хоть как это выражение вычислять.
    Например, компилятор может использовать специальную инструкцию FMA (fused-multiply-add), которая за одну операцию вычислит именно это выражение.

    Вот пример в случае C# (выдержка из спецификации C# 3.0):
    Снимок экрана 2017-08-29 в 12.28.25.png

    Так и в случае с ОЛ.
    Пользователям важно знать по каким правилам должны работать схемы ОЛ.
    Сказать, что "вся текущая реализация ОЛ это одно большое правило", конечно, можно, но это бесполезно.

    Пользователям ОЛ важно уметь предсказывать результат программы "в уме" и без использования ОЛ. Поэтому и объяснение того, "как должны работать ОЛ схемы" (== спецификацию ОЛ языка) желательно описывать без привлечения фраз в духе "ОЛ загружает значение в стек, поэтому тут получается 2, а не 3". Да какая разница стек или регистр?
    По-хорошему, должно быть более-менее стройное и простое объяснение в духе "результат работы ОЛ схемы будет неотличим от результата, полученного таким-то алгоритмом", а при этом сама программа ОЛ может использовать те оптимизации, которые удобны авторам.


    PS. По-моему, вы путаете путаете понятие "спецификация" и "реализация".

  5. #5

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    А что вы подразумевали-то под словом "inline"?


    Вот тут я не соглашусь.

    Вы что, предлагаете, что "надёжный программно-аппаратный комплекс ОЛ-ПР" работает "как-то автомагически"?

    Приведу пример:
    Код:
    int x = 2;
    int y = x + x * x;
    Чему равно y?
    Разумеется, пользователю важно знать чего ожидать от программы. Программу же не наобум пишут, а с примерным представлением того, как она должна работать.
    Так вот: y может быть равно 6, а может и 8.
    При этом, ответ не зависит от того компилируется выражение в машинные коды или оно вычисляется интерпретатором.
    Результат определяется именно тем, "как хотел создатель языка", а уж как реализован конкретный компилятор (на C, на Java, или ещё как) пользователей волнует в последнюю очередь.

    В языках C, C#, Java и прочих явно оговорены правила вычислений выражений.
    Эти самые правила никогда не ссылаются на "регистры процессора", "машинный код", "адреса памяти", ведь правила на то и правила, чтобы объяснять суть происходящего.
    Вот в выражении x + x * x приоритет операции умножения выше, поэтому выражение эквивалентно выражению x+(x*x).
    При этом, компилятор может хоть как это выражение вычислять.
    Например, компилятор может использовать специальную инструкцию FMA (fused-multiply-add), которая за одну операцию вычислит именно это выражение.

    Вот пример в случае C# (выдержка из спецификации C# 3.0):
    Снимок экрана 2017-08-29 в 12.28.25.png

    Так и в случае с ОЛ.
    Пользователям важно знать по каким правилам должны работать схемы ОЛ.
    Сказать, что "вся текущая реализация ОЛ это одно большое правило", конечно, можно, но это бесполезно.

    Пользователям ОЛ важно уметь предсказывать результат программы "в уме" и без использования ОЛ. Поэтому и объяснение того, "как должны работать ОЛ схемы" (== спецификацию ОЛ языка) желательно описывать без привлечения фраз в духе "ОЛ загружает значение в стек, поэтому тут получается 2, а не 3". Да какая разница стек или регистр?
    По-хорошему, должно быть более-менее стройное и простое объяснение в духе "результат работы ОЛ схемы будет неотличим от результата, полученного таким-то алгоритмом", а при этом сама программа ОЛ может использовать те оптимизации, которые удобны авторам.


    PS. По-моему, вы путаете путаете понятие "спецификация" и "реализация".
    Вы подходите со стороны программиста. Лоджик изначально создавался с позиции схемотехника. Понятно, что с некоторыми оговорками, которые уже не раз обсуждались.
    программер

  6. #6

    По умолчанию

    Цитата Сообщение от wal79 Посмотреть сообщение
    Вы подходите со стороны программиста. Лоджик изначально создавался с позиции схемотехника. Понятно, что с некоторыми оговорками, которые уже не раз обсуждались.
    И?

    Ответьте на вопрос прямо. Действительно считаете, что пользователям ОЛ (в том числе схемотехникам) нет никакой нужды в том, чтобы уметь предсказывать поведение схемы?
    Последний раз редактировалось Владимир Ситников; 29.08.2017 в 13:06.

  7. #7

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    И?

    Ответьте на вопрос прямо. Действительно считаете, что пользователям ОЛ (в том числе схемотехникам) нет никакой нужды в том, чтобы уметь предсказывать поведение схемы?
    Конечно пользователь должен понимать как создавать схему. Но Вы гребете все под свой уровень ,что не верно.

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

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

    По умолчанию

    Владимир, посмотрите описание Inline функций в языках интерпритаторах (например в iDev-OS).
    Кстати, программисты-Британцы, кипятком писают от возможности вставлять Inline функции, и с огромным удовольствием делают строку кода бесконечной длинны. (а для программистов-русских совершенно запутанную программу)
    Умный человек - с лёгкостью решает любые проблемы. Мудрый - их не создаёт.
    https://vk.com/a.matica

  9. #9

    По умолчанию

    Цитата Сообщение от Project M Посмотреть сообщение
    Владимир, посмотрите описание Inline функций в языках интерпритаторах (например в iDev-OS).
    И?
    http://www.noritake-itron.com/Web/it...s/Top_Cmd.html
    The commands which require a function as a parameter ie IF, RUN, INT and KEY can have the function code embedded inside the commands by enclosing the required code in square brackets.
    This allows you to reduce the number of lines of code for simple functions and where the function is unlikely to be used elsewhere.
    Т.е. inline func в смысле iDev-OS это лишь "безымянная функция". Разумеется, к ОЛ это никак не относится, т.к. ОЛ макросы именованные и т.п.


    wal79 рассказал, то основополагающая методология разработки ОЛ -- спонтанная, и никакие спецификации не нужны. Поэтому и не нужно объяснять что значат "прозрачные макросы", "inline макросы", "линия задержки", "обратная связь", "виртуальные переменные" и далее по списку.

  10. #10

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    И?

    Т.е. inline func в смысле iDev-OS это лишь "безымянная функция". Разумеется, к ОЛ это никак не относится, т.к. ОЛ макросы именованные и т.п.


    wal79 рассказал, то основополагающая методология разработки ОЛ -- спонтанная, и никакие спецификации не нужны. Поэтому и не нужно объяснять что значат "прозрачные макросы", "inline макросы", "линия задержки", "обратная связь", "виртуальные переменные" и далее по списку.
    Просьба обсуждение перенести в другую ветку.
    программер

Страница 126 из 382 ПерваяПервая ... 2676116124125126127128136176226 ... ПоследняяПоследняя

Похожие темы

  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

Ваши права

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