capzap ща посмотрю, может быть и он. Я в ссылке давал рисунок JK триггера, как он соответствует железячному.
немного не соответствует работе, но в целом более менее. При разных значениях J и K он должен устанавливать в 1 или сбрасывать выход по спаду, а не по фронту сигнала.
Если J и K = 1 тогда должен менять состояние по фронту (тут четко работает)
Последний раз редактировалось melky; 03.08.2017 в 16:07.
Владимир это Вы меня удивляете
Убеждая, что если выход элемента соединить со входом, то это КАТЕГОРИЧЕСКИ не будет работать, никогда и ни где.
ПО для AL2 не моя любимая программа, просто вместо пространных умозаключений о том, что связь выхода со входом элемента работать не может и D триггеры нельзя соединять без линий задержки я привожу ФАКТЫ в виде скриншотов и видио.
Лучше один раз увидеть, что это действительно может работать, чем сто раз услышать (прочитать), что это сделать нельзя, потому, что нельзя и все тут.
Короче это вся рота идет не в ногу, а не ОЛ.
Я ничего против ОЛ не имею, просто буду учитывать нестандартные реализации очевидных вещей, о которых я, при работе в другой среде разработки даже и не задумывался.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Последний раз редактировалось petera; 03.08.2017 в 16:23.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Цитату в студию.
Следите за своими словами, и не надо приписывать мне того, чего я не говорил. Не говорил я, что "самозамкнутый элемент не будет работать".
И? Я где-то говорил, что "в КДС невозможно замкнуть выход на вход"? Я где-то говорил, что при этом ПЛК взорвётся? А? Давайте же. Вы же опытный инженер.
Теперь, предлагаю вам перевести дух, выключить эмоции, включить мозг и ещё раз перечитать вот это сообщение:
Как многие знают, проблема "порядка выполнения блоков" в КДС "решена" тем, что пользователю самому предлагают нумеровать блоки.
Решение? Да, какое-то решение. Кто-то даже и не задумывается, что "вообще можно указать порядок выполнения". А кто-то набивает шишки. Делает схему, а она работает косо.
Так вот: в ОЛ подход к этой проблеме простой. Блоки выполняются в порядке от входов к выходам.
Иными словами, если есть цепочка вход--AND--OR--выход, то OR выполнится только после того, как выполнится AND.
И в этом есть огромный плюс: пользователям не нужно вручную расставлять порядок выполнения. Как составил схему, так и работает. Это офигенный плюс.
Но есть и нюанс: при таком подходе нельзя делать циклы (замыкать выход на вход), и нужно делать явные линии задержки.
В явном указании линий задержки есть огромный плюс: пользователь видит в каких частях схемы используются "новые", а в каких "старые" данные. В КДС для этого нужно нужно крайне аккуратно следить за последовательностью выполнения элементов.
Вам что, показать пример, где ваша любимая среда покажет кривой результат?
Например, покажу, что "две линии, выходящие из одного и того же места по факту принимают разный результат". Как вы это будете объяснять?
То, что в какой-то среде может работать регистр сдвига "без линий задержки" ни о чём не говорит. Есть фундаментальная проблема -- каким-то образом должно быть обговорено в каком порядке выполняются элементы. Так вот: обсуждать нужно не один конкретный пример в конкретной среде, а общий подход.
Если готовы обсуждать общий подход -- не вопрос. Я уже вопросы общего характера задавал, но вы их просто игнорируете.
Всё нормально с д-триггером в ОЛ.
Если вы "железному" д-тригеру ОДНОВРЕМЕННО измените два входа (с и д), то на выходе получите что угодно.
Второй д-тригер в ол работает именно так. К моменту его обсчёта, вход д уже изменён выходом первого д-триггера, и учесть изменение на входе с он никак не может до того, как программа его начнёт считать. Линия задержки прекрасно "придерживает" предыдущее значение на входе на 1 цикл, при этом, никаких побочных явлений (задержек сигналов на выходах) нет.
Обсуждать абсолютно нечего.
^^^ всё так
На самом деле, есть что обсуждать.
Как оказалось, если попытаться сделать "свой макрос SUPERDTRIGGER", в котором простой ОЛ DTRIG и линия задержки на выходе (ну, чтобы эстеты могли делать "регистр сдвига на SUPERDTRIGGER'ах на простых связях"), то такое не сработает.
Это поведение ОЛ, по-моему, является багом.