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

Тема: OwenLogic 1.3

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    21.01.2011
    Адрес
    еБург
    Сообщений
    890

    По умолчанию

    вот ещё какой у меня вопрос...
    судя по доке ПР110 оперирует целыми беззаковыми числам (тип DWord)
    Сложение (ADD)
    Результатом выполнения операции на выходе является сумма входных значений.
    Если при выполнении операции значение числа получается больше 4294967295 (32 бита),
    выходящие за разрядность 32 бита биты отсекаются.
    Вычитание (SUB)
    Результатом выполнения операции на выходе является разность входных значений.
    Если при выполнении операции на первом входе (V1) значение числа меньше второго (V2),
    результатом будет число, полученное сложением младшего числа плюс 0x100000000 минус значение числа большего:
    V1 + 0x100000000 – V2 = Q
    Умножение (MUL)
    Результатом выполнения операции на выходе является перемножение входных значений.
    Если при выполнении операции значение числа получается больше 4294967295 (32 бита),
    выходящие за разрядность 32 бита биты отсекаются.
    а судя по эмулятору, мы имеем дело с целыми числами со знаком (тип DoubleInteger)

    так как же оно на самом деле?
    в частности, что будет если на реальном реле сравнить "not(0)" и "0"?
    (см. примеры на картинке)
    Изображения Изображения
    Последний раз редактировалось AI!; 26.02.2011 в 00:23. Причина: картинко added

  2. #2

    По умолчанию

    Скачал новую версию с симулятором.
    Странная вещь - дома на компе с Windows 7 всё работает нормально.
    А на работе на 2 компа поставил с Windows XP - режим эмуляции включается, но, почему-то не меняется состояние входов при нажатии на них... Соответственно и выходов.
    Нажимаю кнопку > режим симулятора, затем "запуск симулятора в режиме реального времени". Щёлкаю по входу - появляется обрамляющая красная рамка,но вход не меняет состояние на лог "1"...

  3. #3

    По умолчанию

    Цитата Сообщение от kolyan Посмотреть сообщение
    Скачал новую версию с симулятором.
    Странная вещь - дома на компе с Windows 7 всё работает нормально.
    А на работе на 2 компа поставил с Windows XP - режим эмуляции включается, но, почему-то не меняется состояние входов при нажатии на них... Соответственно и выходов.
    Нажимаю кнопку > режим симулятора, затем "запуск симулятора в режиме реального времени". Щёлкаю по входу - появляется обрамляющая красная рамка,но вход не меняет состояние на лог "1"...
    А режим реального времени вообще запущен при этом? Или пошагово пробовали отлаживаться? Если да, то просьба написать какая винда стоит (32-х или 64-х), а также какие пакеты установлены на винде (SP1, SP2, SP3).

  4. #4

    По умолчанию

    Всё получилось после повторного скачивания Owen Logic.
    Спасибо всем за отзывы на вопрос.

  5. #5

    По умолчанию

    Цитата Сообщение от AI! Посмотреть сообщение
    вот ещё какой у меня вопрос...
    судя по доке ПР110 оперирует целыми беззаковыми числам (тип DWord)
    а судя по эмулятору, мы имеем дело с целыми числами со знаком (тип DoubleInteger)

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

  6. #6
    Пользователь
    Регистрация
    21.01.2011
    Адрес
    еБург
    Сообщений
    890

    По умолчанию

    Цитата Сообщение от wal79 Посмотреть сообщение
    формат отображения числа
    Вы видимо не совсем поняли вопрос.... интересует не формат отображения, а как оно на самом деле!
    уточню что я имею ввиду...

    из опыта программирования на ассемблере, есть не оч. много команд для которых важно знаковый операнд или нет
    1) в примере выше (на картинке) я показал пример - что будет если сравнить 0xFFFFFFFF и 0х00000000?
    если операнд знаковый, то ноль больше, а если без знака - то ноль меньше...
    если судить по доке (там упоминаются числа 4 миллиарда) - ноль будет меньше, а симулятор ведёт сябя наоборот!!!.
    2) так же не понятно как поведёт себя "универсальный счётчик" если его попросит вычесть единицу из нуля? (вопрос именно поведения реального реле)
    в доке есть ограничение 0..65535 - а эмуляторе это отследили?
    PS хотя тут, если прямо указанно в доке, то значит что поведение при выходе за рамки диапазона "не документировано и может меняться от версии к версии прибора" (опять же из опыта)
    3) третий момент - это умножение и деление - результат его оч. сильно зависит от знака!
    (и тут опять, то что описано в документации не совпадает с поведением симулятора!!!)

    ---------------------------------
    PS цель моего поста - обратить внимание разработчика эмулятора на моменты, на которые с первого раза не обращаешь...
    (тот же SHR, например, который поправили...)

    НО я обратил.... т.к. я стал использовать элемент "GT" ("в умном отопителе")
    и задался вопросом - что будет если где-то, случайно, у меня будет -1?
    решил "проблему" следующим образом - просто прибавил ко всем значениям 16

    и соответственно сдвинул диапазон значений с 0..15 на 16..31, и в случае выхода из диапазона значений, все элементы схемы остаются штатных, предсказуемых режимах
    (хотел вставить слово "документированных", но на данный момент получается, что дока и практика (симулятор) разнятся )
    Последний раз редактировалось AI!; 28.02.2011 в 10:43.

  7. #7

    По умолчанию

    Цитата Сообщение от AI! Посмотреть сообщение
    Вы видимо не совсем поняли вопрос.... интересует не формат отображения, а как оно на самом деле!
    уточню что я имею ввиду...

    из опыта программирования на ассемблере, есть не оч. много команд для которых важно знаковый операнд или нет
    1) в примере выше (на картинке) я показал пример - что будет если сравнить 0xFFFFFFFF и 0х00000000?
    если операнд знаковый, то ноль больше, а если без знака - то ноль меньше...
    если судить по доке (там упоминаются числа 4 миллиарда) - ноль будет меньше, а симулятор ведёт сябя наоборот!!!.
    2) так же не понятно как поведёт себя "универсальный счётчик" если его попросит вычесть единицу из нуля? (вопрос именно поведения реального реле)
    в доке есть ограничение 0..65535 - а эмуляторе это отследили?
    PS хотя тут, если прямо указанно в доке, то значит что поведение при выходе за рамки диапазона "не документировано и может меняться от версии к версии прибора" (опять же из опыта)
    3) третий момент - это умножение и деление - результат его оч. сильно зависит от знака!
    (и тут опять, то что описано в документации не совпадает с поведением симулятора!!!)

    ---------------------------------
    PS цель моего поста - обратить внимание разработчика эмулятора на моменты, на которые с первого раза не обращаешь...
    (тот же SHR, например, который поправили...)

    НО я обратил.... т.к. я стал использовать элемент "GT" ("в умном отопителе")
    и задался вопросом - что будет если где-то, случайно, у меня будет -1?
    решил "проблему" следующим образом - просто прибавил ко всем значениям 16

    и соответственно сдвинул диапазон значений с 0..15 на 16..31, и в случае выхода из диапазона значений, все элементы схемы остаются штатных, предсказуемых режимах
    (хотел вставить слово "документированных", но на данный момент получается, что дока и практика (симулятор) разнятся )
    Да, Вы правы, этот момент был упущен из виду. Подправлю и сообщу Вам о результатах...

Ваши права

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