Прошлая статья по этой теме была восторженно-теоретическая. Сегодня, как и обещал, будет уныло-практическая. Так сказать, ложка дёгтя в бочке меда. Или наоборот. А уж чего в этой бочке будет больше - дёгтя или мёда - пусть каждый решает сам.
Неприятность первая: где взять платформу?
Когда я начал изучать этот вопрос глубже (а я его только изучаю, много чего ещё не пробовал на практике), то, к сожалению, мои опасения подтвердились: платформ Low-Code именно для автоматизации производства очень мало. Большая часть из них для “офисной автоматизации”, то есть для создания компьютерных программ.
А вот для создания автоматизированных систем управления платформ очень мало. По крайней мере из-того, что доступно в рунете.
В итоге для своих опытов я выбрал Node-RED. По отзывам в Интернете она вроде как одна из самых распространённых и простых. Но…
Неприятность вторая: быстрый вход оказался не быстрым
Я очень давно в автоматизации и программировании, и привык к классическим средствам разработки программного обеспечения. Поэтому в Node-RED для меня оказалось всё очень непривычным. Ну и даже когда немного разобрался, то не только непривычным, но и неудобным. Честное слово, когда-то в CoDeSys при наличии инструкций (а они есть в штатной справочной системе) я разобрался быстрее. А здесь только на установку у меня ушло наверно более часа.
Кстати, про установку. Она не настолько простая, как хотелось бы. Да, инструкции есть, и я разобрался. Но я опытный инженер и программист. А ведь платформа Low-Code всё таки рассчитана (по замыслу) не на инженеров. И вот сможет ли самостоятельно разобраться с установкой простой офисный работник или руководитель малого бизнеса - это вопрос (лично я в этом не уверен).
Инструкция по установке здесь: https://nodered.org/docs/getting-started/local. Можете проверить себя, если хотите. Потом поделитесь в комментариях, насколько просто и удобно это для вас было.
Неприятность третья: начало работы
Чтобы начать работать с этой платформой, вам надо запустить её из командной строки, написав там node-red:
После этого вы не должны закрывать окно командного интерпретатора. И теперь можно перейти в ваш проект. Но и тут вас ждёт засада.
Дело в том, что есть как минимум две версии Node-RED. Старая и новая. Если вы работает в старой версии, то для проверки работы вашей системы надо переходить сюда: http://localhost:1880/ui/. Если же в новой версии, то сюда: http://localhost:1880/dashboard.
Но перед этим надо сотворить какой-нибудь проект. Непосредственно разработка выполняется здесь: http://localhost:1880
Как вы понимаете, поскольку указан localhost, то это находится не в Интернете, а на локальном веб-сервере (на вашем компьютере). Так что если вы попытаетесь перейти по указанным выше ссылкам, то перейдёте не на мои проекты, а на свои (если Node-RED у вас установлен и запущен).
Таким образом, для работы с проектом у вас в браузере должно быть открыто две вкладки:
- http://localhost:1880 - здесь вы разрабатываете свою систему
- http://localhost:1880/ui/ или http://localhost:1880/dashboard (в зависимости от версии) - здесь вы проверяете работу своей системы с помощью визуальных компонентов (окно симулятора)
Но и это ещё не всё. Там ещё есть нюансы. Но сегодня говорить о них не буду. Потому что это пока вводная часть. Пока просто хочу показать, как это работает. А о том, как ЗДЕСЬ работать, как-нибудь в другой раз (если терпения хватит и найдётся время))).
Неприятность четвёртая: разработка
Честно говоря, я ожидал большего. Поэтому данный этап тоже попал в разряд неприятностей. В теории программирование на платформах Low-Code сводится к “перетаскиванию кубиков”. Хотя это не кубики, а прямоугольники )))
Но на практике далеко не всё является интуитивно понятным, поэтому вам придётся обучаться работе с платформой. Лично мне среда разработки для программируемых реле ОВЕН более интуитивно понятна, там можно практически сразу навалять какую-нибудь простую программу. Здесь же даже для управления лампой с помощью выключателя придётся почесать репу. Да, со временем привыкаешь, но старт тяжелее, чем хотелось бы.
Итак, вот кратко об этапах разработки:
- Закидываете в поток узлы (кнопки, переключатели, текст, функции и т.п.)
- Устанавливаете связи между узлами
- Создаёте страницу для отладки
- Разворачиваете проект
- Проверяете его работу на отладочной странице, по необходимости дорабатываете
Казалось бы, всё просто. Всё как обычно. Однако здесь вас ждёт много проблем, которые без помощи документации и Интернета решить сможет не каждый. Да, пожалуй, никто.
В общем, после примерно 1,5 часовых мучений я таки заставил на странице отладки переключать лампу и отображать не только текст, но и некую имитацию светящейся лампы:
Да уж… Ну не знаю. Может для тех, кто начинает с нуля и без разницы, с чего начинать. Но когда ты уже умеешь писать программы для ПЛК и микроконтроллеров, то я сильно сомневаюсь, что этот пресловутый Low-Code облегчит тебе жизнь. Лично мне проще и быстрее сделать автоматику на Ардуино, ПЛК, или даже микроконтроллере. А уж тем более на программируемом реле или готовых приборах. Разница в цене наверняка окупится меньшими проблемами при эксплуатации.
В общем решайте сами, стоит оно того, или нет. Но изучить всё это “простое” программирование без кода за один день не получится. Придётся прям очень упорно и настойчиво во всё вникать. Да, из чистого любопытства (мой случай), почему бы и нет. Но для профессиональной разработки лично я предпочту классику: ПЛК, SCADA и прочее подобное. Сильно сомневаюсь, что использование Low-Code принесёт какую-либо существенную экономию времени, даже если изучить какую-либо платформу во всех подробностях. К тому же для каких-то более менее сложных задач программирование потребуется и здесь. Например, даже в таком простом примере мне потребовалось написать небольшой сценарий для функции, которая меняет цвет лампы на отладочной странице (может, есть и более простые способы, но в силу отсутствия опыта я до них не додумался):
На этом пока всё. Подписывайтесь на канал, чтобы ничего не пропустить…