Страница 16 из 25 ПерваяПервая ... 61415161718 ... ПоследняяПоследняя
Показано с 151 по 160 из 245

Тема: Критическая ошибка в среде программирования Овен ЛОДЖИК или это я д-ак

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

    По умолчанию

    capzap, в железе будет так, есть t фронта, если на момент перехода D=0 то и выход будет равен 0. и так далее.
    Никакого опоздавшего железо не ждет, никогда...

    http://digitalchip.ru/d-trigger - это железячный + его элементная схема - повторите на ПР или ПЛК...
    Изображения Изображения
    • Тип файла: gif dtrig.gif (2.4 Кб, Просмотров: 3)
    Последний раз редактировалось melky; 03.08.2017 в 20:52.

  2. #152

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    1) Берём выход
    2) Смотрим что к нему подключено
    3) Если подключен ФБ / функция, то пытаемся вычислить этот самый ФБ/функцию. Что для этого нужно? Нужно знать значения входов.
    4) Пытаемся вычислить значение каждого входа:
    4.1) Если на вход подключена линия задержки, то просто берём её значение
    4.2) Если вход подключена простая связь, то пытаемся вычислить значение того, откуда эта связь выходит (точно так же как на шаге 3)
    5) Потом обновляем значения в линиях задержки (не хочу заострять внимание на том как именно)

    Если же на этапе 4.2 наступает цикл, то говорим "ай-яй-яй, взрываем ПР и заканчиваем работу".
    Сейчас это реализовано по-другому.
    Видимо, при наступлении "цикла", входу просто назначается статическая переменная, инициализируется нулём (при компиляции), и вычисляется тот самый выход, исходя из значения этой переменной. Значение выхода пишется в переменную "зацикленного" входа.
    Т.е., "автоматом" встаёт ЛЗ.

  3. #153

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    да как в javascript: foo && bar, если первое false то второе уже не проверяется
    Да вот нифига. У xor-a в любом случае нужно оба входа считать.
    Это же, всёже, or, а не and.
    Да и в нерабочем варианте видно, что 1 на вход xor-a не пришла по "железной связи".
    Тут какой-то другой косяк.
    И ведь в другом макросе работает и с нижним входом.

  4. #154
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,574

    По умолчанию

    Цитата Сообщение от pop70 Посмотреть сообщение
    Да вот нифига. У xor-a в любом случае нужно оба входа считать.
    Это же, всёже, or, а не and.
    Да и в нерабочем варианте видно, что 1 на вход xor-a не пришла по "железной связи".
    Тут какой-то другой косяк.
    И ведь в другом макросе работает и с нижним входом.
    я про то что применяется некоторая последовательность,слева на право, сверху вниз
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  5. #155
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,574

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    capzap, в железе будет так, есть t фронта, если на момент перехода D=0 то и выход будет равен 0. и так далее.
    Никакого опоздавшего железо не ждет, никогда...

    http://digitalchip.ru/d-trigger - это железячный + его элементная схема - повторите на ПР или ПЛК...
    да уже сказали что картинка не правильная

    PS раз уж картинки лажевые бывают, можно и на осциллограф посмотреть https://www.google.ru/url?sa=t&rct=j...u2TKWAWYhIg-8A и главное ангицкий не нужен и так подсказки дают
    Последний раз редактировалось capzap; 03.08.2017 в 21:20.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  6. #156

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    я про то что применяется некоторая последовательность,слева на право, сверху вниз
    Нет. Тут какая-то проблема с моментом инициализации константы, скорее всего. Похоже, она в том примере, почему-то, инициализируется позже нижнего входа xor-а, но до ЛЗ. Не понятно почему в других случаях такого нет. Как-то видимо связано с построением дерева вычислений и с остальной схемой. Хотя, константы, по идее, должны инициализироваться в первую очередь - раньше всего остального.
    Интересно. Оно и в ПР так же будет, или это симулятор только дурит?
    Последний раз редактировалось pop70; 03.08.2017 в 21:13.

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

    По умолчанию

    ну специалист по оптимизации здесь не я, но например считаю что на уровне асма легче взять значение и найти его предыдущее состояние, чем искать значение как текущего так и предыдущего значения, хранящихся независимо друг от друга
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  8. #158

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Вопрос хороший и он тесно пересекается с вопросом "а как вообще должны вычисляться значения выходов".
    Как вам такой вариант?
    1) Берём выход
    2) Смотрим что к нему подключено
    3) Если подключен ФБ / функция, то пытаемся вычислить этот самый ФБ/функцию. Что для этого нужно? Нужно знать значения входов.
    4) Пытаемся вычислить значение каждого входа:
    4.1) Если на вход подключена линия задержки, то просто берём её значение
    4.2) Если вход подключена простая связь, то пытаемся вычислить значение того, откуда эта связь выходит (точно так же как на шаге 3)
    5) Потом обновляем значения в линиях задержки (не хочу заострять внимание на том как именно)
    А вообще, разбор схемы и составление последовательности операций, примерно так и идёт.

    Т.е, на этапе "компиляции", создаётся "дерево" с корнем на выходе, выстраиваются ветви к узлам ФБ пока не доберёмся до входов или до констант. Циклы "обрубаются" статическими переменными.
    Если макросы будут с "необязательными" входами, то от этих входов придётся ростить новые деревья, иначе, на них никогда ничего не придёт. А как от них считать "расстояние", задающее порядок расчёта (дальше от корня раньше считается, а они от главного корня отрублены)?
    Вобщем, хз. Наверное, можно, но не просто.

  9. #159

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    ну специалист по оптимизации здесь не я, но например считаю что на уровне асма легче взять значение и найти его предыдущее состояние, чем искать значение как текущего так и предыдущего значения, хранящихся независимо друг от друга
    А их не надо искать. И текущее состояние, впринципе не надо хранить. Вычислили, записали в стат.переменную (ЛЗ), отдали по этапу, и забыли.

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

    По умолчанию

    сделал сейчас D-Trigger в Logo, в общем та же песня, сам по себе работает правильно, 3 последовательно ведут себя так же, пока не добавишь задержки между ними.

Страница 16 из 25 ПерваяПервая ... 61415161718 ... ПоследняяПоследняя

Похожие темы

  1. Два вопроса по ОВЕН-Лоджик.
    от Sargon в разделе Среда программирования OWEN Logic
    Ответов: 33
    Последнее сообщение: 06.02.2017, 15:45
  2. ФИЧИ И БАГИ ОВЕН ЛОДЖИК
    от rovki в разделе Программируемые реле
    Ответов: 649
    Последнее сообщение: 29.07.2016, 10:33
  3. Универсальные макросы для ОВЕН ЛОДЖИК
    от rovki в разделе Программируемые реле
    Ответов: 197
    Последнее сообщение: 28.06.2016, 09:53
  4. Пожелания по развитию овен лоджик
    от rovki в разделе Программируемые реле
    Ответов: 146
    Последнее сообщение: 25.04.2013, 22:47
  5. Драйвер для ОВЕН ТРМ210 в среде LabVIEW
    от tzpp в разделе Помощь Разработчикам
    Ответов: 3
    Последнее сообщение: 16.02.2010, 13:06

Ваши права

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