Комментарии 14
НЛО прилетело и опубликовало эту надпись здесь
Ну основная разница заключается в том, что 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, проверить цепи безопасности (там всё-ж таки рентген внутри и безопасность там местами на аппаратном, а не программном уровне), ну и проверить выполнение трёх законов роботехники (или хотя бы первого).
Ну и как понимаете, в симуляции я могу смело приложить робота об стену, уронить деталь, зажать манипулятор задвижкой, а на реальной системе мне пришлось бы семь раз думать и перепроверять код, подстилать поролоновые маты, и т.д.
Давайте я расскажу, как это в моём случае работает.
Итак, есть система с парой роботов и конвейером (точнее там их несколько — внизу есть видео). Всё это дело управляется ПЛК 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 года эксплуатации, а вся пневмосистема «необслуживаемая».
И что-то мне говорит, что производитель будет давать модели по рекламному буклету.
Или, потеря сигнала датчика положения вала, потому-то — хз, но как-то замешана пневматика, вернее, 4 года эксплуатации, а вся пневмосистема «необслуживаемая».
И что-то мне говорит, что производитель будет давать модели по рекламному буклету.
Ну в хорошо спроектированной системе возможные точки отказа просчитываются и анализируются, а особо критичные цепи дублируются и навешиваются на безопасные (ну те, что «жёлтые») модули ПЛК. Часть отказов, когда мне банально не прилетает ответ от датчика, я могу легко воспроизвести на симуляции, просто «перерезав провод». Однако кабель, случайно перебитый выпавшей из захвата деталькой я симулировать не могу по понятным причинам — тут одной физикой падения не обойтись. А вообще я выше немножко написал что и как я использую.
НЛО прилетело и опубликовало эту надпись здесь
Совершенства пока ещё нет, конечно, но определённые подвижки намечаются. Вот что касается износа, к примеру, то сейчас Predictive Maintenance в тренде, и в том числе и с использованием симуляций. Ну то есть важно спрогнозировать износ, чтобы запланировать обслуживание круглосуточно работающей системы. Это часть новомодного тренда «Индустрия 4.0». А вообще я чуть выше ответил про то, как и что я использую.
Это что? Из серии «Вся цифровая цивилизация за 30 секунд для первоклашек»?
Цифровой двойник сокращает срок пусконаладки…
Пусконаладка цифрового двойника не требуется или эти человеко-временные ресурсы дешевы?
Пусконаладка цифрового двойника не требуется или эти человеко-временные ресурсы дешевы?
Какое странное название системы имитационного моделирования, судя по тексту, комбинированного класса.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Цифровой завод — интерактивный цифровой двойник