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

자동화에서 시뮬레이션은 시스템의 동작을 흉내 내는 모델로, 여러 옵션을 탐색하기 위해 실시간보다 빠르게 실행되는 경우가 많습니다. 에뮬레이션은 실제 시스템의 일부를 모델로 대체하거나 장치를 모방하여, 실제 대응 장치가 마치 진짜에 연결된 것처럼 함께 동작하도록 하며, 실시간으로 실행됩니다. 이 가이드는 두 용어가 섞여 쓰이는 견적서와 프로젝트 계획서를 읽는 운영 우수성(Operational Excellence) 관리자를 위한 것입니다. 예를 들어 virtual commissioning에서 이런 용어가 등장합니다. 정의, 각각의 용도, 소프트웨어 및 하드웨어 인 더 루프의 위치, 실행 시간을 포함한 실제 예시를 살펴봅니다.

핵심 요점

  • 시뮬레이션은 시스템의 동작을 모델링하며 실시간보다 빠르게 실행할 수 있습니다. 에뮬레이션은 실제 시스템의 일부를 모델로 대체하거나 장치를 모방하며, 실시간으로 실행됩니다.
  • 시뮬레이션은 설계 옵션, 레이아웃, 용량, 제어 전략을 탐색하는 데 사용하고, 에뮬레이션은 제어 로직을 플랜트 모델에 대해 테스트하고 사람을 교육하는 데 사용합니다.
  • 에뮬레이션은 제어 타이머와 통신이 실시간에 의존하므로 속도를 높일 수 없습니다. 따라서 많은 시나리오를 실행하기에는 적합하지 않습니다.
  • 소프트웨어 인 더 루프와 하드웨어 인 더 루프는 에뮬레이션 구성입니다. 실제 제어 코드나 실제 컨트롤러가 시뮬레이션된 플랜트와 함께 동작합니다.
  • 두 용어는 종종 느슨하게 사용되므로, 견적서나 사양서를 수락하기 전에 무엇이 실시간으로 실행되는지, 무엇이 실제이고 무엇이 모델링된 것인지 확인하십시오.

시뮬레이션과 에뮬레이션: 간단한 답

두 용어는 겹치며, 관련 문헌도 이를 인정합니다. 에뮬레이션과 시뮬레이션은 모두 물리적 하드웨어를 건드리기 전에 디버깅과 테스트를 할 수 있는 가상 환경을 만듭니다. Duque Anton 등 공동 저자가 산업 네트워크 시뮬레이션에 관해 작성한 현장 보고서(arXiv에 공개)는, 시뮬레이션은 시스템의 상태를 모방하는 것을 목표로 하고 에뮬레이션은 시스템의 동작을 재현하는 것을 목표로 한다고 설명합니다. 저자들은 두 용어가 종종 혼용된다고 지적하며, 많은 도구가 두 가지 모두를 수행할 수 있기 때문에 일반적으로 "시뮬레이션"이라는 용어를 사용한다고 밝힙니다.

보다 실용적인 정의는 Ian McGregor가 2002 Winter Simulation Conference에 발표한 논문에서 제시합니다. 그는 에뮬레이션 모델을, 모델의 일부 기능을 실제 시스템의 일부가 수행하는 모델로 정의하며, 그 반대의 경우, 즉 실제 시스템의 일부가 모델로 대체되는 경우도 포함한다고 설명합니다. McGregor는 에뮬레이션 도구를 판매하는 회사에서 일했으므로, 그의 주장은 이 점을 염두에 두고 읽어야 합니다. 다만 이 정의 자체는 어떤 프로젝트에 적용해 보아도 쉽게 검증할 수 있습니다.

