Комментарии 25
Мсье знает толк.
Зачётно, хотя функциональная схема выглядит ужасающей мешаниной линий и блоков. Все-таки декомпозиция — это альфа и омега любого разработчика.
Еще интересно было бы увидеть статистику по технологической программе: сколько функциональных блоков, какой размер конечного кода, какое время цикла выполнения в контроллере и т.п. Если уж заниматься писеметрией, то с цифрами в руках.
Еще интересно было бы увидеть статистику по технологической программе: сколько функциональных блоков, какой размер конечного кода, какое время цикла выполнения в контроллере и т.п. Если уж заниматься писеметрией, то с цифрами в руках.
АСУТП рулит!!! Инженеры тоже умеют делать крутые штуки!!!
Теперь нужна змейка полностью на LAD'е.
Не, использовать интерфейс АСУТП — это «читерство», я считаю. Надо ставить модули ввода-вывода в достаточном количестве, четыреста выходов завести на светодиоды, а кнопки — на входы — и вот тогда получится действительно змейка на ПЛК, а компьютер вообще можно будет выключить.
>четыреста выходов завести на светодиоды
жесть какая, панель оператора нужна для графики.
жесть какая, панель оператора нужна для графики.
На самом деле это сделать гораздо проще, чем написать программу.
Единственная загвоздка тут в 400 диодов и кто будет их распаивать и привинчивать проводки к модулям ЦДП.
Но вы же понимаете, что без АРМа управлять змейкой все равно не получится. Так что чисто на контроллер перейти не удастся.
Хотя с другой стороны у контроллера есть 4 кнопки, которые в теории можно привязать к командам.
Или кстати можно 4 кнопки завести на модули ДЦП и с них подавать команды. Тогда остается проблема только с распайкой.
Единственная загвоздка тут в 400 диодов и кто будет их распаивать и привинчивать проводки к модулям ЦДП.
Но вы же понимаете, что без АРМа управлять змейкой все равно не получится. Так что чисто на контроллер перейти не удастся.
Хотя с другой стороны у контроллера есть 4 кнопки, которые в теории можно привязать к командам.
Или кстати можно 4 кнопки завести на модули ДЦП и с них подавать команды. Тогда остается проблема только с распайкой.
Да, я это и имел ввиду — кнопки завести на входы. Если, кстати, взять ПЛК типа GE Fanuc — там индикаторы выходов сгруппированы в блоки светодиодов (8x4, кажется) — тогда можно сами ДЦП модули в качестве индикаторов использовать.
Здесь должна быть шутка про змейку для Чака Норриса, но масштаб АСУ ТП «КВИНТ 7» заворожил и лишил чувства юмора. Автор крут.
Какая тонкая ирония.
Соглашусь с вами, действительно получился перебор.
Но это только потому, что реально обидно, когда все знают «буржуйские» системы и превозносят их до небес, в то время как отечественные разработки порой превосходят иностранные аналоги, но о них знает лишь очень и очень узкий круг специалистов.
Соглашусь с вами, действительно получился перебор.
Но это только потому, что реально обидно, когда все знают «буржуйские» системы и превозносят их до небес, в то время как отечественные разработки порой превосходят иностранные аналоги, но о них знает лишь очень и очень узкий круг специалистов.
Действительно о них ничего не слышал. А чем они Сименс превосходят? Хотел сам посмотреть, пошел по ссылкам а там даже скриншотов нет. :-(
В двух словах не расскажешь.
Хотел кинуть ссылку на брошюру с сайта НИИТеплоприбора, но потом увидел какая она ужасная в плане оформления.
Но если интересно, более подробную информацию можно найти тут.
Хотел кинуть ссылку на брошюру с сайта НИИТеплоприбора, но потом увидел какая она ужасная в плане оформления.
Но если интересно, более подробную информацию можно найти тут.
Очень приятно увидеть ответную статью, даже был в небольшом, но приятном шоке =)
Еслм вы правда за 30 минут раскидали такую схему — снимаю перед вами шляпу, свою я писал 5 дней. Порадовал алгоритм обработки хвоста, так на самом деле логичнее. Дико непривычно видеть русскую среду программирования и имена переменных.
А так — у вас FBD почему то уже больше напоминает CFC — язык непрерывных схем. Я все хочу до него добраться, но не получется.
Может, напишете статью об истории вашей АСУТП? Было бы интересно почитать!
UPD: Оказывается, вы правоприемники Ремконта! Приятный сюрприз — изучал их в университете, наши преподаватели в его навесном шкафу коньяк прятали =)
Еслм вы правда за 30 минут раскидали такую схему — снимаю перед вами шляпу, свою я писал 5 дней. Порадовал алгоритм обработки хвоста, так на самом деле логичнее. Дико непривычно видеть русскую среду программирования и имена переменных.
А так — у вас FBD почему то уже больше напоминает CFC — язык непрерывных схем. Я все хочу до него добраться, но не получется.
Может, напишете статью об истории вашей АСУТП? Было бы интересно почитать!
UPD: Оказывается, вы правоприемники Ремконта! Приятный сюрприз — изучал их в университете, наши преподаватели в его навесном шкафу коньяк прятали =)
UPD: Оказывается, вы правоприемники Ремиконта! Приятный сюрприз — изучал их в университете, наши преподаватели в его навесном шкафу коньяк прятали =)Небось коньяк «Квинт».
Если честно, то на придумывание схемы хвоста ушло конечно же больше времени (где то в обед мне прислали ссылку на ваш пост и взяли на «слабо», и в течение вечера пока было свободное время я прикидывал как это можно сделать попроще). Уж очень не хотелось ставить 400 триггеров. Но перебирая в уме различные варианты все равно упирался в то, что без кучи запоминающих элементов не обойтись (была перспективная идея хранить не целиком хвост змеи в памяти, а только координаты точек перегиба, но в пределе длина змеи может составлять 400 клеток и точек перегиба может быть столько же, а т.к. динамической памяти в программе нет, то этот вариант отпал).
Ну а когда решение было принято, то набросать программу было уже делом техники, ведь все блоки сделаны предельно примитивно, а поддержка макросов позволяет за пару минут сделать 400 ячеек памяти. Так что фактически я написал один элемент и свернул в макрос «Ячейка_памяти». Затем сделал макрос «Упаковка» в который поместил 20 макросов «Ячейка_памяти», а затем поставил в задачу 20 макросов «Упаковка» и все готово.
Это и не FBD. Там есть поддержка типов данных, в том числе структур. Так же данные делятся на потенциальные (мгновенное значение) и команды (буферизуемые значения). Так же имеется встроенная поддержка качества значений. Можно проводить обратные связи, они выделяются зеброй. При этом в качестве начальных значений берутся значения типа данных по умолчанию (прописывается в самом типе).
В общем там вагон всего, еще я планировал впилить туда контроль порядка выполнения в виде связей и поддержку условий. Тогда был бы полный Франкенштейн из FBD, SFC и обычных блок-схем.
В общем там вагон всего, еще я планировал впилить туда контроль порядка выполнения в виде связей и поддержку условий. Тогда был бы полный Франкенштейн из FBD, SFC и обычных блок-схем.
Это в таком виде и есть CFC от сименса) радует продуманность
Даже то, что реализовано на данный момент, полностью покрывает все задачи в АСУ ТП. Ну а чего в стандартных схемах нет, можно добавить в виде своих плюшек макросами.
Хотя слова «поддержка условий» звучат заманчиво.
PS. Спорим, что я с трех попыток угадаю кто написал комментарий выше? А скорее всего даже с одной.
Хотя слова «поддержка условий» звучат заманчиво.
PS. Спорим, что я с трех попыток угадаю кто написал комментарий выше? А скорее всего даже с одной.
С одной :)
А почему на 2м скрине значения «нет» подозрительно голубые?
А почему на 2м скрине значения «нет» подозрительно голубые?
Все предельно просто.
Т.к. я сначала написал прогу, а потом уже писал текст и вырезал картинки, то картинку с генератором я вырезал из программы со связями. А когда писал текст, то по ходу рассказа он должен был идти отдельно. Мне было очень лень запускать пилон, ставить отдельно макрос и делать новую картинку, поэтому я просто в паинтбраше стер входящие на алгоблок связи и дописал значения по умолчанию веселым голубым цветом. Если присмотреться, то там даже его номер (восьмой) остался как в главной программе.
Т.к. я сначала написал прогу, а потом уже писал текст и вырезал картинки, то картинку с генератором я вырезал из программы со связями. А когда писал текст, то по ходу рассказа он должен был идти отдельно. Мне было очень лень запускать пилон, ставить отдельно макрос и делать новую картинку, поэтому я просто в паинтбраше стер входящие на алгоблок связи и дописал значения по умолчанию веселым голубым цветом. Если присмотреться, то там даже его номер (восьмой) остался как в главной программе.
А подскажите нубику, этот самый АСУ ТП «КВИНТ 7» можно как-нибудь скачать и запустить под линуксом чисто в учебных целях? Должна же быть какая-то демка наверно? А то я иду на сайт производителя, а он у них паутину показывает https://niiteplopribor.ru/ptk-kvint
Вернее Warning: Cannot modify header information - headers already sent.
Получается, просто побаловаться и поизучать этот самый FBD нельзя?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Змейка на ПЛК. Наш ответ Сименсу