PDA

Просмотр полной версии : Циклические связи



Спорягин Кирилл
13.02.2018, 10:38
Добрый день, форумчане!

Хотелось бы понять в каких ситуациях нужно использовать линию задержки.

Прикрепляю простой пример ClosedLoop.owl, где используется циклическая связь.
OwenLogic выдает предупреждение об этом (см. Циклическая связь.jpeg).
Но все корректно работает, как в симуляции (см. Корректная работа.jpeg), так и на реле ПР200-24.2.2.0.
Версия ОL - 1.9.149.12618.

Можно привести простой пример, где при наличии циклической связи проект работает некорректно?

Ревака Юрий
13.02.2018, 10:52
Вам сюда http://www.owen.ru/forum/showthread.php?t=25870&page=3 в этой теме много написано про связи.

Спорягин Кирилл
13.02.2018, 10:56
Данную тему читал, там много всего написано и не понятно.
Есть ли простой пример, где без линии задержки работает не корректно?

Ревака Юрий
13.02.2018, 11:14
Данную тему читал, там много всего написано и не понятно.
Есть ли простой пример, где без линии задержки работает не корректно?

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

Василий Кашуба
13.02.2018, 11:17
Данную тему читал, там много всего написано и не понятно.
Есть ли простой пример, где без линии задержки работает не корректно?
Почитайте с этого поста. http://www.owen.ru/forum/showthread.php?t=25870&p=233653&viewfull=1#post233653

Владимир Ситников
13.02.2018, 11:48
Можно привести простой пример, где при наличии циклической связи проект работает некорректно?
Кирилл, а вы можете ответить как понять работает ли схема "корректно" или "некорректно"?
Дело в том, что ОВЕН вообще отказываются говорить о том "каково ожидаемое поведение схемы, у которой присутствует циклическая связь".

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

Хотите использовать циклические связи -- используйте на свой страх и риск. Как будет работать схема -- вообще никто сказать не может.
Более того, это поведение может даже внезапно измениться при изменении версии ОЛ, и ОВЕН снова будет говорить "а мы и не обещали того как оно должно работать".


Вот ключевой момент:


про "слева-направо и сверху-вниз" никто в Овен не говорил.
Есть, например, любители, которые вообще все связи рисуют через переменные. При этом, сами блоки могут располагаться на холсте так, как угодно. И от фактического расположения блоков на листе зависеть результат не будет (я бы сказал, что не должен).

Правильнее говорить: "Овен заявляет, что перед вычислением блока вычисляются значения, приходящие на его вход". В случае же, когда "вход блока" прямо или косвенно зависит от его же выхода Овен умалчивает как оно должно работать.

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



wal79 (известный программист-знаток ОЛ), говорил, что Овен не публикуют и не собираются публиковать документацию о том, как именно происходит вычисление ОЛ схемы (http://www.owen.ru/forum/showthread.php?t=12264&page=136&p=256583&viewfull=1#post256583).

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

Но есть и положительный момент.
Фича ОЛ заключается в том, что в большинстве случаев (например, когда в схеме нет замыканий выходов на входы) схема работает именно так, как думает её автор. Так выпьем же, товарищи, за фичи ОЛ!

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

Спорягин Кирилл
13.02.2018, 11:58
Из все вышенаписанного, сделал для себя вывод, что необходимо ставить линию задержки. Всем спасибо!

Andry_EXO-Space
11.10.2023, 16:22
Здравствуйте!
Только начал осваивать Овен Лоджик.
При указании переменной заполняемой из макроса Pt100 для вывода на экран появляется сообщение о обнаруженных циклических связях.
Макрос подсвечен желтым... не понимаю что с этим делать...
70870

kondor3000
11.10.2023, 16:32
Здравствуйте!
Только начал осваивать Овен Лоджик.
При указании переменной заполняемой из макроса Pt100 для вывода на экран появляется сообщение о обнаруженных циклических связях.
Макрос подсвечен желтым... не понимаю что с этим делать...
70870

Можете ничего не делать, Лоджик предупреждает, что переменная после жёлтой линии в макросе, будет присвоена в следующем цикле программы. Если мешает, можете заменить её линией задержки.
И ещё в этот макрос нужен только в ПР200, а Pt100 не рекомендуется применять для измерения температуры. Лучше сразу замените на Pt1000

Andry_EXO-Space
11.10.2023, 16:34
Виновник торжества в самом макросе...70871
Точно ли там нужно менять связь на линию задержки???

Andry_EXO-Space
11.10.2023, 16:35
Спасибо!!!

Dimensy
11.10.2023, 16:36
Виновник торжества в самом макросе...70871
Точно ли там нужно менять связь на линию задержки???

Я бы еще и сам макрос заменил на штатный блок fSel

kondor3000
11.10.2023, 16:38
Тут не макрос надо менять а PT100
И ещё в этот макрос нужен только в ПР200, а Pt100 не рекомендуется применять для измерения температуры. Лучше сразу замените на Pt1000
Иначе погрешность будет +/-15 градусов.

Andry_EXO-Space
11.10.2023, 16:46
Подскажите пожалуйста, а как закрыть не нужные вкладки рабочего пространства?
70872

Королев Кирилл
11.10.2023, 17:04
Подскажите пожалуйста, а как закрыть не нужные вкладки рабочего пространства?
70872

Добрый день!

Справа есть крестик

70875