쉽게 말하면, 자동화 분야에서 두 용어를 구분하는 실무적 기준은 다음과 같습니다.

  • 시뮬레이션은 전체 시스템의 모델로, 단독으로 실행하는 것입니다. 입력값을 바꾸어 결과를 확인할 수 있으며, 빠르게 실행할 수 있습니다. 수요, 정지, 인력 배치를 시뮬레이션할 수 있고, 아무것도 구축하기 전에 모델 안에서 레이아웃의 프로토타입을 만들어 볼 수 있습니다.
  • 에뮬레이션은 실제 대상을 모델과 연결합니다. 실제 대상은 제어 프로그램, 컨트롤러 또는 오퍼레이터 패널일 수 있으며, 모델은 그 주변의 기계나 설비 역할을 합니다. 실제 요소가 포함되어 있으므로 실행에는 실제 시간이 걸립니다.

같은 차이는 도구에서도 나타나며, 에뮬레이터와 시뮬레이터의 차이는 무엇을 재현하느냐에 달려 있습니다. 시뮬레이터는 설비나 컨트롤러 프로그램의 로직을 모델로 시뮬레이션할 수 있습니다. 에뮬레이터는 실제 컨트롤러의 기능을 CPU 동작과 통신 수준까지 재현하려고 하므로, 실제 코드를 그 위에서 실행하여 대상 하드웨어에서 수행될 동작을 그대로 재현할 수 있습니다. 실무에서는 벤더들이 PLC 에뮬레이터와 시뮬레이터를 같은 이름으로 부르는 경우가 많으므로, 그 레이블 뒤에 무엇이 있는지 확인해야 합니다. 같은 컨트롤러를 대상으로 하더라도 시뮬레이터와 에뮬레이터는 대상 시스템을 얼마나 잘 재현하는지에서 큰 차이가 날 수 있습니다.

사용 사례: 자동화에서 각각의 용도

McGregor는 대표적인 사용 사례를 설명합니다. 시뮬레이션 모델은 여러 솔루션을 테스트하고 개발하여 최적의 안을 찾는 데 사용됩니다. 설계 옵션, 레이아웃, 운영 한계, 제어 전략을 탐색하는 데 쓰입니다. 실행 속도가 빨라 실시간보다 빠르게 돌아가는 경우가 많고, 파라미터가 바뀌지 않으면 결과를 반복해서 재현할 수 있습니다. 그래서 많은 실험과 자동화된 최적화에 적합합니다.

에뮬레이션 모델은 다양한 부하 조건에서 제어 시스템 로직을 테스트하고, 가동 전에 제어 동작을 검증하며, 운영자와 유지보수 인력을 교육하는 데 사용됩니다. 제어 시스템이 외부에서 연결된 상태로 실시간에 실행됩니다.

McGregor는 한계도 함께 제시합니다. 에뮬레이션 모델은 대부분 실시간으로만 실행되기 때문에 실험에는 적합하지 않습니다. 실시간보다 빠르게 실행하면 제어 시스템의 타이머가 이에 적응하지 못해 오류가 발생합니다. 또한 모델과 컨트롤러 사이의 통신이 비동기적이며 네트워크와 운영체제에 따라 달라지므로 결과의 재현성도 떨어집니다.

Duque Anton 등 공동 저자들도 반대 측면에서 비슷한 지적을 합니다. 시뮬레이션은 비용, 자원, 시간 측면에서 효율적이지만 모든 물리적 특성을 모델링해야 하며, 이는 때로 많은 노력을 필요로 합니다. 에뮬레이션은 환경이 실제인 경우 설계상 실제 생산 시스템만큼 정확하지만, 더 많은 장비와 공간이 필요하고 비용도 더 듭니다. 그들의 결론은 모든 요구 사항을 충족하는 범용 해법은 없다는 것입니다.

인 더 루프 소프트웨어, 인 더 루프 하드웨어, 그리고 디지털 트윈

