M365Con 2027 – бесплатная онлайн-конференция · 11–22 Jan 2027 · 120 sessions→ m365con.net

Блог · Mirko Peters

Симуляция и эмуляция в автоматизации: в чём разница?

By ·

Симуляция и эмуляция в автоматизации: симуляция моделирует поведение системы, эмуляция заменяет реальную часть и работает в реальном времени. Разбираем, когда что применять.

Automatically translated with AI from the original post. Read the English original

В автоматизации симуляция — это модель, которая имитирует поведение системы, часто быстрее реального времени, чтобы перебрать варианты. Эмуляция заменяет часть реальной системы моделью или имитирует устройство, так что реальный объект работает с ней так, будто подключён к настоящей системе, и работает в реальном времени. Это руководство адресовано руководителям по операционному совершенству, которые читают коммерческие предложения и проектные планы, где эти два слова смешиваются, например в virtual commissioning. Вы узнаете определения, для чего используется каждый подход, как в контур встраиваются software in the loop и hardware in the loop, и разберёте пример с расчётом времени выполнения.

Ключевые моменты

  • Симуляция моделирует поведение системы и может работать быстрее реального времени; эмуляция заменяет часть реальной системы моделью или имитирует устройство и работает в реальном времени.
  • Симуляцию используйте для проработки проектных решений, компоновок, мощности и стратегий управления; эмуляцию — для проверки логики управления на модели установки и для обучения персонала.
  • Эмуляцию нельзя ускорить, так как таймеры управления и обмен данными зависят от реального времени, поэтому она плохо подходит для прогона большого количества сценариев.
  • Software in the loop и hardware in the loop — это конфигурации эмуляции: реальный управляющий код или реальный контроллер работает с имитируемой установкой.
  • Эти слова часто употребляют вольно, поэтому прежде чем принимать коммерческое предложение или спецификацию, уточните, что работает в реальном времени, что реально, а что смоделировано.

Симуляция и эмуляция: короткий ответ

Эти термины пересекаются, и литература это признаёт. И эмуляция, и симуляция создают виртуальную среду, в которой можно отлаживать и тестировать до того, как вы прикоснётесь к физическому оборудованию. В полевом отчёте о моделировании промышленных сетей, подготовленном Duque Anton и соавторами и доступном на arXiv, сказано, что симуляция направлена на имитацию состояний системы, а эмуляция — на воспроизведение её поведения. Авторы отмечают, что эти два слова часто используются как взаимозаменяемые, а сами говорят «симуляция» в общем смысле, поскольку многие инструменты умеют и то, и другое.

Более практичное определение дал Ian McGregor в статье для Winter Simulation Conference 2002. Он определяет модель эмуляции как модель, в которой некоторая функциональная часть выполняется частью реальной системы, и верно обратное: часть реальной системы заменяется моделью. McGregor работал в компании, продающей инструменты эмуляции, поэтому его утверждения стоит читать с учётом этого. Само определение легко проверить на любом проекте.

Простыми словами, рабочее различие в автоматизации такое:

  • Симуляция — это модель всей системы, которую вы запускаете отдельно. Вы меняете входные данные и смотрите, что происходит, и можете запускать её быстро. Можно смоделировать спрос, остановки и штатное расписание, а также построить прототип компоновки в модели до того, как что-либо будет построено.
  • Эмуляция связывает что-то реальное с моделью. Реальным может быть управляющая программа, контроллер или панель оператора, а модель имитирует машину или установку вокруг него. Поскольку задействован реальный компонент, прогон занимает реальное время.

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

Сценарии использования: для чего каждый из них применяется в автоматизации

Макгрегор описывает типичные сценарии использования. Модели симуляции применяются для тестирования и разработки различных решений с целью найти лучшее. С их помощью исследуют варианты проектирования, компоновку, эксплуатационные ограничения и стратегию управления. Они работают быстро, часто быстрее реального времени, и дают воспроизводимые результаты, если параметры не меняются. Поэтому они подходят для большого числа экспериментов и для автоматизированной оптимизации.

Модели эмуляции применяются для проверки логики системы управления при различных нагрузках, для верификации поведения управления перед вводом в эксплуатацию и для обучения операторов и сотрудников службы технического обслуживания. Они работают в реальном времени, а система управления подключается к ним извне.

Макгрегор также перечисляет ограничения. Модели эмуляции плохо подходят для экспериментов, поскольку часто работают только в реальном времени. Запуск быстрее реального времени приводит к ошибкам, так как таймеры системы управления не могут адаптироваться. Результаты также менее воспроизводимы, поскольку обмен данными между моделью и контроллером асинхронен и зависит от сети и операционной системы.

Дуке Антон и соавторы приходят к схожему выводу с другой стороны. Симуляция эффективна по затратам, ресурсам и времени, но каждую физическую характеристику необходимо смоделировать, что иногда требует значительных усилий. Эмуляция по своей сути так же точна, как производственная система, если окружение реальное, однако она требует больше устройств и места и обходится дороже. Их вывод: общего решения, удовлетворяющего все требования, не существует.

Software in the loop, hardware in the loop и цифровой двойник

В проектах автоматизации обе идеи сходятся в тестах «in the loop». На странице производителя realvirtual они описаны так:

  • Software in the loop: управляющая программа работает как программное обеспечение на ПК, например в эмуляторе ПЛК, и взаимодействует с моделью машины. Оборудование не требуется.
  • Hardware in the loop: реальный ПЛК подключается к модели машины по сети. Реальное оборудование управляет виртуальной машиной.

