Как стать автором
Обновить

Комментарии 14

Не понятно, в чем разница между "цифровым двойником" и классическими уже десятки лет существующими системами диспетчеризации и аналитики (SCADA)? Ну, кроме того, что там все в виде мнемосхем и графиков, а у вас в 3D.

Ну основная разница заключается в том, что SCADA подключена к реальному оборудованию, а «цифровой двойник» реального оборудования не требует — он его полностью эмулирует, причём со всей физикой, всеми соединениями и протоколами. Так что в идеале вообще всю АСУТП можно подключить к этому двойнику, и она и знать не будет, что там работает не реальное железо, а симуляция. Ну то есть двойник не заменяет SCADA, но даёт возможность подключения. Теоретически можно заставить двойника следовать за реальной железкой, но тогда это будет просто продвинутая визуализация.
Что касается практической пользы для разработчика, то вот прямо сейчас, сидя в домашнем офисе, я программирую ПЛК для одной промышленной системы (там конвейер да пара роботов), при этом у меня вообще нет ни физически подключённого ПЛК, ни тем более системы — всё это чистая симуляция, которая с точки зрения ПЛК работает как реальная система, хотя собственно железо ещё в процессе постройки в соседнем городе. И у меня в коде вообще нет ни одного места с «заглушками». И после программирования я переброшу образ на флешку, которую вставят в реальный ПЛК и всё заработает в реале (ну, скажем так, почти всё). Для виртуальной пусконаладки цифровой двойник — весьма удобная штука. Также я могу заранее проверить реакцию на ошибки, таймауты, тайминги, производительность системы, провести интеграцию с другими системами и т.д. Всё это работает лишь при условии идентичности симуляции и реальности. Но тут технологии уже продвинуты — скажем, если я захват робота случайно открываю раньше чем надо, то деталька весьма реалистично падает на пол, да ещё и довольно реально подпрыгивает (разве что звука не хватает) — там в симуляции вся физика падения неплохо реализована.
«Цифровой двойник» реального оборудования не требует?
какое-то противоречие с вашими словами
Концепцию цифрового двойника можно разделить на три части:
— Физический объект;
— Виртуальный объект;
— Связь между двумя этими объектами.

В остальном согласен, особенно в том, что для виртуальной пусконаладки — идеальный инструмент.
Но было бы интересней прочесть детальный разбор применения вашего решения хотя бы в одном реальном кейсе.
Мне сложно сказать, что имели ввиду авторы поста, но если виртуальный объект просто повторяет всё, что делает реальная система, то это просто SCADA «на стероидах» и вопрос, заданный комментом выше вполне легитимен.
Давайте я расскажу, как это в моём случае работает.
Итак, есть система с парой роботов и конвейером (точнее там их несколько — внизу есть видео). Всё это дело управляется ПЛК B&R (X20CP3586, но это неважно). Разработка ведётся в B&R Automation Studio (кстати, на C++), и там как цель я могу указать железный ПЛК, а могу и симулированный (по сути это просто приложение на компьютере). Симуляция ПЛК была в B&R испокон веков, но это ещё не симуляция всей железки, так как мне нужны сигналы от этой самой железки, иначе я «руками» должен входы дёргать. Вся железка нарисована в SolidWorks. Эта CAD модель «как есть» грузится в симулирующую трёхмерку machineering industrialPhysics. То есть у меня как бы два симулятора — один симулирует ПЛК, а второй — систему. Связь с ними осуществляется через OPC UA. Если я не хочу маппить вообще все сигналы на OPC, то там есть библиотека для ПЛК для проброса сигналов. В системе есть два робота. Симулятор поддерживает загрузку нативных программ основных типов промышленных роботов, так что не только программу ПЛК, но и робота можно отлаживать. Ещё есть несколько сигналов, ну типа концевиков на лифтах подачи и т.п. Электрика сделана в EPLAN, но вроде технологии пока ещё не настолько развиты, чтоб в симуляцию и принципиальную схему зафигачить, у нас это вручную в industrialPhysics сделано (там можно отметить, что такой-то объект маппится на такой-то сигнал). Ну там сигналов-то раз два и обчёлся — всё ж не атомный реактор. Вот и всё — теперь я могу запустить полный цикл работы и на экране видеть что будет происходить с системой. Вроде я даже очки дополненной реальности могу надеть и залезть туда с головой, но нет их у меня.
На экране у меня как-то так это выглядит (это не B&R, а Beckhoff TwinCAT, но сути это не меняет, я просто не могу показывать в паблике скриншоты разработки) слева симуляция, справа в виртуалке — ПЛК:

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