자동화 프로젝트에서 이 두 개념은 "인 더 루프(in the loop)" 테스트에서 만납니다. realvirtual의 벤더 페이지는 이를 다음과 같이 설명합니다.

  • 인 더 루프 소프트웨어(Software in the loop): 제어 프로그램이 PC에서 소프트웨어로 실행되며, 예를 들어 PLC 에뮬레이터에서 기계 모델과 함께 동작합니다. 하드웨어는 필요하지 않습니다.
  • 인 더 루프 하드웨어(Hardware in the loop): 실제 PLC가 네트워크를 통해 기계 모델과 연결됩니다. 실제 하드웨어가 가상 기계를 구동합니다.

두 방식 모두 McGregor의 정의에서 말하는 에뮬레이션입니다. 실제 구성 요소인 제어 코드나 컨트롤러가 나머지 부분의 모델과 함께 동작하기 때문입니다. 이 두 방식은 가상 시운전의 핵심입니다. 해당 페이지는 벤더의 자료이며, 그 설명은 위의 학술적 정의와 일치합니다.

생산 흐름 모델은 다른 경우입니다. 공장 시뮬레이션은 현재의 운영 규칙, 자원, 주문 및 일반적인 변동을 사용하여 공장 일부에서 작업이 이동하는 방식을 통제된 상태로 모델링한 것입니다. 따라서 추가 교대, 신규 기계, 더 작은 버퍼와 같은 변경을 실제로 적용하기 전에 테스트할 수 있습니다. 루프에 컨트롤러가 포함되지 않습니다. 순수한 의미의 시뮬레이션이며, 실시간보다 훨씬 빠르게 실행됩니다.

디지털 트윈, 즉 관측 데이터를 바탕으로 최신 상태를 유지하는 실제 자원의 디지털 표현은 두 경우 모두에서 모델의 역할을 할 수 있습니다. 중요한 것은 모델 자체가 아니라 그것을 어떻게 사용하느냐입니다. 독립된 실험으로 사용하면 시뮬레이션이고, 실시간으로 실제 대상과 연결하면 에뮬레이션입니다.

에뮬레이터 또는 시뮬레이터: 어떤 것을 사용할지

아래는 간단한 가이드입니다. 이는 표준이 아닌 저희 자체 요약입니다.

  • 필요한 용량은 얼마이고 병목은 어디에 있는가? 시뮬레이션입니다. 많은 시나리오를 빠르게 돌려 보고자 할 때 적합합니다.
  • 제어 프로그램이 걸림, 부품 누락, 센서 고장을 제대로 처리하는가? 먼저 소프트웨어 에뮬레이션으로 확인합니다.
  • 실제 컨트롤러가 타이밍 및 인터페이스 요구 사항을 충족하는가? 하드웨어 인 더 루프(HIL)나 실제 설비에서의 테스트를 사용합니다. Duque Anton과 공동 저자들은 실제 하드웨어가 가장 현실적인 결과를 제공하지만 구성하기가 가장 어렵다고 설명합니다.
  • 시운전 전에 운영자를 교육할 수 있는가? 에뮬레이션을 사용합니다. 실제 제어반에 연결된 모델은 실제 기계와 같은 방식으로 동작합니다.
  • 두 가지 레이아웃 중 어느 쪽이 더 나은가? 시뮬레이션을 사용합니다.

하나의 프로젝트에 두 가지가 모두 필요한 경우가 많습니다. 먼저 시뮬레이션으로 라인의 규모를 산정하고, 이후 에뮬레이션으로 해당 라인의 제어 프로그램을 테스트합니다.

예시: 하나의 포장 라인, 두 가지 질문

이는 설명을 위한 예시이며 실측 사례가 아닙니다. 어느 포장 라인이 시간당 3,000박스를 생산합니다. 공장 측은 두 가지 질문을 던집니다.

질문 1: 두 번째 라벨러를 추가하면 시간당 생산량이 3,600박스로 늘어날까? 이는 시뮬레이션으로 답할 질문입니다. 생산 모델은 8시간 교대 한 번을 약 2분에 실행하며, 이는 실시간보다 240배 빠른 속도입니다. 팀은 배치 크기, 버퍼 크기, 정지 패턴 등 30가지 시나리오를 테스트합니다. 30회 실행에 약 60분이 걸립니다. 같은 30가지 시나리오를 실시간으로 수행하면 30 × 8시간 = 240시간, 즉 30 근무일이 걸립니다. 이 질문에는 실시간 테스트가 적합하지 않습니다.

