Добрый день.
Использую в проекте макрос TIME U/D. OL выдает сообщение по поводу циклических связей. Что в данном случае надо сделать чтобы OL не выдавал это сообщение ?
Вид для печати
Добрый день.
Использую в проекте макрос TIME U/D. OL выдает сообщение по поводу циклических связей. Что в данном случае надо сделать чтобы OL не выдавал это сообщение ?
Вариант А - использовать более раннюю версию лоджика
Вариант Б - для обратной связи применить линию задержки (в вашем проекте полагаю на вход R триггера)
Ну, да, в прошлой версии ОЛ схема работает непойми как, и ОЛ просто не подкрашивает ошибку.
"Замести проблему под ковёр" это верный путь в промышленной автоматике.
Даже если в текущей версии ОЛ и работает, то в будущей поведение запросто может измениться.
Понятно, что проект нужно создавать строго в одной-единственной версии ОЛ и на другие никогда не переходить.
Но лучше уж не ходить по этим граблям, и не использовать циклические связи в ОЛ, коль скоро производитель ОЛ отказывается документировать принцип их работы.
Циклическая связь лишь подсвечивается и говорит о наличии такой связи . Ее надо учитывать когда работаешь на уровне цикла программы (регистр сдвига ,стек итп) ,в остальных случаях она не влияет и ОЛ ее правильно отрабатывает ,а в первом случае ОЛ отрабатывает связь как нужно пользователю ,с задержкой на цикл или нет .
бу бу бу
Вы никогда не сможете сказать что значит "ОЛ правильно отрабатывает", т.к. ни в одной из документаций к ОЛ не сказано как вообще должны работать программы с циклическими связями.
100500 раз на форуме были вопросы "добавляю новый блок в схему и всё ломается", а после выяснения оказывалось, что причина в циклической связи.
Итак: прежде, чем говорить "правильно работает" проверьте есть ли хоть какой-нибудь критерий правильности.
В ОЛ такого критерия нет (циклические программы в ОЛ вообще непойми как работают), и поэтому ваши слова, что "у вас оно как-то работало" это лишь медвежья услуга окружающим.
Насоветуете "использовать циклические связи", а у вопрошающего КНС переполнится.
Критерий "ОЛ правильно отрабатывает" - если работает так, как задумал автор.
Для ОЛ проблема с циклическими связями высосана из пальца.
В аналогичных программных продуктах запретов на прямое соединение выхода ФБ с его входом нет. Взять от же кодесис.
Давайте ещё раз: глядя на ОЛ схему невозможно понять как она будет работать. Вообще невозможно.
А разрабатывать схему "вслепую" это, конечно, именно то что нужно в промышленности.
Из чего она высосана предлагаю не обсуждать.
Там есть явная нумерация блоков. В ОЛ её нет.
Зачем то же есть в ОЛ функция - перенумеровать компоненты.
Полагаю (и практикой это подтверждается), что нумерация идет, как в любой схеме - сверху вниз и слева направо.
Тут ничего не нумеруется, во всяком случае янвно
Вложение 38802
Выходы со входами соединять не запрещено.
И все как-то у них работает, однако
Предполагайте что хотите, но разработчики ОЛ явно говорят, что предсказать поведение схемы по её внешнему виду невозможно.
И тут один ADD
Вложение 38803
Чего тут нумеровать?
А ОЛ верещать будет.
petera только в ОЛ за счет ОС можно сделать такой финт, который в CodeSys еще надо будет постараться выполнить...
А так да, во многих программах можно подключать выход на вход. И например в LogoComfort при попытке соединить программа сразу требует сделать это через флаг (как раз тот самый эффект про следующий цикл). ОЛ же ругается всегда но допускает работу и так и так.
petera только в ОЛ за счет ОС можно сделать такой финт, который в CodeSys еще надо будет постараться выполнить...
А так да, во многих программах можно подключать выход на вход. И например в LogoComfort при попытке соединить программа сразу требует сделать это через флаг (как раз тот самый эффект про следующий цикл). ОЛ же ругается всегда но допускает работу и так и так.
Владимир Ситников, тот же Сименс жестко предсказывает при добавлении линий, а ОЛ не может. Может не могут программисты ?
Для одних это бу, бу ,бу ,а для других подсказка и все ясно.Документацию пишут люди ,которую иногда не возможно понять ,а опыт он потом и кровью приобретается . Я уже сказал в каких случаях сам пользователь должен позаботится какую связь использовать (для электроншиков в этом вопросе все ясно) и ни какой разработчик ОЛ вам не скажет где нужно ставить какую связь .
Для меня не проблема повторить: разработчики ОЛ не понимают как будет работать схема.
Это не я что-то там понять не могу, а сами разработчики ОЛ признают, что никто не может предсказать поведение схемы кроме симулятора.
Почему ОЛ чего-то там "может" или чего-то там "не может" -- без понятия.
Но есть один простой факт: мнение разработчиков ОЛ состоит в том, что поведение схемы с циклами предсказать невозможно.
Возможно, они считают, что такой вариант им даёт какие-то плюсы.
Но, с точки зрения пользователя (составителя схем), это означает лишь то, что использовать циклические связи крайне нежелательно, т.к. если они есть, то программа может менять своё поведение с каждым изменением схемы. И у поддержки ОЛ будет простой ответ: "всё, что возвращает симулятор ОЛ является истиной в последней инстанции".
О, похоже, вы заглянули.
Но либо прочитали неполностью, либо не хотите этого признавать.
Вот вам ещё ссылочка, где wal79 говорит, что удостовериться в правильности работы следует запустить симулятор. Именно такие требования и ставились
Переводя с русского на русский, и без каких-либо цепляний к словам: в ОЛ никогда не было требований о том, чтобы результат работы программы можно было предсказать без запуска симулятора.
Это не вопрос уровня "чтобы ОЛ за меня схему составило". А вопрос именно в том, что результат работы схемы никак невозможно предсказать, пока не запустишь симулятор.
Для некоторых простых схем предсказать можно. А для более сожных -- вообще никак. И проблема не просто в "сложности понимания схемы из 100500 элементов". А проблема в том, что поведение схемы неоднозначно и какое из этих поведений выберет ОЛ предсказать невозможно.
Ну как вам еще обьяснить ,что я сделал более 1000 проектов ,половино из них без симулятора (еще не было) , Главное что бы симулятор = железу . Симулятор не скажет вам как правильно ставить задержку на цикл или нет ,это задает пользователь исходя из того что он хочет получить . И не важно сложная схема или простая . Есть опыт -без симулятора все видно ,нет опыта используй симулятор .Ну сколько можно теореотезировать (чуть язык не сломал) ...
Вам разработчик сказал: без симулятора -- невозможно предсказать поведение.
Если у вас завалялся хрустальный шар -- не вопрос.
Но простых пользователей, к ОЛ хрустальный шар не прилагается.
И? Это как-то решает проблему непредсказуемого поведения ОЛ?
Никак не решает.
Можно сделать проект с циклом, а потом гадать "а чего ж он, родимый, не работает".
А можно сделать проект без цикла -- и он заработает так, как ожидалось.
Просто Вы никогда не были схемотехником. В это вся причина не понимания.
Против физики не попрёшь.
Разработчик ОЛ явно говорит: единственный способ удостовериться в правильности работы это запустить симулятор.
Никакое "схемотехническое прошлое" не может нарушить законы физики и того как устроена программа ОЛ.
Вы, наверное, не понимаете разницу между "почти всегда понимать как работает программа" и "всегда понимать как она будет работать".
Так вот: схемотехническое прошлое безусловно помогает в понимании ОЛ схем, но оно никак не поможет предсказать какое из возможных поведений схемы ОЛ выберет, если таких поведений несколько.
А бывают схемы, где ОЛ выбирает одно-единственное поведение из нескольких разных.
Схемотехническое прошлое учит не проектировать таких схем.
Я так понял в вопросе с циклическими связями без танцев с бубном никак не обойтись. ;) Хорошо что есть симулятор, на котором можно проверить то, что навоял и если что-то не так, то подправить.
Из всех постов больше всего понравилось то, что написал В.Ситников. Правильно говорят - "Кто ясно мыслит, тот ясно излагает".
Соломоново решение вопроса предложил Ю.Ревака. И ему спасибо.
1. И ?- опыт говорит ,что все предсказуемо и без симулятора ,когда сделал хотя бы сотню проектов ,факт !!!!! многократно подтвержденный ,без словоблудия .
2. Не предсказуимости нет ,есть отсутствие знаний схемотехника и опыта .
вот 6 схем 1,2 и3,4 совершенно по разному работают и почему знает любой схемотехник .А вот 5 и 6 работают одинаково если не важна задержка на цикл ,а если вы хотите запоминать эти значения (на SEL) и делать типа стека ,то уже важна линия задержки итд итп
Вложение 38807
Зачем мне рисовать? Вот у тов. melky схемка была.
Там её долго обсуждали. Например AI! пишет, что нужно цикл разорвать и поставить простую обратную связь тогда не будет неожиданностей
Вот тут melky смотрит на схему и недоумевает:
Это как раз и есть пример того, что "глядя на схему, тов. melky не понимает почему симулятор выдаёт какой-то левый результат".
Вот AI! ещё раз про блуждающую обратную связь: http://www.owen.ru/forum/showthread....l=1#post224539
В общем, тов. rovki, в очередной раз вам шах и мат. Есть конкретный пример, Максим Евстигнеев подтверждает мои выводы. AI! тоже подтверждает неоднозначность схемы с циклом.