
가상 모델을 통한 스마트공장 Programmable Logical Controller 전문가 양성을 위한 훈련 시스템
© 2021 KIIE
Abstract
These days, smart manufacturing has received growing attention and is leading a new trends in the manufacturing field. To keep up with this trend, it is required to improve the education program of manufacturing engineers in term of trainee quantity as well as program quality. However, these education programs relatively have limited resources due to huge requests of smart manufacturing training. The authors propose the framework for smart manufacturing education based on a virtual reality composed of both virtual PLC and virtual facility. We applied this framework to existing training kit which is currently being used for smart manufacturing training. We chose commercial PLC programming tool as a virtual PLC machine and adopted standardized industrial communication protocol to ensure the connectivity between different platforms. The virtual plant was firstly modeled by using CAD, later was imported to 3D game engine to implement physical property. The 3D game engine has the advantage of a possible extension to virtual reality. By doing so we made a full virtual training environment as effective as the real training kit.
Keywords:
Virtual Reality, Smart Factory, PLC, Training1. 서 론
지난 2011년 독일의 대표적 공업 도시 하노버에서 열린 산업 박람회 ‘Harnover Messe’에서 처음으로 인더스트리 4.0의 개념이 등장했다. 그 후 인더스트리 4.0은 4차 산업혁명으로까지 불리며 전 세계 제조 업체들의 핵심 역량으로 급부상하였다. 전 세계 스마트 제조 산업 시장은 2022년까지 매년 9.3%씩 성장하여 총 2054.2억 달러의 시장규모를 형성할 것으로 예상된다(National IT Industry Promotion Agency, 2019). 대부분의 주요 국가들은 기업 차원뿐만 아니라 정부에서 핵심 전략을 세우며 4차 산업혁명에 집중하고 있다. 이에 대한민국도 예외는 아니었고 2020년 현재 기획재정부에서는 1조 5000억 원의 지원금과 스마트공장 연계 데이터 센터 구축 그리고 지능형 공장시설을 추가하는 기업에게 공제율을 높이는 등의 다양한 노력을 기울이고 있다(Industrynews, 2019. 12. 23). 다만 한국의 4차 산업혁명 정책의 시작 시기는 독일, 미국, 중국, 일본 등의 제조 강국들과 비교하면 다소 늦은 편이다. 따라서 경쟁력 확보를 위해 다수의 스마트공장 전문 인력 양성이 필요할 것으로 보인다.
특히 스마트공장 전문 인력은 기존의 공장 환경 및 설비를 분산화, 자율화, 지능화하기 위하여 사물인터넷 기반의 정보시스템을 연결하는 역할을 수행한다. 이와 같이 산업 설비를 사물인터넷으로 연결하는 개념을 산업 사물 인터넷 IIoT(Industrial Internet of Things)이라 한다. IIoT는 4차 산업혁명과 함께 디지털 혁신의 핵심적인 요소로, 인터넷을 통해 다수의 장치와 장비들을 연결하고 효율적으로 데이터 및 정보를 관리하는 기초기술이다. 따라서 스마트공장 전문 인력을 양성하기 위해서는 설비와 IIoT를 연결하는 PLC(Programmable Logical Controller)에 대한 교육이 필수적이다. PLC는 스마트팩토리 구축에 핵심적인 구성요소로 자동 제어를 위한 장치로 다양한 설비들을 복합적으로 운영하기 위한 제어 시스템이다. 또한 스마트팩토리 시스템 구축에서 가장 장애가 되는 요소는 자동화 기기의 통합 부분이며, 이러한 문제를 해결하기 위해서는 PLC에 대한 교육이 선행되어야 한다. 이는 대부분의 자동화기기는 PLC를 이용하여 구축되기 때문이다.
스마트공장 전문 인력 양성의 기존 PLC 및 IIoT 교육은 현장에서 제한된 인원을 대상으로 IIoT에 사용되는 다양한 기술과 프로토콜 및 PLC 이론 수업 후 실습이 이루어진다. IIoT의 경우, 대표적으로 널리 사용되는 OPC-UA(Open Platform Communication Unified Architecture)(https://opcfoundation.org/about/opc-technologies/opc-ua) 실습은 서버-클라이언트 구축을 통하여 간단하게 개인 컴퓨터를 사용하여 실습이 가능하다. 하지만 OPC-UA를 사용하여 PLC와 연결해야 할 경우 PLC 하드웨어가 필요하다는 문제가 제기될 수 있다.
PLC 교육의 경우, 실제 교육용 설비가 필요하며 실제 설비를 제어할 경우 PLC를 통한 제어 로직을 구성하게 되면 디버깅 문제 및 고장의 위험성을 내포할 수 있다. 또한 실제 교육 시 높은 설비 가격 때문에 개개인마다 장비가 지급되지 못하여 집중적인 교육이 이루어지지 못하는 상황이다. 이러한 원인은 인원이 제한될 뿐만 아니라 스마트공장 전문 인력을 양성하는 부분에 있어, 교육비가 높아지는 원인이 되기도 한다.
이러한 문제의 방안으로 스위스 스마트팩토리(SSF)에서는 산업에 필요한 PLC 교육을 위해 원격 서비스를 지원한다. 브라우저를 통하여 제공되는 PLC 하드웨어를 사용하고, 카메라를 통하여 실제 실물 설비가 어떻게 작동하는지 실시간으로 접근이 가능하다. 이러한 점은 학습자의 물리적 제한성을 해결할 수 있는 방법 중 하나이다. 하지만 이러한 연구는 정해진 수의 PLC 하드웨어를 공유하기 때문에 다수의 인원을 한 번에 교육시킬 수 없고, 제한된 범위에서만 교육이 가능하다.
스마트공장 전문 인력 양성의 경제적 측면에서 살펴보자면 일반적으로 실업자 1인당 평균 직업 훈련비는 약 260만 원이 소요가 되지만 스마트 제조업 관련 인력의 1인당 훈련비는 약 1,237만 원으로 약 5배가량 높다(Lim and Kwon, 2018). 현재 대부분의 스마트 제조업 교육은 교육생이 직접 교육장을 방문하여 진행되고 있다. 하지만 충분한 교육 인력 및 장비가 조성되지 않은 상태이기 때문에 제한된 소수의 인원만 수강할 수 있고 또한, 다량의 장비를 구비하는 것도 비용적인 측면에서 어려움이 있다. 즉 고가의 훈련비와 더불어 한정된 인원만이 스마트 제조업 관련 교육 혜택을 받을 수 있는 것이 문제이다.
본 논문에서는 이러한 문제를 해결하기 위하여 가상 모델을 통한 스마트공장 양성교육 아키텍처를 제안한다.
일반적으로 효과적인 스마트 제조업 교육을 위해서는 실시간성, 유연성, 그리고 결과 관찰의 편의성이 보장되어야 한다. 제조 장비는 모터 제어나 로봇 제어와 같이 실시간으로 작동하기 때문에 가시적으로 확인을 하여 검증할 수 있어야 한다. 따라서 체험이 동반되는 것이 효과적이다. 이를 위해서 교육용 장비라도 실시간으로 사용자의 입력에 반응해야 한다. 그리고 현장의 복합적인 설비 상황을 고려하여 호환성도 확보해야 한다. 마지막으로 실제 공정과 같은 느낌을 줄 수 있도록 결과 관찰의 편의성을 높여 경험적 학습의 장점을 살릴 수 있도록 구축되어야 한다.
본 논문의 사례연구로 래더 프로그래밍을 이용한 PLC 제어와 OPC-UA(Open Platform Communication Unified Architecture) 통신 교육용 키트를 선정하였다. PLC 로직 제어는 가상 PLC와 공정 플랜트를 가상화한 3D 모델의 상호작용으로 구현하였다. 따라서 본 연구는 비용적 측면에서 실물 교육 키트 및 PLC를 갖추지 않아도 된다. 이들 교보재의 유지 보수 간결성 때문에 훈련 비용이 경제적이다. 또한 많은 사용자들로 하여금 스마트 제조업 관련 교육을 수혜 받을 수 있다는 이점을 가지고 있다.
2. 관련연구
2.1 가상 교육
산업현장에서의 가상 교육은 비단 어제오늘만의 이슈는 아니다. 최근 이십여 년 동안 관련 연구가 활발히 진행되어 왔고 각각의 실습 목적에 맞는 가상 교육 수단들이 개발되었다. Cho(2010)에서는 하드웨어 소프트웨어 개발 환경 숙달을 위하여 ARM 사의 ARMulator 환경에 기반을 둔 가상 실습 키트를 제시했다. 하드웨어 키트는 가상 키트에 비하여 4가지의 단점이 존재한다. 고장 가능성, 높은 가격, 기술발전으로 인한 실습환경의 지속적인 갱신의 필요성, 모듈 내부의 동작 관련 데이터 부재가 그것이다. 이 연구에서는 가상 키트를 활용하여 이러한 문제점들을 해결하고자 하였으며 주요 하드웨어 IP(internet protocol)들을 추가하고 주변장치들을 위한 사용자 인터페이스 모듈을 개발하는 방식으로 가상 키트를 구축하였다. 또한 Lin et al. (1996)에서는 VRTS(Virtual Reality-based Training System)의 이론적 토대를 닦고 CNC(Computer Numerical Control) 밀링 작업 교육을 VRTS의 효과적인 사례로 제시했다. 위 두 논문은 산업현장에서의 임베디드 시스템에 대한 가상교육의 가능성을 보여줬다. 그러나 산업을 대상으로 하는 가상 PLC 및 모델을 활용한 연구는 미비한 편이다.
2.2 PLC 디버깅
본 연구와 밀접하게 관련된 연구로는 PLC 디버깅에 관한 것이 있었다. PLC 프로그램을 처음 설비에 다운로드할 때나 이미 가동 중인 설비에 수정된 PLC 프로그램을 적용할 때 문제가 생길 여지가 많다. 이를 방지하기 위하여 가상 설비 모델을 제작하여 그 모델에 PLC 프로그램을 디버깅하는 방식을 택할 수 있다. Park et al.(2008)은 PLC를 실제 설비와 일치하는 3D 가상 모델과 연결하여 PLC 프로그램을 시각적으로 검증하였다. 특히 시스템의 생산 능력뿐만 아니라 주변 기계와 제어 프로그램의 물리적 타당성과 효율까지 예측한 상세한 모델을 제시하였다. Park(2015)번에서는 가동 중인 플랜트에 적용하기 위해 가상 플랜트를 만들어 소프트웨어 상에서 결과를 검증하였다. 이 연구에서는 미쯔비시 PLC 시뮬레이터를 사용하였고 3D 게임 엔진인 Unity3D로 가상 모델을 만드는 방식을 택하였다. 본 연구에서는 이러한 PLC 디버깅 방법에서 쓰이는 것과 같이 가상 설비 모델을 사용하고 또한 가상 PLC를 적용시켜 완전한 가상 교육 구현을 목표로 하였다.
본 논문에서는 다음 두 가지 측면에서의 기존 연구의 한계점을 목표로 시스템을 설계하였다.
- 1) 고비용으로 지속적으로 갱신이 어려움 기존 PLC 교육 시스템의 비용적 문제
- 2) PLC 디버깅을 위한 플랜트 환경 구축의 위험성과 어려움
3. 가상 PLC 아키텍처
앞서 기존 연구에서 도출한 두 가지 문제를 해결하기 위해서 가상 모델의 요구 사항과 기술적 설계 요구 사항으로 나누어서 시스템 아키텍처 개발을 위한 필수 기능을 도출하였다.
3.1 가상모델 요구 사항 정의
- ∙[Req#1] 실시간성
가상환경에서 실제 공정 절차를 교육하기 위해서 가상 PLC와 가상 설비 간에는 지연시간 없이 신호를 주고받을 수 있어야 한다. 특정 프로세스가 실행되고, 다음 프로세스의 진행에 시간 지연이 존재한다면 가상 모델은 정상적으로 기능을 할 수 없다. 따라서 가상 PLC와 가상 모델 간의 신호전달이 실시간으로 전달되어야 한다.
- ∙[Req#2] 유연성
위 요구 사항은 설비 가상화 있어서 가장 중요한 요소이다. 가상환경에서 교육해야 할 설비의 다양한 요구가 있을 경우 네트워크 혹은 설비의 종류가 유연하게 변경 가능해야 한다.
- ∙[Req#3] 결과 관찰의 편의성
교육이 이루어지고 있을 때 시각화를 통해 상태를 보여주는 것은 가장 효과적인 교육 방법이다. 실제 공정 시 발생하는 각종 상태 등(status light)을 확인하는 것은 교육의 완성도를 높여준다. 실제 교육 환경을 가상으로 옮겨놓은 만큼 다양한 툴을 통하여 실제 설비나 PLC에서 발생할 수 있는 작은 신호의 시각화 또한 중요하다.
3.2 기술적 설계 요구 사항
교육 환경을 가상으로 옮기기 위해서는 여러 가지 기술적 요구 사항이 존재한다. 이러한 요구 사항들을 각각의 수준에서 분석하였다. 첫 번째 PLC 프로그래밍 측면, 두 번째 네트워크 구성과 통신(각 구성요소들의 연결) 측면, 마지막으로 가상 모델 작업 측면으로 도출하였다.
- ∙[Req#4] PLC 프로그래밍
어떤 방법으로 PLC 로직을 구현할 것인지에 대한 요구가 존재한다. 이 부분은 사용자나 혹은 제작자에 대한 요구를 따른다. PLC를 프로그래밍 하는 방법은 실제 다양한 방법이 존재하며 도형식 언어와 문자식 언어가 존재한다. 도형식 언어의 경우 LD: 릴레이 로직 표현 방식의 언어와 FBD(Function Block Diagram) 블록화한 기능을 서로 연결하여 프로그램을 표현하는 언어가 존재한다. 또한 문자식 언어로서, IL(Instruction List) 어셈블리 언어 형태와 ST(Structured Text) 파스칼 형식의 고수준 언어를 제공한다. 또한 각 제조사에 따라 C 혹은 C++를 지원하는 경우도 있다. 도형식 언어의 경우 간단한 로직을 구성하기에 간편한 언어이며, 초급 수준의 사용자도 쉽게 익히고 사용할 수 있다는 장점이 있다. 고수준 언어의 경우엔 복잡한 기능을 조합하여 개발할 때 숙련된 프로그래머들을 위해서 제공된다. 따라서 고급 숙련자를 육성하기 위해서는 도형식과 문자식을 모두 제고하는 고성능 PLC와 연동할 수 있는 훈련 환경이 요구된다.
- ∙[Req#5] 네트워크 구성
각 요구 사항에 적절한 네트워크 프로토콜 선택은 네트워크 구성에 있어 중요한 역할을 한다. 첫 번째, 실시간으로 통신해야 하기 때문에 500ms 이하의 지연속도를 만족해야 한다(Kim et al., 2008). 추가적으로 구현 편의성과 프로그램 간의 연결성 또한 중요한 요소이다.
- ∙[Req#6] 가상모델 작업
가상 모델은 실제 설비의 물리적 특성을 따라야 하며, 왜곡되지 않고 동일하게 구현되어야 한다. 하지만 실제 설비를 가상으로 옮기는 과정에서 모든 물리현상을 구현하는 것은 많은 비용과 시간이 든다. 그럼에도 불구하고 필수적으로 구현되어야 하는 물리적 현상이나 충돌 상황 등 다양한 움직임에 대한 이벤트의 최소한의 구현이 필요하다.
3.3 아키텍처 설계
앞서 정리한 요구 사항을 바탕으로 작업자 교육 환경을 가상으로 옮기기 위해서 시스템 구조와 기능을 도출하였다.
PLC를 가상으로 생성하고 가상 모델을 제어하기 위한 변수를 선언한 뒤 필요한 로직을 구성한다. OPC-UA 서버를 통하여 PLC에 선언된 변수를 모니터링할 수 있게 되며 또한, OPC-UA 클라이언트를 통하여 OPC-UA 서버에 등록된 변수를 제어할 수 있게 된다.
Node-RED는 각각의 IoT 장치들과 API(Application Programming Interfaces) 그리고 온라인 서비스들을 서로 연결해 주는 플로우 기반의 오픈 소스 개발 툴이다. 고유 함수 기능을 담당하고 있는 서로 다른 노드들을 잇는 간편한 방식으로 플로우를 만들 수 있다(Gardašević et al., 2017). 이러한 쉽고 직관적인 방법 때문에 많은 분야에서 널리 사용되는 툴이다. Node-RED는 대시보드 기능을 가지고 있다. 이 기능은 Node-RED를 통하여 흘러나가는 다양한 데이터를 여러 가지 시각적 툴을 이용하여 유저에게 보여주는 기능을 가지고 있다. 이 기능을 사용하게 되면 결과 관찰의 편의성을 만족하게 된다.
Unity3D는 비디오 게임 및 3D 응용 프로그램 개발에 사용할 수 있는 간편한 3D 게임 엔진이다. 또한 다양한 3D 환경을 만드는 방법으로 연구 분야에서 널리 사용되고 있다(Brookes et al., 2019). 본 연구의 아키텍처 설계에서도 Unity3D를 사용하여 가상 모델을 제작하고 각 모델의 파츠에 C# 스크립트와 Collider기능를 사용하여 이벤트, 움직임 및 충돌을 구현한다. Collider은 Unity3D에서 제공하는 함수이다. 이 기능을 사용하면 각 물체 간의 충돌과 다양한 이벤트를 손쉽게 구현할 수 있다.
이 논문에서 제시되는 OPC-UA와 MQTT 두 프로토콜에 관해 간단한 설명을 첨부한다. 두 가지 프로토콜은 데이터 교환을 위해 publish/subscribe 모델을 사용한다는 공통점이 있다(Rocha et al., 2018). 또한 publish/subscribe 통신 방법은 topic이라고 불리는 서버를 통하여 메시지를 송/수신할 수 있다.
- Subscriber : 정보를 받는 역할을 하며, 지정한 topic에 대해 subscribe를 진행하고 새로운 메시지를 기다린다.
- Publisher : 정보를 보내는 역할을 하며, 지정된 topic으로 메시지를 보내게 된다.
① OPC-UA
IEC 62541로 표준화되어 있으며 다른 네트워크 혹은 자동화 피라미드의 다른 수준에 있는 장비들과의 연결을 위해 산업에서 많은 업체들이 널리 사용하고 있는 프로토콜이다. 또한 객체 지향 데이터 모델링뿐만 아니라 서버 내부에 있는 객체의 주소 집합들의 공간을 제공한다. 서버의 각 객체에서 특정 데이터 타입의 변수를 생성할 수 있으므로 클라이언트가 변수값을 읽거나 업데이트된 모든 값을 수신하려는 변수를 구독할 수 있다. OPC-UA의 전송 계층은 TCP를 기반으로 하며 데이터의 이진 인코딩(binary encoding)이나 SOAP(SImple Object Access Protocol)과 함께 HTTP를 사용할 수 있다(Rocha et al., 2019).
② MQTT(Meassag Queuing Telemetry Transport)
MQTT는 OASIS 표준으로 표준화되어있고 publish/subscribe 메시지 구조를 가졌으며 one-to-many 메시징에 특화되어 있다. 또한 경량 메시징 프로토콜로서 낮은 지연 시간과 전력 소비의 장점이 존재하여 무선 장치(e.g. 스마트폰)에 사용이 용이하다. 특히 주거공간, 사무실, 의료 서비스에 널리 사용되고 있는 통신 프로토콜이다. MQTT에서 publisher에 의해 발행된 데이터들은 브로커를 통하여 subscriber에게 전달된다. 추가적으로 모든 메시지는 새로운 subsciption 요청이 오기 전까지 브로커 내에서 유지된다. 메시지 데이터 타입은 명시적이지 않으며 문자열, JSON 파일 등이 사용 가능하다(MIzuya et al., 2017).
MQTT는 세 단계의 QoS(Quality of Service) 모드를 가짐으로써 메시지 전달의 신뢰성을 확보할 수 있다. Qos 0단계는 메시지가 오직 단 한 번 전달되고 메시지가 정확히 전달되었다는 보장을 할 수 없다. 따라서 재송신도 존재하지 않는다. QoS 1 단계는 모든 메시지는 적어도 한 번 이상 발송되고 메시지를 받았다는 정보를 확인할 수 있다. QoS 2단계에서는 메시지의 수신뿐만 아니라 수신 주체에게 단 한 번만 전달되는 것을 보장한다. 이 방법은 4가지의 메시지가 전달되며 복잡한 처리가 이루어진다. MQTT는 어플리케이션에 따라 적절한 QoS 단계를 적용한다(Thangavel et al., 2014).
각각의 가상 요소들(가상 PLC, 가상 모델) 간의 정보 교환을 위해서 여러 가지 통신 프로토콜을 사용할 수 있다. 이 논문에서는 OPC-UA 통신과 MQTT(Message Queuing Telemetry Transport) 통신 두 가지를 사용한다.
MQTT 프로토콜은 제약적 장치(constrained device)들의 원격 어플리케이션 프로토콜을 위해 개발되었다(Gardašević et al., 2017). 이는 publish-subscribe 모델의 세 가지 종류 중 topic-based를 채택한 프로토콜이다. 또한 OPC-UA 및 MQTT 두 가지 통신 프로토콜은 네트워크 속도 측면에서도 교육의 품질을 해치지 않을 만큼 충분한 속도를 가지고 있다(Brookes et al., 2019).
OPC-UA 클라이언트에 등록된 변수는 Node-RED에서 제공하는 OPC-UA 플로우를 통하여 읽기, 쓰기 및 전달이 가능하다. 이 방법을 통하여 가상 PLC의 변수를 제어할 수 있게 되며 이러한 정보는 가상 PLC로부터 Node-RED를 거친 후 MQTT 프로토콜을 통하여 Unity3D 내부 스크립트로 전달할 수 있다. Unity3D 내부로 전달된 가상 PLC 정보는 내부에서 이벤트를 발생하게 하고, 발생된 이벤트는 다시 반대로 MQTT 프로토콜을 통하여 Node-RED를 거쳐 다시 가상 PLC의 변수를 바꾸게 된다. 이러한 과정을 거치면서 가상 PLC와 가상 모델은 실시간으로 통신하게 된다.
4. 사례 연구
본 논문에서는 가상 모델을 국내 스마트공장 전문 인력 양성사업 교육을 위해 제작한 SMIC(Smart Manufacturing Innovation Center) 트레이닝 키트를 대상으로 하였다(<Figure 1> 참조). 교육적 목적으로 제작되었으며 PLC 로직 구성과 설비 동작이 직관적으로 확인이 가능하다. 이러한 교육적 장점을 가지고 있기 때문에 사례 연구로 채택되었다.
4.1 교육목표
SMIC 트레이닝 키트로 교육생들이 완성해야 하는 프로그램은 <Figure 2>와 같다. 크롬, 빨강, 검정색의 하우징 안에 나사 모양의 인서트를 삽입한 후 각 색깔별로 분류하고 적재한다. 사용자가 하우징 색깔별로 몇 개의 제품을 생산할지 설정하면 교육생은 그와 맞게 공정이 진행되도록 래더 다이어그램을 작성하는 것이 목표이다. 이때 컨베이어 벨트는 공정 시작과 동시에 작동되도록 한다. 처음에 하우징 적재부 에서 푸셔가 하우징을 배출하는데 만약 목표 생산량을 초과한 색상의 하우징이 나오는 경우 해당 하우징을 폐기하여 공정 라인에서 제거하는 과정을 거친다. 이때 교육 키트는 두 개의 레이저 센서로 하우징의 색상을 판단한다. 레이저 빛이 하우징에 반사되는 양으로써 판별하는데 두 센서가 모두 반응하면 크롬, 하나만 반응할 때는 빨강, 그리고 모두 0의 값을 가지면 검정 하우징이다. 하우징이 인서트 출력부에 도달하면 센서가 물체가 도달했는지 판단하여 스토퍼를 가동하여 하우징이 더 이상 이동하는 것을 방지한다. 그리고 인서트 적재부에서 배출하여 하우징 내부로 밀어 넣어주게 된다. 마지막으로 인서트를 탑재한 하우징 색상을 판단하여 분류기를 작동해서 완성품들을 색깔에 따라 다른 곳에 적재한다. 이때의 하우징 색상 판단은 전과 동일한 과정이다. 또한 이 모든 공정을 멈추는 비상 정지 버튼도 필요하다. 이 일련의 과정들은 한번 작동을 시키면 목표한 공정이 완료될 때까지 끊김이 없어야 한다.
4.2 가상모델 구축
SMIC 트레이닝 키트를 CAD로 구현한 뒤, Unity3D 환경에서 제작된 CAD 모델을 임포트 하여 가상 모델을 생성하였다. Unity3D 환경에 있는 SMIC 트레이닝 키트를 제어하기 위해 B&R Automation Studio 소프트웨어를 사용하여 가상 PLC를 생성하였다. 두 가상의 PLC와 모델 사이의 통신을 위해 Node-RED를 사용하여 네트워크를 구성하였다. 훈련 모델의 전체적인 개념과 구조는 <Figure 3>에 도식화하였다.
Unity3D에 가상 모델을 렌더링 하기 위해 Solidworks 및 CATIA로 3D 모델링을 진행하였다. 크게 5개의 파츠군으로 구성을 하였다. 컨베이어 벨트를 포함한 전체 구조물, 하우징 관련부, 인서트 관련부, 분류기, 공정 파츠이다. 첫 번째 파츠군에는 하우징을 적재해둔 곳뿐만 아니라 하우징을 빼내는 디스펜서 및 추출기로 이뤄져 있다. 두 번째, 인서트 관련부에서도 인서를 적재해 둔 곳과 하우징 스타퍼, 인서트 디스펜서가 있다. 공정 파츠는 하우징과 인서트로 구성되어 있다. 이 외에 실제 PLC와 트레이닝 키트에 연결된 전선들, 버튼 그리고 공정 완료된 파츠를 보관하는 부분은 교육 내용과는 무관하기에 모델링을 하지 않았다. Solidworks 및 CATIA로 생성해낸 결과물은 Unity가 인식을 할 수 없기 때문에 obj 파일로 변환하는 작업을 거쳐 Unity3D에 임포트 시켰다.
CAD로 제작된 각 파츠를 유니티 내부에서 하나의 모델로 연결하였다(<Figure 4> 참조). 하우징, 스토퍼, 분류기, 푸셔, 인서트에 Collider를 사용하여 물체 움직임에 필수적인 충돌을 구현하였다. 이를 통해 실제 트레이닝 키트의 움직임을 가상에서 동일하게 구현해낼 수 있었다.
물체 간 움직임을 구현하기 위해 Unity3D 내부 스크립트를 사용하여 이벤트를 구성하였다. 예를 들어 푸셔가 하우징을 컨베이어 벨트에 밀어 넣고 이와 동시에 두 Collider는 충돌 이벤트를 발생하게 된다. 이때 스토퍼가 하강하여 하우징의 진행을 막고 인서트가 삽입된다. 인서트의 삽입이 완료되면 스토퍼는 다시 상승하고 설정한 하우징 색의 분류기가 작동하며 각 이벤트는 유기적으로 작동한다.
B&R 사의 Automation Studio 제품을 이용하여 가상 PLC를 제작하였다. Automation Studio는 컨트롤러, 드라이브, 통신 및 시각화가 가능한 통합 소프트웨어 개발 툴이다. Automation Studio에서 가상 트레이닝 키트에 필요한 로직을 LD(Ladder Diagram)를 통하여 구현하였다. 또한 Automation Studio 자체적으로 OPC-UA 서버를 지원하여 직접 서버를 구축하였고 UaExpert 프로그램을 이용하여 OPC-UA 클라이언트를 구성하였다(<Figure 5> 참조). OPC-UA 서버에 LD를 동작하기 위한 변수를 등록하고 OPC-UA 클라이언트에 서버에 등록된 변수들의 주솟값을 입력하여 변수를 제어할 수 있게 하였다. 또한 가상 교육키트를 제어하기 위한 변수로서 초기 베이스의 색깔별 주문량(color cnt) 개 수가 입력이 된다. 그 후, 가상 PLC 내부적으로 현재 생산량 변수를 통하여 지속적으로 생산되고 있는 하우징의 개수를 체크하며, 모든 생산이 완료되면 프로그램은 종료된다.
Node-RED 내부에서 OPC-UA 프로토콜과 MQTT 프로토콜을 사용한다. 첫 번째로 OPC-UA 클라이언트로부터 값을 읽어 오기 위해 Node-Red에서 제공하는 OPC-UA listen node를 사용한다. 이때 OPC-UA 클라이언트에 등록된 PLC 변수들의 주소 값들이 할당되며, 할당받은 주솟값으로부터 값을 읽어들이게 되고 실시간 통신이 가능하다.
Node-RED에서 제공하는 MQTT publish node를 사용하여 OPC-UA 클라이언트로부터 받은 데이터를 Unity3D 가상 트레이닝 키트의 내부 MQTT subscribe에 전달한다. 전달된 값은 내부 Unity3D 스크립트에 선언된 변수의 값을 변화시키고 변화된 값은 다른 스크립트의 이벤트를 실행시킨다. 순차적으로 검정, 빨강, 크롬 색깔의 하우징을 생산하게 되며 한 개씩 생산이 될 때마다 다시 가상 PLC로 정보를 전달하게 된다. MQTT publish를 통하여 Node-RED에 선언된 MQTT subscribe 노드에 값을 전달하게 되며 이 노드는 다시 OPC-UA write node에 값을 전달하며 OPC-UA 클라이언트에게 정보를 전달한다. 마지막으로 OPC-UA 클라이언트는 값을 변화시키고 이 값은 가상 PLC 내부 변수를 변화시키게 된다. 최종적으로 하우스 생산이 모두 완료되면 프로그램은 종료된다. 최종적인 데이터의 흐름도는 <Figure 6>과 같다.
Node-RED에서 제공하는 펑션 블록과 대시보드 기능을 사용하여 사용자 인터페이스를 구성하였다. Node-RED 내부에서 전달되고 있는 정보를 사용하여 현재 생산이 어떤 과정에 있는지 대시보드에 출력할 수 있으며, 사용자에게 현재 생산량의 상태와, 주문량의 개수 등 다양한 변수 모니터링의 편의성을 제공한다. <Figure 7>은 제공되는 바 차트와 생산 진행 상황이며 이는 교육의 완성도를 높여준다.
가상 PLC에서 직접 명령을 변수를 조작하는 대신에 대시보드를 통하여 생산해야 할 하우징의 개수 및 시작, 정지 버튼을 사용할 수 있게 제작되었다.
Unity3D의 또 다른 장점은 VR(virtual reality) 기기와 바로 연동할 수 있다는 점이다. 본 연구에서는 Oculus rift VR 기기를 사용하였다(<Figure 8> 참조). VR을 사용하지 않은 훈련생보다 VR을 사용한 훈련생은 더욱 효과적인 교육이 가능하다. 사용자는 모니터 화면에서 보는 것과는 다르게 실물과 동일한 교육 키트와 같은 공간에 있을 수 있기에 생동감 있는 공정 진행 상황을 관찰할 수 있다. 본 사례 연구에서 VR 헤드마운트를 활용하여 교육 환경에 입장한 뒤, 터치 컨트롤러를 이용하여 VR 작동 환경을 체험할 수 있다.
5. 논 의
본 장에서는 구현된 가상 교육 환경에 관련된 주요 사항을 논의한다. 스마트공장 전문가 양성 과정에서, 수준별 PLC 프로그래밍이 진행되어야 한다. 실제 설비의 경우 센서가 고정되어 있으며, 기존에 구성된 PLC 로직을 바꾸기는 쉽지 않다. 하지만 가상 교육의 경우에 실제 설비의 센서 역할이 내부 스크립트를 통한 이벤트로 대체되기 때문에 기존의 고정되어 있는 실제 설비보다 더욱 많은 센서를 구현할 수 있고, 이와 반대로 사용자의 수준에 맞추어 센서의 수를 줄일 수 있다. 이처럼 사용자 맞춤형 교육 방식은 난이도를 자유롭게 조절할 수 있다는 장점이 있다. 예를 들어 초급 수준의 사용자의 경우엔 PLC에서 변수만을 선언하고 설비의 동작을 보는 가장 기초적인 방법으로 진행이 된다. 또한 중급 사용자의 경우에는 설비의 가장 필수적인 부분만을 구현하도록 하고, 마지막으로 고급 사용자의 경우에는 실제 설비의 모든 센서를 구현하도록 하는 사용자 맞춤 형식의 프로그래밍이 가능하다.
네트워크 측면에서, 요구 사항 중 유연성에서 언급한 것과 같이 IoT와 산업용 장비를 빠르게 연결하기 위해서 각각의 표준모델인 MQTT와 OPC-UA를 활용하였다. 서로 다른 이기종 네트워크인 MQTT를 사용한 이유는 이 논문에서 제시한 프레임워크가 좀 더 유연한 구조를 갖는 것에 장점이 있다. Unity3D 가상 모델에 직접적으로 OPC-UA 클라이언트를 구축하여 OPC-UA에 집중한 구조를 선택할 수도 있고, 이 논문에서 제시한 방법과 같이 MQTT를 사용하여 구축할 수도 있다. MQTT 프로토콜을 사용하여 네트워크를 구축하게 되면 브로커를 통하여 모바일 장치에 메시지를 다중으로 전송하여 다수의 유저가 현재 진행 상황을 볼 수 있게 되고, 패드나 스마트폰으로 간편하게 상황을 확인할 수 있다.
마지막으로 VR 기기의 사용을 통해서 입체적인 구현 상황을 살펴볼 수 있다. 사례연구의 설비는 단순하지만, 현장의 복잡한 설비의 경우 센서의 위치나 실시간 시뮬레이션 중에 발생하는 현상을 보다 정밀하게 관찰할 수 있다. 또한 설계된 시스템의 구조를 파악하는데 유리한 장점을 가지고 있다. 추가적으로 안전 측면에서도 강점이 있다. 이 논문에서의 대상 설비는 교육을 위해 제작된 작은 설비이지만 플랜트나 대규모 공장에 대한 교육을 시행할 경우 안전상의 위험이 존재하며 실제 설비가 망가졌을 경우 큰 비용적 부담이 있다. 하지만 가상의 환경에서는 안전상의 문제에서 자유로워질 수 있다.
이처럼 가상 교육 환경은 여러 가지 이점이 존재하며 현재 많은 이슈가 되고 있는 COVID-19 같은 상황에도 적용 가능한 해결책이 될 수 있다.
6. 결 론
4차 산업혁명이 산업 현장에서 핵심 키워드로 등장하면서 스마트공장은 전 세계 제조업체의 핵심 역량으로 급부상하였다. 그러나 현장에 투입할 수 있는 전문 인력의 수는 부족한 실정이기 때문에 많은 인력을 교육할 필요가 있다. 하지만 고가의 훈련비와 한정된 인원만이 교육을 받을 수 있다는 점이 문제가 되었다. 이러한 단점을 없애기 위해 교육 환경을 가상으로 옮기는 시도를 하였으며 성공적인 결과를 얻어냈다.
본 연구에서 사용된 방법론으로 가상 모델의 요구 사항을 충족할 수 있었다. 첫 번째로 MQTT 프로토콜을 통한 OPC-UA 통신은 500ms 이내의 속도를 만족하므로 가상 모델이 명령을 수행함에 있어서 무시할 수 있는 시간 지연을 가능케 하였다. 두 번째로는 유연성을 만족하였다. Unity3D를 사용하여 가상 모델을 만들었기 때문에 이번 사례연구와 다른 공정 모델을 교육 모델로 삼는다 하더라도 해당 Unity3D 모델만 준비되어 있다면 언제든지 연결이 가능하다. 또한 PLC는 제조사에 따라 호환성 문제가 야기될 수 있는데 본 연구에서는 가상 PLC를 사용했기 때문에 문제가 생길 여지가 줄어든다. 마지막으로 Node-RED의 대시보드를 사용하여 공정이 어느 정도 진행되었는지 혹은 여러 신호정보를 확인할 수 있게 만들었다. 그뿐만 아니라 VR 기기를 사용하면 교육생으로 하여금 생동감 있게 결과를 관찰할 수 있어 문제 해결을 용이하게 했다. 이와 같은 방법을 사용하여 결과 관찰의 편의성을 높였다. 또한 모든 설비의 가상화를 이루어 냄으로써 비용적 문제를 해결하였다.
본 연구에서 제안한 전문가 훈련 시스템을 통하여 교육받은 학습자와 실물 설비만 이용하여 교육받은 사람들과의 이해도 차이를 정량적으로 수치화하여 효율성을 입증하는 연구가 추가되어야 한다.
Acknowledgments
이 논문은 산업통상자원부의 스마트팩토리 운영설계과정(No. N0002429)의 지원을 받아 수행되었음.
이 논문은 2019년도 스마트공장 운영설계 전문인력양성 사업 “데모공장 임데디드 시스템 및 실습” 과목의 프로젝트 결과로 수행된 연구임.
References
-
Brookes, J., Warburton, M., Alghadier, M., Mon-Williams, M., and Mushtaq, F. (2019), Studying Human behavior with Virtual Reality : The Unity Experiment Framework, Behavior Research Methods, 1-9.
[https://doi.org/10.1101/459339]
-
Cho, S. Y. (2010), Virtual Experimental Kit for Embedded System Education, The Journal of the Korea Contents Association, 10(1), 59-67.
[https://doi.org/10.5392/JKCA.2010.10.1.059]
-
Gardašević, G., Fotouhi, H., Tomasic, I., Vahabi, M., Björkman, M., and Lindén, M. (2017), A Heterogeneous IoT-based Architecture for Remote Monitoring of Physiological and Environmental Parameters, In International Conference on IoT Technologies for HealthCare (pp. 48-53), Springer, Cham.
[https://doi.org/10.1007/978-3-319-76213-5_7]
- https://opcfoundation.org/about/opc-technologies/opc-ua, .
- Kim, J. H., Whang, M. C., and Kim, Y. J. (2008), The Delay Effect on Reality in Visual and Haptic Presentation, Science of Emotion and Sensibility, 11(2), 227-234.
- Kim, K. M., Industrynews, 2019. 12. 23.
- Lim, J. Y. and Kwon, J.-E. (2018), A Case Study of the Leader Education and Training in 4th Industrial Revolution, Asia-pacific Journal of Multimedia Services Convergent with Art, Humanities, and Sociology (AJMAHS), 8(10), 339-349.
- Lin, F., Hon, C. L., and Su, C. J. (1996), A Virtual Reality-Based Training System for CNC Milling Machine Operations, Annual Journal of the IIE HK, 13-16.
-
Mizuya, T., Okuda, M., and Nagao, T. (2017), A Case Study of Data Acquisition from Field Devices Using OPC UA and MQTT, In 2017 56th Annual Conference of the Society of Instrument and Control Engineers of Japan (SICE) (pp. 611-614), IEEE.
[https://doi.org/10.23919/SICE.2017.8105594]
- National IT Industry Promotion Agency, “IoT open platform based smartfactory”, 2019-06.
-
Park, S. C., Park, C. M., and Wang, G. N. (2008), A PLC Programming Environment based on a Virtual Plant, The International Journal of Advanced Manufacturing Technology, 39(11-12), 1262-1270.
[https://doi.org/10.1007/s00170-007-1306-3]
- Park, W. S. (2015), Development of the Virtual Plant Using Mitsubishi PLC Simulation and Unity Game Engine, Proceedings of the Society of CAD/CAM Conference, 153-159.
- Rocha, M. S., Sestito, G. S., Dias, A. L., Turcato, A. C., and Brandão, D. (2018), Performance Comparison between OPC UA and MQTT for data exchange, In 2018 Workshop on Metrology for Industry 4.0 and IoT (pp. 175-179), IEEE.
-
Rocha, M. S., Sestito, G. S., Dias, A. L., Turcato, A. C., Brandão, D., and Ferrari, P. (2019), On the Performance of OPC UA and MQTT for Data Exchange between Industrial Plants and Cloud Servers, Acta IMEKO, 8(2), 80-87.
[https://doi.org/10.21014/acta_imeko.v8i2.648]
- SSF-Newsletter Nr. 9 / June 2020.
-
Thangavel, D., Ma, X., Valera, A., Tan, H. X., and Tan, C. K. Y. (2014), Performance Evaluation of MQTT and CoAP via a Common Middleware, In 2014 IEEE Ninth International Conference on Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP) (pp. 1-6), IEEE.
[https://doi.org/10.1109/ISSNIP.2014.6827678]
박용근 : 공주대학교 응용수학과에서 2019년 학사학위를 취득하고 경희대학교에서 산업경영공학과 석사과정에 재학 중이다. 연구분야는 Smart Factory, Deep learning of Predictive health maintenance, Virtual reality of Industrial Internet of Things이다.
이성호 : 경희대학교 기계공학과에서 2019년 학사학위를 취득하고 경희대학교에서 기계공학과 석사과정에 재학 중이다. 연구분야는 재료의 미세구조 계산이다.
엄주명 : 성균관대학교 기계공학부에서 2003년 학사, POSTECH에서 산업공학 석/박사학위를 취득하였다. 영국 캠브리지대학교 Research associate와 독일 인공지능연구소 senior researcher를 역임하고 2018년부터 경희대학교 산업경영공학과 교수로 재직하고 있다. 연구분야는 Smart Factory, Augmented reality, CAD/ CAM이다.