Оба варианта являются эмуляцией в понимании Макгрегора, поскольку реальная часть, будь то управляющий код или контроллер, работает с моделью остальной системы. Они составляют основу виртуального ввода в эксплуатацию. Страница является источником от производителя, и её описания согласуются с академическими определениями выше.

Модель производственного потока — это другой случай. Симуляция производства представляет собой контролируемую модель того, как работа проходит через часть завода, с учётом действующих правил работы, ресурсов, заказов и обычных колебаний. Это позволяет проверить такие изменения, как дополнительная смена, новый станок или меньший буфер, до их внедрения. Контроллер в контуре не участвует. Это симуляция в чистом виде, и она работает значительно быстрее реального времени.

Цифровой двойник, то есть поддерживаемое цифровое представление физического ресурса, которое обновляется по результатам наблюдений, может служить моделью в любом из этих случаев. Важна не сама модель, а то, как её используют: как автономный эксперимент, то есть симуляция, или в связке с реальным объектом в реальном времени, то есть эмуляция.

Эмулятор или симулятор: что выбрать

Используйте это как краткое руководство. Это наше собственное обобщение, а не стандарт.

  • Сколько мощности нам нужно и где узкое место? Симуляция. Вам нужно много сценариев, быстро.
  • Справляется ли управляющая программа с заклиниванием, отсутствующей деталью или неисправностью датчика? Сначала эмуляция, программная.
  • Соответствует ли реальный контроллер требованиям к времени и интерфейсам? Hardware in the loop или испытание на реальном оборудовании. Дуке Антон и соавторы утверждают, что реальное оборудование даёт самые реалистичные результаты, но его сложнее всего настроить.
  • Можно ли обучить операторов до запуска? Эмуляция. Модель, подключённая к реальной панели управления, ведёт себя так же, как вела бы себя машина.
  • Какая из двух компоновок лучше? Симуляция.

Одному проекту часто нужны оба инструмента. Сначала симуляция определяет производительность линии. Затем эмуляция проверяет управляющую программу для этой линии.

Пример: одна линия упаковки, два вопроса

Это иллюстративный пример, а не измеренный случай. Линия упаковки выпускает 3 000 коробок в час. Завод задаёт два вопроса.

Вопрос 1: поднимет ли второй этикетировщик выпуск до 3 600 коробок в час? Это вопрос для симуляции. Производственная модель проигрывает одну 8-часовую смену примерно за 2 минуты, то есть в 240 раз быстрее реального времени. Команда тестирует 30 сценариев, например разные размеры партий, размеры буферов и схемы остановок. Все 30 прогонов занимают около 60 минут. Те же 30 сценариев в реальном времени заняли бы 30 × 8 часов = 240 часов, или 30 рабочих дней. Испытания в реальном времени для этого вопроса не подходят.

Вопрос 2: справляется ли управляющая программа с заклиниванием коробки на этикетировщике? Это вопрос для эмуляции. Управляющая программа работает в эмуляторе ПЛК, а модель имитирует линию. Каждый случай неисправности занимает около 5 минут в реальном времени, и ускорить его нельзя, поскольку таймеры программы зависят от реального времени. Двенадцать случаев неисправностей занимают около 60 минут. Это дёшево по сравнению с поиском ошибки обработки заклинивания во время запуска на реальной линии.

Оба теста занимают около часа, и отвечают они на разные вопросы. Быстрая симуляция не покажет, работают ли управляющие таймеры, а эмуляция в реальном времени не позволит протестировать 30 сценариев за день.

Распространённые ошибки

  • Использование слов как синонимов в спецификации. Поставщик, который предлагает «симуляцию», может передать чистую модель, тогда как вам нужны были испытания системы управления.
  • Оценка времени управления по симуляции. Модель, работающая быстрее реального времени, ничего не говорит о таймерах и обмене данными.
  • Ускорение эмуляции. Результаты будут неверными, если управляющие таймеры не успевают за ускоренным ходом.
  • Слишком детальные модели. Модель, в которой учтён каждый кабель и болт, требует усилий, которых вопрос не требует.
  • Доверие эмулятору как реальному контроллеру. Эмуляция контроллера — это не ПЛК. Запланируйте проверку времени и интерфейсов на реальном оборудовании.
  • Отсутствие приёмочных испытаний на реальной линии. Успешный виртуальный тест снижает риск, но не устраняет его полностью.

Как может помочь программное обеспечение

Инструменты для обеих задач существуют. Модели производственных потоков работают в программах для симуляции, а испытания систем управления используют эмуляцию ПЛК и модели оборудования. Спросите поставщика, что работает в реальном времени, что является реальным, а что смоделировано. Для программного тестирования управляющего кода спросите, как тесты автоматизируются и фиксируются, чтобы прогон можно было повторить после каждого изменения программы. Уточните, есть ли интерфейс к вашей платформе ПЛК, и сколько усилий потребуется на построение модели. Программа не решит за вас, какой вопрос задать, и ясно сформулированный вопрос — лучший способ выбрать между двумя подходами.

Следующий шаг

Для следующего проекта автоматизации запишите каждый нужный вам тест в виде вопроса и отметьте каждый как «много сценариев, быстро» или «реальное управление, реальное время». Затем используйте этот список, чтобы выбрать между симуляцией и эмуляцией, прежде чем запрашивать коммерческие предложения.

Подписаться на подкастSpotify

Entities in this article

Virtual commissioning Factory simulation Digital twin

Related articles

RSS

Спонсорский материал

iFAKT GmbH