질문 2: 제어 프로그램이 라벨러에서 박스 걸림을 처리하는가? 이는 에뮬레이션으로 답할 질문입니다. 제어 프로그램은 PLC 에뮬레이터에서 실행되고, 모델이 라인 역할을 합니다. 각 고장 사례는 실시간으로 약 5분이 걸리며, 프로그램의 타이머가 실제 시간에 의존하므로 속도를 높일 수 없습니다. 고장 사례 12건에 약 60분이 걸립니다. 이는 실제 라인에서 시운전 중에 걸림 처리 오류를 발견하는 것에 비하면 저렴한 비용입니다.

두 테스트 모두 약 한 시간이 걸리지만 서로 다른 질문에 답합니다. 빠른 시뮬레이션으로는 제어 타이머가 제대로 작동하는지 확인할 수 없고, 실시간 에뮬레이션으로는 하루에 30가지 시나리오를 테스트할 수 없습니다.

흔한 실수

  • 사양서에서 두 용어를 동의어처럼 사용하는 경우. "시뮬레이션"을 제공하는 공급업체가 순수한 모델만 전달할 수도 있는데, 여러분에게 필요한 것은 제어 테스트였을 수 있습니다.
  • 시뮬레이션으로 제어 타이밍을 판단하는 경우. 실시간보다 빠르게 실행되는 모델은 타이머와 통신에 대해 아무것도 말해 주지 않습니다.
  • 에뮬레이션의 속도를 높이는 경우. 제어 타이머가 따라가지 못하면 결과가 잘못됩니다.
  • 지나치게 상세한 모델. 모든 케이블과 볼트를 담은 모델은 질문에 필요하지 않은 노력을 소모합니다.
  • 에뮬레이터를 실제 컨트롤러로 신뢰하는 경우. 컨트롤러의 에뮬레이션은 PLC 자체가 아닙니다. 타이밍과 인터페이스에 대해서는 실제 하드웨어에서의 검증을 계획하십시오.
  • 실제 라인에서 인수 테스트를 하지 않는 경우. 가상 테스트를 통과하면 위험이 낮아지지만, 위험이 완전히 사라지는 것은 아닙니다.

소프트웨어는 어떻게 도움이 되는가

두 가지 목적을 위한 도구가 모두 있습니다. 생산 흐름 모델은 시뮬레이션 소프트웨어에서 실행되고, 제어 테스트는 PLC 에뮬레이션과 기계 모델을 사용합니다. 공급업체에는 무엇이 실시간으로 실행되는지, 무엇이 실제이고 무엇이 모델링된 것인지 물어보십시오. 제어 코드의 소프트웨어 테스트에 대해서는 테스트가 어떻게 자동화되고 기록되는지 물어보아, 프로그램을 변경할 때마다 테스트를 반복할 수 있는지 확인하십시오. 사용 중인 PLC 플랫폼과의 인터페이스와 모델 구축에 필요한 공수도 확인하십시오. 어떤 질문을 해야 할지는 소프트웨어가 대신 결정해 주지 않으며, 명확한 질문을 세우는 것이 둘 중 무엇을 선택할지 고르는 가장 좋은 방법입니다.

다음 단계

다음 자동화 프로젝트에서는 원하는 테스트를 하나씩 질문 형태로 적고, 각 항목에 "많은 시나리오, 빠르게" 또는 "실제 제어, 실시간"으로 표시하십시오. 그다음 이 목록을 사용해 견적을 요청하기 전에 시뮬레이션과 에뮬레이션 중 무엇을 쓸지 결정하십시오.

쇼 팔로우하기Spotify

Entities in this article

Virtual commissioning Factory simulation Digital twin

Related articles

RSS

협찬

iFAKT GmbH