Это просто сокращает срок пусконаладки — если раньше мне потребовалось бы несколько недель на реальной системе, то теперь я в несколько дней уложусь. Там, конечно, не всё можно сделать виртуально. Скажем, мне надо будет сделать тюнинг сервомоторов в mapp Cockpit, проверить цепи безопасности (там всё-ж таки рентген внутри и безопасность там местами на аппаратном, а не программном уровне), ну и проверить выполнение трёх законов роботехники (или хотя бы первого).
Ну и как понимаете, в симуляции я могу смело приложить робота об стену, уронить деталь, зажать манипулятор задвижкой, а на реальной системе мне пришлось бы семь раз думать и перепроверять код, подстилать поролоновые маты, и т.д.
Волшебный коктейль! Преклоняюсь. Сколько времени ушло на это?
Несколько дней — ннну не знаю… :-)
С симуляциями мы уже с прошлого лета играемся. Вообще это вторая игрушка в таком режиме разработки. Первая вот эта была, и уже запущена в эксплуатацию:

Там тоже симуляция помогла, поскольку из-за коронавируса её вообще пришлось удалёно запускать, и часть изменений в ПЛК я сначала в симуляторе гонял, что несколько успокаивало. А вообще на полную постройку, развёртывание и доводку там месяцы работы, конечно.
Не могу сказать, что суммарное время постройки и запуска с симулятором стало сильно меньше, просто время немножко перераспределилось, что ли — чуть больше на симуляторе и чуть меньше на системе. Плюс на брифингах мы можем расчехлить симулятор и обсудить многие вопросы. В общем плюсы есть. Ну и можно задействовать чуть больше народу в разработке — симулятор ведь тоже надо «собирать и обслуживать».
А отказ управляющей плк гидравликой, из-за перегрева пневматики, потому-что радиаторы основного БП запылились — кто будет учитывать?
Или, потеря сигнала датчика положения вала, потому-то — хз, но как-то замешана пневматика, вернее, 4 года эксплуатации, а вся пневмосистема «необслуживаемая».

И что-то мне говорит, что производитель будет давать модели по рекламному буклету.
Ну в хорошо спроектированной системе возможные точки отказа просчитываются и анализируются, а особо критичные цепи дублируются и навешиваются на безопасные (ну те, что «жёлтые») модули ПЛК. Часть отказов, когда мне банально не прилетает ответ от датчика, я могу легко воспроизвести на симуляции, просто «перерезав провод». Однако кабель, случайно перебитый выпавшей из захвата деталькой я симулировать не могу по понятным причинам — тут одной физикой падения не обойтись. А вообще я выше немножко написал что и как я использую.

А, ну если речь про "полную симуляцию независимо от объекта в реальном мире", то так понятнее и смысл есть, хотя в статье прямо про другое говорится.
Правда, задача симуляции производственной линии или какого-то технологического процесса с учётом всех возможных параметров узлов и всех физических процессов в них и при взаимодействии между ними (трения, вибрации, деградация материалов, теплообмен, и миллион других), с учётом износа, кривых рук и возможных неисправностей, эмуляции всех электрических/электромагнитных/радио/etc. сигналов и коммуникационных протоколов с их особенностями и известными и неизвестными багами, и многое другое, с высокой достоверностью максимально приближенной к реальному миру представляет собой колоссально сложную задачу, по трудоемкости вполне возможно превышающую даже проектирование всего этого "в железе". А без максимальной достоверности смысла в этом особого и нет, так, поиграться только...

Совершенства пока ещё нет, конечно, но определённые подвижки намечаются. Вот что касается износа, к примеру, то сейчас Predictive Maintenance в тренде, и в том числе и с использованием симуляций. Ну то есть важно спрогнозировать износ, чтобы запланировать обслуживание круглосуточно работающей системы. Это часть новомодного тренда «Индустрия 4.0». А вообще я чуть выше ответил про то, как и что я использую.
Это что? Из серии «Вся цифровая цивилизация за 30 секунд для первоклашек»?
Цифровой двойник сокращает срок пусконаладки…
Пусконаладка цифрового двойника не требуется или эти человеко-временные ресурсы дешевы?
требуется, конечно, но во многих случаях это просто импорт всех CAD моделей в симуляцию и маппинг сигналов и связей между частями. В хороших симуляционных пакетах всё уже приготовлено — связи с основными ПЛК и роботами там уже есть, так что времени совсем немного нужно.
Какое странное название системы имитационного моделирования, судя по тексту, комбинированного класса.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.