Практически любое крупное, да и среднее производство сегодня не может обойтись без роботизированных станков, «умных» конвейеров, программируемых модулей. Эти элементы работают в комплексе, который ученые называют распределенной киберфизической системой (cyber-physical system – CPS). Каждый цех автоматизированной фабрики является такой CPS, управляемой с помощью программного обеспечения. Это ПО обновляется и меняется много реже, нежели система на обычном персональном компьютере, поэтому нередко можно встретить современные производства с новым оборудованием, которое управляется программами, написанными на старых языках программирования, с трудом понимаемых современными IT-специалистами.
Между тем, прогресс не стоит на месте, внедрение новых стандартов в производство, создание так называемой Индустрии 4.0 требует обновления ПО на контроллерах, управляющих производством, перехода на новые принципы организации их работы. Однако это процесс сложный и дорогостоящий, ведь для этого понадобится переделывать ПО, работавшее годы, а возможно и десятки лет, заново отлаживать механизмы, которые контролируют выточку деталей, их покраску с точностью до микрон.
Упростить этот процесс перехода и призван проект «Разработка методов синтеза конечно-автоматных алгоритмов управления для программируемых логических контроллеров в распределенных киберфизических системах», подготовленный учеными из ИТМО для участия в конкурсе РФФИ и центра «Сириус» — «Научное наставничество». Более 320 команд молодых ученых, работающих под руководством именитых исследователей, боролись за поддержку своих проектов. В результате РФФИ принял решение поддержать 41 группу, в число которых вошли и представители Университета ИТМО.
Трудности перехода
Сегодня многие контроллеры, определяющие работу роботизированных станков, конвейеров, кранов на производствах используют программы, которые написаны на специфических языках программирования, похожих на разработанный еще в 1960-х годах BASIC. При этом система в них работает циклически.
«Каждый контроллер в бесконечном цикле считывает значения входных сигналов и выдает выходные сигналы, такие как включить лампочку, повернуть механический манипулятор и так далее. При этом старые значения не запоминаются, весь процесс не формируется в логическую систему, — поясняет один из участников проекта Даниил Чивилихин. — Оборудование на заводе может быть современным, но контроллер продолжает работать по-старому. Сейчас есть тренд на переход на новые языки, понятные современным программистам, и в целом на системы, работающие на других принципах. Вместо циклического запуска программы и отклика на входящие системы, используется так называемый конечный автомат. Система в этом случае работает постоянно, и текущее состояние системы вписывается в логику работы автомата – ожидание, получение данных, запуск операции. Все это сведено в единую логическую систему. Такой алгоритм легче проверять, легче контролировать, понимать и поддерживать».
Однако не до конца решен вопрос того, как этот переход совершить не меняя полностью оборудование распределенной киберфизической системы, то есть, условно говоря, «мозги» фабрики, а также не создавая новый комплекс сложных математических алгоритмов для работы новых контроллеров.
«Здесь приходим мы и говорим, что не надо нанимать новых программистов и переписывать весь ваш код, который управлял фабрикой годами. Мы предлагаем решение, которое автоматически сконвертирует старые алгоритмы управления в новый формат», — продолжает Чивилихин
Как это работает
Для создания такой системы, можно сказать, программного переходника, необходимо решить ряд сложнейших математических задач.
«Основой методов, который мы собираемся разрабатывать для синтеза распределенного конечного автоматического контроллера, будет сведение к задаче выполнимости булевой формулы (SAT). Вместо того чтобы решать одну конкретную задачу, придумывать под нее алгоритм, мы сводим нашу задачу к задаче SAT, для которой уже известны эффективные алгоритмы решения. Такой подход к решению задач называется пропозициональным кодированием или SAT-технологией. В простейшей формулировке решаемой нами задачи необходимо синтезировать M конечных автоматов, у каждого из которых будет N состояний, и необходимо, чтобы синтезированная система удовлетворяла заданным примерам поведения. Для этого строится булева формулу, включающая в себя логические переменные, которые могут принимать значения “True” и “False” и ряд связок “И”, “ИЛИ”, “Не”. Эта формула должна быть разрешима тогда и только тогда, когда существуют наши M автоматов с N состояний, удовлетворяющие примерам поведения. Как построить эту формулу (то есть свести исходную задачу к SAT), чтобы она была правильной, не слишком большой, чтобы ее можно было решить за приемлемое время на современных компьютерах, – тут и начинается наука», — поясняет Даниил Чивилихин.
Все эти разработки позволят создать новое программное обеспечение для новых контроллеров, которое позволит считывать входные и выходные данные с уже действующей системы, и строить алгоритмы, которые будут управлять производством согласно современным требованиям.
«Все что вам нужно – повесить рядом с вашим контроллером дополнительную коробочку (еще один контроллер с Wi-Fi модулем), которая позволяет считывать все ваши входные и выходные сигналы, — рассказывает Чивилихин. — Наше ПО загружает их в облачное хранилище, с которым работают уже обычные компьютеры. Таким образом собираются данные о текущей работе киберфизической системы. Затем на основе этих данных синтезируются конечные автоматы для новых контроллеров, которые ведут себя так же, как и старые алгоритмы управления».
О конкурсе
Работы рассчитаны на 2 года, финансирование в рамках конкурса будет составлять 4,5 млн рублей в год. За это время ученые группы будут разрабатывать алгоритмы, тестировать их на виртуальных симуляторах, а также на рабочей лабораторной модели фабрики в Технологическом университете шведского города Лулео (Luleå University of Technology).
«Я думаю победить в конкурсе нам позволили несколько факторов, — рассказывает Чивилихин. — Во-первых, наша научная школа, основанная Анатолием Абрамовичем Шалыто, которая всегда была нацелена на те или иные аспекты использования конечных автоматов. Во-вторых, руководитель нашего проекта Валерий Вяткин — человек известный, с мировым именем в этой области. Наконец, наша команда: в ИТМО есть группа молодых ученых, которая активно работает, имеет много публикаций в области синтеза и верификации конечно-автоматных моделей. Также непосредственно по данному проекту есть некоторый научный задел».
Часть проекта будет реализована на базе проекта «Сириус» — представители команды будут работать от трех до шести месяцев на площадке образовательного центра в Сочи. По результатам исследований команда планирует представить ряд статей на высокорейтинговых конференциях и ведущих научных журналах отрасли.