Тоже использую автоматы похожего вида и думаю перенести что-то с ПЛК, например на ПР103
1exan Ой! Мои комменты по параметрам:
* Выстави UseStopByFullSame и UseStopByFullRev в 1 - это чтобы в момент полных операций нажатия на ту же или противположную кнопку вырубали этот режим.
* Выстави TimeDelayITL в 500 (мсек)
* Выстави TimeDelayDIR в 250 (мсек)
(эти два времени должны быть небольшими, в диапазоне 100-250 мсек, поэтому они в мсек и задаются)
* Выведи для теста RelayPower тоже на выход Q1. Вдруг отдельно RelayDir работает, а вместе с RelayPower - нет.
Ожидаемое поведение: после подачи команды CmdOpenFull у нас врубается RelayDir, потом RelayPower. Если мы нажимаем CmdStop, то олжно вырубиться RelayPower, а потом RelayDir с задержкой.
ДА!!! ТЫ КЛАССНО оформляешь конечные автоматы и переменные!! Я ОЧЕНЬ рад, так как у нас на форуме дофига народа, которые переменные называют криво, и код не кооментируют.
Если писать на ПЛК, то я там ещё и номера шагов константами делаю, типа StateStop, StateWait и так далее. И эти константы прокатывают в качестве элементов CASE влёгкую! В ПРке констант нет (и в этом портированном FB пришлось цифрами их заменять)!
Дополню. Так вот на видео как раз же глюк и виден. Там RelayDir кратковременно вырубается. А должно работать без этого импульса, зараза. Я уж думаю, не мой баг ли это вообще в принципе.
Последний раз редактировалось Cs-Cs; 10.05.2024 в 19:12.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab
Cs-Cs, если вы не видите ошибку в коде, это не значит, что её нет. Тем более это функциональный блок, и из кодесиса вы его в st вызываете? А в ОЛ скорее всего из FBD.
Да-да, я та нейросеть, которая 6 лет назад Вам показала, что в софт комфорте тоже можно сделать управление светом, чего вы так и не смогли.
МихаилГл 1. Чёёё? Я же всё писал. Стоит внимательно читать. В OWL это исполняется так же на ST.
2. Не помню ничего. У меня 6 или 7 статей про Logo. Всё делал, всё работает.
Сейчас на этом форуме все твои ответы ужасные, невпопад и выглядят как сборник ключевых слов без смысла в режиме "каждый бочке затычка". Был бы я тут администратором - забанил бы.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab
В ОЛ это макрос на СТ, который вы используете в ФБ в основной программе. Я это имел ввиду. И вы внимательно читали? Я спросил, в кодесисе вы запускаете из СТ этот модуль? Или он у вас в основном тексте программы? Это совершенно разное поведение можно получить.
Да-да, помню как у вас получилось. Ваш гневный опус что ОЛ это верх технической мысли, ну и ПЛК от Овена, а сименс шлак...
МОЙ ВОПРОС ПРО ГЛЮК FB Owen Logic СНЯТ. Всё-таки глюк был именно в моём исходном соде на CodeSys 3.5. Вот видео: https://cs-cs.net/ExxChange/CSDrvPwrDir-BugDemo.avi
На нём видно, что после выключения первого реле второе "мигает", а должно работать с задержкой.
Ааа (для тех, кто не в теме)! Речь идёт про сложное управления сценариями света: https://cs-cs.net/sh-knx-light-scenarios-owen-mone
Суть там в том, что на Logo и строго на FBD люди хотели сделать сложный механизм сценарного управления светом с кучей зависимых групп (ТехЗадание описано там, по ссылке). Можно сказать, что это мог быть бы аналог совковых кнопок П2К, где каждую можно нажать и отжать отдельно, но при нажатии любой другой кнопки происходит переключение на неё. При этом каждая "кнопка" включает свой набор из 6 групп света (и ещё и каждая группа света управляется отдельно).
За счёт убогости языка Logo и ограничения на число блоков на схеме я тогда взял ПЛК, ST и всё на нём сделал. Сейчас на ПРке я бы такое тоже родил, так как у OWL язык FBD (и количество памяти) гораздо лучше, чем у Logo.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab
Приведите пример как это можно получить разное поведение кода с одинаковыми входными данными и одинаковым циклом вызова?