Добавить в корзинуПозвонить
Найти в Дзене
Будни инженера

Low-Code: так ли всё просто и хорошо на самом деле

Прошлая статья по этой теме была восторженно-теоретическая. Сегодня, как и обещал, будет уныло-практическая. Так сказать, ложка дёгтя в бочке меда. Или наоборот. А уж чего в этой бочке будет больше - дёгтя или мёда - пусть каждый решает сам. Когда я начал изучать этот вопрос глубже (а я его только изучаю, много чего ещё не пробовал на практике), то, к сожалению, мои опасения подтвердились: платформ Low-Code именно для автоматизации производства очень мало. Большая часть из них для “офисной автоматизации”, то есть для создания компьютерных программ. А вот для создания автоматизированных систем управления платформ очень мало. По крайней мере из-того, что доступно в рунете. В итоге для своих опытов я выбрал Node-RED. По отзывам в Интернете она вроде как одна из самых распространённых и простых. Но… Я очень давно в автоматизации и программировании, и привык к классическим средствам разработки программного обеспечения. Поэтому в Node-RED для меня оказалось всё очень непривычным. Ну и даже к
Оглавление

Прошлая статья по этой теме была восторженно-теоретическая. Сегодня, как и обещал, будет уныло-практическая. Так сказать, ложка дёгтя в бочке меда. Или наоборот. А уж чего в этой бочке будет больше - дёгтя или мёда - пусть каждый решает сам.

Неприятность первая: где взять платформу?

Когда я начал изучать этот вопрос глубже (а я его только изучаю, много чего ещё не пробовал на практике), то, к сожалению, мои опасения подтвердились: платформ 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 у вас установлен и запущен).

Таким образом, для работы с проектом у вас в браузере должно быть открыто две вкладки:

Но и это ещё не всё. Там ещё есть нюансы. Но сегодня говорить о них не буду. Потому что это пока вводная часть. Пока просто хочу показать, как это работает. А о том, как ЗДЕСЬ работать, как-нибудь в другой раз (если терпения хватит и найдётся время))).

Неприятность четвёртая: разработка

Честно говоря, я ожидал большего. Поэтому данный этап тоже попал в разряд неприятностей. В теории программирование на платформах Low-Code сводится к “перетаскиванию кубиков”. Хотя это не кубики, а прямоугольники )))

Но на практике далеко не всё является интуитивно понятным, поэтому вам придётся обучаться работе с платформой. Лично мне среда разработки для программируемых реле ОВЕН более интуитивно понятна, там можно практически сразу навалять какую-нибудь простую программу. Здесь же даже для управления лампой с помощью выключателя придётся почесать репу. Да, со временем привыкаешь, но старт тяжелее, чем хотелось бы.

Итак, вот кратко об этапах разработки:

  1. Закидываете в поток узлы (кнопки, переключатели, текст, функции и т.п.)
  2. Устанавливаете связи между узлами
  3. Создаёте страницу для отладки
  4. Разворачиваете проект
  5. Проверяете его работу на отладочной странице, по необходимости дорабатываете

Казалось бы, всё просто. Всё как обычно. Однако здесь вас ждёт много проблем, которые без помощи документации и Интернета решить сможет не каждый. Да, пожалуй, никто.

В общем, после примерно 1,5 часовых мучений я таки заставил на странице отладки переключать лампу и отображать не только текст, но и некую имитацию светящейся лампы:

-2

-3

-4

Да уж… Ну не знаю. Может для тех, кто начинает с нуля и без разницы, с чего начинать. Но когда ты уже умеешь писать программы для ПЛК и микроконтроллеров, то я сильно сомневаюсь, что этот пресловутый Low-Code облегчит тебе жизнь. Лично мне проще и быстрее сделать автоматику на Ардуино, ПЛК, или даже микроконтроллере. А уж тем более на программируемом реле или готовых приборах. Разница в цене наверняка окупится меньшими проблемами при эксплуатации.

В общем решайте сами, стоит оно того, или нет. Но изучить всё это “простое” программирование без кода за один день не получится. Придётся прям очень упорно и настойчиво во всё вникать. Да, из чистого любопытства (мой случай), почему бы и нет. Но для профессиональной разработки лично я предпочту классику: ПЛК, SCADA и прочее подобное. Сильно сомневаюсь, что использование Low-Code принесёт какую-либо существенную экономию времени, даже если изучить какую-либо платформу во всех подробностях. К тому же для каких-то более менее сложных задач программирование потребуется и здесь. Например, даже в таком простом примере мне потребовалось написать небольшой сценарий для функции, которая меняет цвет лампы на отладочной странице (может, есть и более простые способы, но в силу отсутствия опыта я до них не додумался):

-5

На этом пока всё. Подписывайтесь на канал, чтобы ничего не пропустить…