DOI QR코드

DOI QR Code

중앙 집중식 OPC UA 서버와 통합 된 CPPS 아키텍처에 관한 연구

A Study on CPPS Architecture integrated with Centralized OPC UA Server

  • 조규종 (성균관대학교 스마트팩토리학과) ;
  • 장수환 (성균관대학교 스마트팩토리학과) ;
  • 정종필 (성균관대학교 스마트팩토리학과)
  • 투고 : 2019.05.13
  • 심사 : 2019.06.07
  • 발행 : 2019.06.30

초록

스마트팩토리를 구축하기 위해서는 CPPS(Cyber Physical Production System)의 구축은 필수적으로 동반되어야 하는 중요한 시스템이다. CPPS를 통해서 물리적 공장을 디지털 기반의 사이버 세상으로 옮겨오고 이를 지능적, 자율적으로 모니터링하고 제어하는 것이 스마트팩토리의 실체이다. 하지만 기존에 제시된 CPPS의 아키텍처들은 추상적인 모델링 형태의 아키텍처만 제시하고 있으며, 스마트팩토리에서 데이터를 수 집 교환을 위한 국제 표준인 OPC UA Framework(Open Platform Communication Unified Architecture)을 CPPS의 기본적인 체계로 적용한 연구는 부족하였다. 이에 아키텍처 구성 실제 공장에 적용 가능한 CPPS 아키텍처로 분산되어진 필드 데이터를 수집하여 중앙에 집중화 된 서버에서 집중된 데이터 처리가 되어야만 클라우드와 IoT를 모두 포함할 수 있는 CPPS를 구현 가능하다. 본 연구에서는 중앙 처리 OPC UA Framework을 준수한 OPC UA를 기술 체계를 기반으로 중앙의 OPC UA Server를 통해 CPPS 아키텍처를 구현하고 OPC UA 모델링 처리를 통해 CPPS 논리 프로세스와 데이터 처리 프로세스가 자동으로 생성되는 방법을 포함한 CPPS 아키텍처를 제안하고 모델 공장을 실제로 구현하여 그 성능과 가용성에 대해서 연구하였다.

In order to build a smart factory, building a CPPS (Cyber Physical Product System) is an important system that must be accompanied. Through the CPPS, it is the reality of smart factories to move physical factories to a digital-based cyber world and to intelligently and autonomously monitor and control them. But The existing CPPS architectures present only an abstract modeling architecture, and the research that applied the OPC UA Framework (Open Platform Communication Unified Architecture), an international standard for data exchange in the smart factory, as the basic system of CPPS It was insufficient. Therefore, it is possible to implement CPPS that can include both cloud and IoT by collecting field data distributed by CPPS architecture applicable to actual factories and concentrating data processing in a centralized In this study, we implemented CPPS architecture through central OPC UA Server based on OPC UA conforming to central processing OPC UA Framework, and how CPPS logical process and data processing process are automatically generated through OPC UA modeling processing We have proposed the CPPS architecture including the model factory and implemented the model factory to study its performance and usability.

키워드

Ⅰ. 서론

Industry 4.0 시대에서 CPS는 핵심 개념으로서 물리적 세계를 IoT, ICT등의 IT기술을 활용하여 사이버 상에 동일하게 구현하고 물리세계의 현실적인 작용이나 현상을 사이버 월드로 실시간으로 전달하고 이를 논리 프로세스 처리를 통해 실제 물리세계로 피드백을 주는 것을 말한다.(1) 스마트팩토리에서는 실제 공장의 기계, 엑추에이터, 센서 등의 데이터 수집과 교환을 통해 CPS를 구현하는데 이를 CPPS(Cyber Physical Production System)라고 한다(2). 따라서 CPPS 개념은 산업 환경에서 자율성과 유연성을 증가시켜 제조 응용 프로그램과 시스템의 높은 수준의 통합과 상호 운용성을 보장하게 한다.(3) CPPS는 생산공정과 관련된 공정프로세스 운영과 공장의 장비와 설비 등을 운영하는 OT(Operating Technology)와 함께 IoT, Cloud, TSN(Time Sensitive Network) 등 다양한 IT 기술이 융합되어 구성된다. 이러한 다양한 환경에서 시스템과 장비 간의 연결성은 필수적이다. 그러나 이것은 다양한 설비와 디바이스 등의 이 기종 모델로 인하여 단순한 작업이 아니며 매우 넓은 영역의 시스템 및 개념을 통합해야 한다. 장치, 장비 및 시스템의 상호운용성에는 가능한 정보 교환을 가능하게 하는 통합 아키텍처가 필요하다.

특히 스마트팩토리의 CPPS는 네트워크 기술, 스마트센서 및 액추에이터, 지능형 데이터 처리, 빅 데이터 등과 같은 다른 분야의 다른 기술자들과 결합된 생산 기술과 같은 자동화 생산 분야에서 사용되는 서로 다른 잘 정립된 기술은 제조업체들에게 높은 수준의 자동화 기능을 제공한다. 자동화가 진행된 산업 공장에는 모든 데이터 태그가 연결되거나 사용되며 그 수도 10,000개가 넘을 수 있다. 이러한 복잡한 대량의 데이터를 보다 나은 비즈니스 및 운영 의사 결정으로 전환하려면 데이터 조작, 분석, 산업 네트워크 및 데이터 교환은 표준화에 중점을 둔 CPPS 아케텍처 및 그 방법이 필요하다. 본 연구가 필요한 목적과 독창성은 아래와 같다. 첫째 CPPS를 구현하는 기존의 아키텍처는 일반적이고 추상화된 개념의 아키텍처만을 제시하는데 비해 OPC UA Framework(Open Platform Communication Unified Architecture)(4)에서 제시하는 프로세스 처리와 데이터 처리의 표준화된 방법을 통해 CPPS의 아키텍처를 도출해 냈다. 이는 스마트팩토리의 CPPS를 손쉽게 구축할 수 있다. 둘째 공장의 모든 객체를 모델링하는데 탁월하며 최적화된 OPC UA의 모델링을 이용해서 모델링을 정의하면 CPPS의 논리 프로세스와 데이터 프로세스를 자동으로 생성시켜 두 가지 모델링 및 처리를 동시에 처리할 수 있으며, 이를 통해 동적인 CPPS 구성을 가능하게 한다. 셋째 기존의 아키텍처에서 OPC UA는 필드에 분산되어진 형태로 데이터를 수집 및 교환하는 하부 데이터 수집기의 용도로 데이터를 공급하는 분산 Server로 쓰여 졌다. 하지만 중앙처리된 OPC UA 서버는 공장 현장에 분산되어진 OPC UA Server의 Client의 역할을 수행함으로써 수직 수평의 데이터 교환 및 배포를 가능하게 하는 중앙 Server로 전체 공장의 모든 데이터를 동시에 한 곳에서 처리할 수 있게 함으로써 데이터의 정합성과 배포의 용이성 및 다양성을 이룰 수 있게 한다. 넷째 공장 현장에 분산된 OPC UA Server는 비교적 낮은 사양의 CPU Power와 프로세스 처리능력으로 인해 데이터의 저장 및 로직제어에 제약이 따르고 이를 안전하게 클라우드로 직접 연결시키려면 높은 사양의 분산서버를 현장에 많이 배치하게 되어, 리소스 낭비 및 과다한 비용을 초래하게 되나, 중앙집중된 OPC UA 서버에서 일괄적으로 클라우드와 연동함으로 인해 관리의 효율성과 비용의 절감을 가져올 수 있다.

Ⅱ. 관련 연구

OPC UA Modeling은 8개의 노드 형태로 모델링 된다. OPC UA Node Modeling을 표시하였다. 이는 OPC UA Framework의 표준에 의한 구성이며, OPC UA는 모든 구성요소가 Node의 형태로 다양한 계층 구조를 가지고 있으며, 현실에 있는 모든 객체의 계층구조, 속성 구조, 데이터 타입과 길이 등과 같이 모든 것을 정확하게 모델링 할 수 있는 구조이다. 이는 CPPS에서 공장의 토플리지들(기계들과 설비)을 계층적으로 모델링하는 것과 동일하다. 또한 CPPS가 현실세계를 사이버세계로 옮겨와서 실시간으로 모니터링, 제어하기 위해서는 OPC UA를 통한 데이터 통신이 필수적으로 일어나야 하며, 데이터 통신이 일어나지 않는 CPPS모델링은 실제적으로 의미가 없기 때문에 OPC UA 모델링 자체가 CPPS의 모델링이 될 수 있다. OPC UA Framework의 구조와 사상을 이용해서 스마트팩토리 CPPS(제조 사이버물리시스템)의 아키텍처를 제시하고, OPC UA 모델링만으로 동적으로 CPPS모델을 구성할 수 있는 시스템의 구조 및 그 방법에 관한 것으로 아키텍처의 각각의 구성 모듈과 서비스, 상호연동방안, 외부 연동 방안, 자동화 생성 방법, 흐름 및 순서, N개의 OPC UA Server/Client 통신 방식을 포함한다.(5) OPC UA는 OPC DA, OPC A & E 및 OPC HDA와 같은 이전 표준을 대체 하기 위한 것이다. OPC UA는 벤더 독립적 인 개방형 아키텍처를 제공하면서 이러한 표준을 발전시킨 것이다. 이전 버전과 마찬가지로 OPC UA는 클라이언트/서버 패러다임을 따른다. 이식성과 관련하여, 주요 차이점은 서버가 자동화 시스템에서 직접 사용될 수 있는 통신 스택을 사용한다는 점이다. OPC UA는 CPPS를 실행하는 장치와 같은 산업 자동화 응용 프로그램 및 장치에 적합한 안정적이고 견고하며 고성능 통신 수단을 제공한다.(6)

클래식 OPC는 데이터 유형, 정보 및 데이터 항목과 시스템 간의 관계와 같이 오늘날의 연결된 세상의 본질적인 문제를 적절하게 나타낼 수 없다. 클래식 OPC와는 달리 OPC UA는 운송 방법 이상의 기능을 제공하여 공장 바닥 모델을 지원할 수 있는 모델링 주류를 제공한다.(7) 제조 영역에서 정보 기술은 공정 제어 엔지니어링과 통합 되어야 한다. 이를 위해 시스템은 정보 교환이 필요한 상호 운용이 가능해야 한다.(8) 이러한 의미에서 OPC UA 서버의 주소 공간 개념은 매우 중요하다. 특히, 이 개념에서 서버가 클라이언트에 사용할 수 있게 만드는 오브젝트 세트가 포함된다. 이러한 개체는 기본 실시간 시스템 데이터를 나타낸다. 대체로 주소 공간 개념은 다양한 시스템에서 상호 이해할 수 있는 고유 한 방법으로 실제 프로세스 환경과 실시간 프로세스 동작을 나타낼 수 있다.[9] Kang et al.[10] 사이버 물리 생산 시스템을 위한 실시간 데이터 분배 서비스 (RDDS) 라 불리는 미들웨어를 제안한다. 이 서비스는 이러한 종류의 시스템에서 안전 데이터 가변 통신을 제공한다. 미들웨어에 설계되고 내장 된 게시 / 가입 기반 메커니즘은 공장 현장 수준의 고도로 예측할 수 없는 CPPS 환경에서 센서 데이터 보급의 신뢰성과 효율성을 향상시키는 것을 목표로 한다. 센서용으로 설계된 모델의 정확성은 실시간으로 컨트롤러가 제공 한 데이터로부터의 피드백을 통해 향상된다.(11) 그러나 현재 실제 공장 현장 통신에 사용되는 산업용 네트워크와 함께 이 미들웨어를 적용하는 방법은 연구되지 않았으므로 단기간에 통신에 적용 할 수는 없다. RDDS는 미들웨어로써 Publisher와 Subscriber간의 메시지 교환을 Broker를 통하는 구성이다. 브로커는 Subscriber에서 버퍼의 부하 상태를 전달 받아 연속데이터의 모든 데이터의 전달을 조정하는 구성을 가진다. 이는 엄청난 양의 연속데이터를 모두 보내지 않고 추정된 값의 범위를 벗어날 때에만 데이터를 전달하게 되며 이를 통해 데이터의 신선도를 유지하게 된다. 연속데이터의 상태를 추정해서 이를 계속 업데이트하는 구조이며 Pub/Sub 패러다임을 적용하였고, 모델을 통한 추정으로 CPPS 미들웨어의 데이터 전달 구성에서는 좋은 아이디어를 제공했다. 특히 CPPS에서 일반적인 워크로드의 예측할 수 없는 변화에 대한 견고성을 제공한 점이 특별하였다. 반면에 CPPS의 전체적인 아키텍처가 되기는 부족했으며, OPC UA Pub/Sub 스펙 이전에 연구되어 일반적인 메시지형태를 사용한 것이 기존 연구의 한계였다.

Industry 4.0의 개발 및 추세를 평가하기 위해, F. Saldivar et al.[12] 지능형 공장에서 설계 및 제조를 위한 사이버 물리적 통합을 분석한다. 저자는 공동 작업 시스템의 통합을 위한 몇 가지 방법론을 제시한다. 특히, CPPS, 클라우드 컴퓨팅, 가상 설계 및 실시간 분석의 통합을 목표로 하는 개방형 메터 (OpenMETA)라고 불리는 잘 정비 된 방법론과 통합 도구가 혁신 및 높은 생산성의 핵심으로 제시된다. 따라서 결국 시스템은 자기 인식 및 자기 예측이 되고 미래의 연구에 적합한 다른 속성도 향상된다. 간단히 말해서, 이 접근법은 새로운 CPPS 방법론을 만들기 위해 추구하는 일치 기법을 기반으로 하지만 OPC UA와 같은 스마트 공장에서 유용한 통신프로토콜과의 통합에 중점을 두지 않는다.

Ⅲ. CPPS 아키텍처의 제안

1. The CPPS Architecture using Centralized OPC UA Server

이 장에서는 본 논문에서 제안하는 CPPS Architecture using Centralized OPC UA Server 시스템의 아키텍처에 대해 설명한다. 국제 스마트팩토리 표준인 OPC UA Framework의 구조와 사상을 이용해서 스마트팩토리 CPPS(제조 사이버물리시스템)의 아키텍처를 제시하고, OPC UA 모델링만으로 동적으로 CPPS 모델을 구성할 수 있는 시스템의 구조 및 그 방법에 관한 것으로 아키텍처의 각각의 구성 모듈과 서비스, 상호연동 방안, 외부 연동 방안, 자동화 생성 방법, 흐름 및 순서, N개의 OPC UA Server/Client 통신 방식을 포함한다.

그림 1은 Centralized OPC UA CPPS의 아키텍처로 크게 기능적으로 Centralized OPC UA Server과 Factory CPPS Model으로 구성된다. Centralized OPC UA Server(1)에서는 OPC UA 표준을 따르는 OPC UA Address Space을 중심으로 CPPS와의 연동을 위해 CPPS Connect OPC UA과 외부 시스템과의 데이터 교환을 위한 Information Exchange Service이 있고 Factory CPPS Model과 OPC UA Client를 연동하기 위한 시스템적 연결을 동적으로 자동 생성하는 OPC_CPPS Node Generator와 Shop Filed의 다양한 기계와 센서들과 통신을 수행하는 OPC UA Client로 구성된다.

OTNBBE_2019_v19n3_73_f0001.png 이미지

그림 1. 중앙 집중형 OPC UA CPPS 아키텍처

Fig. 1. Centralized OPC UA CPPS Architecture

OPC UA Address Space는 모델링된 전체 객체 Node의 값을 실시간으로 변경하고 있는 변수체계이다. OPC UA 스펙에서는 Address Space를 통해 모든 값들을 관리하고 전달한다. Centralized OPC UA Server내에서 OPC UA Spec의 표준 모듈들인 OPC UA Pub/Sub과 OPC UA Monitored Item, Alarm/Event와 Historian에 데이터를 전달하거나, 트리거를 발동시키는 역할을 하고 있으며, OPC UA Address Space를 통해 모든 데이터는 교환되고 업데이트 된다.

Information Exchange Service는 외부의 시스템과 데이터를 교환하고 전달하는 기능을 담당한다. 기존의 OPC UA 표준 스펙들로 구성되어 있으며, OPC UA Pub/Sub을 통해 외부 Broker 및 클라우드로 데이터를 비 동기 메시지 방식으로 배포한다.

OPC UA Monitored Item은 외부에서 데이터를 교환하고자 하는 시스템 및 어플리케이션에서 주기적으로 받기를 원하는 Node값을 등록하고 그에 따라 데이터를 주기적으로 전송하는 기능을 한다. OPC UA Monitored Item에 등록할 때에는 얻고자 하는 Node의 인덱스 값과 함께 전송주기, 데이터 전송 필터링 등의 속성을 함께 등록해서 OPC UA Monitored Item는 이에 맞추어 각각의 세션 별로 해당 데이터를 전송한다.

OPC UA Alarm/Event는 OPC UA Node Modeling에 정의된 Alarm/Event의 속성에 맞추어 해당 이벤트가 발생할 때마다 Alarm/Event를 내부와 외부에 동시에 발생시켜 이벤트 데이터를 배포한다.

CPPS Connect OPC UA은 OPC UA Address Space에서 발생하는 모든 데이터의 업데이트와 변경 사항 그리고 Information Exchange Service에서 발생하는 내부적 Alarm/Event를 Factory CPPS Model 내부에 있는 CPPS Node Control, CPPS Logic Control, Product Process Control에 데이터를 상호 전달하는 기능을 담당한다. OPC_CPPS Node Generator는 본 연구의 핵심적인 기능으로서 OPC UA Modeling를 파싱해서 OPC UA Address Space와 OPC UA Client에 등록하고 있는 CPPS Node Control, CPPS Logic Control, Product Process Control에 필요한 속성 및 코드를 자동으로 생성시키는 기능을 한다.

그림 2는 Centralized OPC UA Server의 통신 구성에 대한 것이다. Centralized OPC UA Server는 전체 공장의 CPPS를 위한 모든 통신 데이터를 중앙 집중한 서버로서 Shop Field에 분산되어진 OPC UA Server의 Address Space를 중앙에 전체 계층구조에 맞추어 전체적인 중앙 Address Space를 구축하고 각각의 분산되어진 OPC UA Server가 보내오는 데이터를 중앙 Address Space에 실시간으로 반영하는 구조를 가지고 있다. 이는 중앙 서버를 통해서 수직, 수평의 필요한 모든 시스템 및 개체로 동일한 데이터를 전송하는 체제이며, 분산된 환경에서는 보낼 수 있는 대상의 한계를 극복하는 구조이다. 이러한 Centralized OPC UA Server를 구성하기 위해서는 OPC UA Server 내에 OPC UA Server와 Client가 동시에 존재해야 하며, Client에서 받은 Address Space데이터를 중앙의 Address Space에 정확하게 전달 매핑하는 기능이 필요하다. 본 연구에서는 Centralized OPC UA Server내에 OPC UA Client가 해당 기능을 수행하게 된다.

OTNBBE_2019_v19n3_73_f0002.png 이미지

그림 2. 중앙집중형 OPC UA Server의 통신 구성

Fig. 2. Communication Configuration for the Centralized OPC UA Server

Centralized OPC UA Client는 Shop Filed에 있는 분산된 각각의 OPC UA Server에서 OPC UA 세션을 통해 데이터를 실시간으로 수집, 교환하며 이를 중앙의 Address Space에 동시 매핑을 하기 위해 OPC UA Client 내의 Address Space와 Centralized OPC UA Server의 Address Space를 물리적으로 동일한 주소공간을 매핑하여 사용하게 하여 Shop Filed 데이터를 중앙의 Address Space에 정확한 데이터 전달 기능을 제공한다. Centralized OPC UA Server과 Centralized OPC UA Client의 구간은 동일 서버 내부에 존재하는 구조이며 Centralized OPC UA Client과 Distributed OPC UA Server은 Factory Shop Field의 기계와 설비 또는 그를 제어하는 지능형 디바이스들과 OPC UA 통신이다. Shop Field의 OPC UA Server는 설비 또는 기계, 로봇 등에서 OPC UA로 데이터를 공급하는 역할을 하기 때문에 Distributed OPC UA Server의 역할을 하며, 기존의 아키텍처들은 모두 이렇게 분산되어진 OPC UA Server만을 공급하지만 본 연구에서는 Centralized OPC UA Server와의 통신을 위해 일체형의 OPC UA Client 배치하여 전 구간을 OPC UA 통신만으로 스마트팩토리를 구축할 수 있게 하였다. Centralized OPC UA Server에서 외부로 통신하는 구간은 모두 OPC UA 통신으로 외부 시스템은 Distributed OPC UA Client가 되며 OPC UA Pub/Sub Broker 메시지 또는 OPC UA Monitored Item와의 각각의 세션을 통해 데이터를 교환한다.

2. CPS Node와 Centralized OPC UA Server 연결

그림 3은 CPPS Connect OPC UA CPPS Node Control과의 연결기능과 데이터 전달을 통해 상호 연동하는 구성을 나타낸 그림이다. OPC UA Address Space서 Node가 추가 또는 변경되거나 값이 업데이트될 때 CPPS Connect OPC UA CPPS Node Control로 그 변화를 반영한다.

OTNBBE_2019_v19n3_73_f0003.png 이미지

그림 3. CPPS Connect OPC UA와 CPPS Node Control와의 상호연동작동

Fig. 3. Inter-working between CPPS Connect OPC UA and CPPS Node Control

CPPS Node Control은 CPPS(제조 사이버물리 시스템)에서 팩토리의 토플리지를 계층적 구조로 구성하고 그와 관련된 값을 표현하며 프로세스 펑션 등을 호출하거나 사이버 상에 팩토리의 모습을 구현하기 위해 존재한다. CPPS Node Control은 CPPS_Connect OPC UA를 통해 매핑된 OPC UA Address Space의 값을 가져와 표현하고 OPC UA Alarm/Event에서 발생한 이벤트를 표시한다. 동적으로 팩토리의 토플리지를 추가 또는 변경할 때는 OPC UA Modeling을 자동 파싱해서 CNC같은 머신을 CPPS Node를 추가한다.

External OPC UA나 External Communicator에서 교환되는 정보를 Station 1과 같이 CPPS Node Control에 표현할 수 있다. 이는 CPPS가 내부의 토플리지와 정보만을 이용해서 구성되지 않고 원격지의 물리적 토플리지를 가상의 환경으로 CPPS를 구성하기 위해서 필요한 부분이며 CPPS Node Control는 이를 수용하고 반영할 수 있도록 구성되었다.

그림 4는 OPC UA Server 모델링을 통한 CPPS Node 및 CPPS Logic Control을 자동 생성하는 구성과 흐름을 표현한 도식이다. 먼저 추가되거나 변경되는 물리적 토플리지를 External OPC UA Modeler에 의해서 OPC UA Modeling로 만들어지면 이는 OPC UA Model Parser를 통해서 필요한 정보로 분해 된다. 분해하기 위해서 OPC UA Node의 특정 속성을 활용하여 예약된 속성을 찾으면 이에 맞추어 분해하고 자동으로 생성하기 위한 코드를 OPC UA Generator을 통해서 자동으로 생성한다. OPC UA Generator을 통해서 자동으로 생성된 정보를 통해서 OPC UA Client에 자동으로 추가하여 Shop Field의 장비 및 지능형 디바이스와 통신을 할 수 있도록 하며 OPC UA Address Space에 추가 또는 변경을 중단 없이 추가시켜 Shop Field의 기계와 데이터 교환을 가능하게 한다.

OTNBBE_2019_v19n3_73_f0004.png 이미지

그림 4. OPC_CPPS Node Generator의 구성

Fig. 4. Configuration of OPC_CPPS Node Generator

CPPS Node Generator는 External OPC UA Modeler에 의해서 만들어진 OPC UA Model을 OPC UA Model Parser를 통해서 필요한 정보로 분해된다. 분해하기 위해서 OPC UA Node의 특정 속성을 활용하여 예약된 속성을 찾으면 이에 맞추어 분해하고 자동으로 생성하기 위한 코드를 CPPS Node Generator을 통해서 자동으로 생성한다. CPPS Node Generator는 OPC UA Model의 계층구조에 맞추어 CPPS Node Control에 자동으로 Node를 추가하고 OPC UA Address Space의 동일 노드에 자동으로 매핑한다. OPC UA Modeling에서 OPC UA Method Node에 정의된 펑션 호출에 따라 CPPS Logic control에 기본적인 펑션 로직을 자동으로 생성한다. CPPS에서는 CPPS Logic control의 펑션을 호출하여 OPC UA Server의 메서드 및 Set 명령 데이터를 전달하여 물리적 세계의 기계들을 제어하게 된다.

Product Process Control은 팩토리의 공정관리에 필요한 처리 로직을 담당하는 곳이다. 엄청나게 다양한 팩토리는 같은 설비구조를 가지고 있더라도 여러 가지 공정처리들이 있을 수 있다. Product Process Control는 공정의 로직 처리와 함께 CPPS Logic Control을 호출하여 실제로 물리적 세계에 피드백을 일으킨다. 또한 공장만의 특유의 공정 처리 로직을 처리할 수 있도록 하는 곳이다.

OPC UA Model가 만들어지면 OPC UA Model Parser에서 OPC UA Node의 속성에 따라 계층 구조와 Node의 종류 그리고 자동 생성해야 할 Node등을 분류한다. 그 후에 OPC UA Generator을 통해 Centralized OPC UA Server Address Space에 기존 Address Space구조에 새로 추가 변경되는 Address Space를 추가 변경한다. 또한 OPC UA Client에도 같은 작업을 통해 Shop Field의 OPC UA Server와 데이터 교환이 가능한 Address Space 및 서버 접속 정보 등을 자동으로 생성 및 배치한다. CPPS Node Generator는 그림 5와 같이 OPC UA Method Node를 통해 CPPS Logic Control에 CPPS Logic 펑션을 등록하고 매핑힌다.

OTNBBE_2019_v19n3_73_f0005.png 이미지

그림 5. OPC_CPPS Node Generator의 세부 작동 내역 및 자동생성의 원리

Fig. 5. OPC_CPPS Node Generator Details and Principles of Automatic Creation

OPC UA Modeling을 통해서 모든 공장 토플리지를 구조화 및 정보화 할 수 있으며 이를 통해 동적으로 중단 없이 자동으로 OPC UA Node와 CPPS Node를 추가할 수 있다. 또한 로직 처리도 자동으로 추가된다. 공장의 고유한 공정프로세스 로직은 Product Process Control에 의해서 다양하고 고유한 로직 처리가 가능하며, 이것 또한 OPC UA Attribute Node에 의해서 자동으로 배치되어 진다.

Ⅳ. CPPS 아키텍처의 구현 및 성능 평가

1. 환경 설정

본 논문의 구현에서는 OPC UA Foundation에서 제공하는 SDK와 C# 언어를 사용하여 Centralized OPC UA Server를 구현하고 CPPS 관련 프로그램도 C# 언어로 구현했다. 공장 현장의 OPC UA Server는 Kepware사의 상용 OPC UA Server 제품을 사용했다. 자동차 피스톤을 만드는 공장의 실제 라인에 배치된 공작기계와 로봇 및 센서를 모델링하여 OPC UA Model을 만들었으며 이를 통해 데이터를 수집하는 실제 환경을 구축하여 테스트 하였다. 이 기종 프로토콜의 데이터를 OPC UA로 변환하여 데이터를 CPPS서버에서 수집하는데 성공하였다. 하지만 본 연구에서 제시된 CPPS 아키텍처를 모두 구현하는 것은 어려움이 있어 데이터 수집 및 OPC UA Node에서 CPPS Node로 데이터를 전송하는데 집중하여 구현하고 테스트 하였다. 또한 현장에서 데이터 측정을 하기가 어렵고 실제 작동되는 기계 데이터에 성능 테스트 직접 할 수 없어 데이터 수집 정확도와 데이터 전달 속도 테스트는 실험실에서 데이터를 수집하고 측정하였다.

OPC UA 서버 및 클라이언트 기능은 C# 스택을 사용하여 구현된 OPC UA Foundation에서 제공된 라이브러리와 자체 제작된 라이브러리가 통합되어 있다. OPC UA 라이브러리는 현장 데이터 수집용 OPC UA Server 객체에 대한 액세스를 포함한다. 동시에 이 OPC UA 라이브러리는 자동화 런타임에 통합되었다. 이러한 방식으로 서버 및 클라이언트 기능이 동일한 런타임에 포함될 수 있다.

표 1. 데이터 수집용 산업용 컴퓨터 사양 및 용도

Table 1. Industrial Computer Specification and Application for Data Collection

OTNBBE_2019_v19n3_73_t0001.png 이미지

표 2. CPPS 서버 사양 및 용도

Table 2. CPPS Server Specifications and Application for Data Collection

OTNBBE_2019_v19n3_73_t0002.png 이미지

2. 실제 물리 공장에서의 CPPS 구성

한국의 안산에 위치한 자동차 부품 업체인 D피스톤이라는 회사는 50여대의 공작기계와 50여대의 로봇으로 자동화 자동 생산 공정 라인을 가지고 있다. 이 회사의 한 개 라인인 1대의 공작기계와 1대의 로봇, 1개의 컨베이어 벨트를 모델링하여 물리적 공장을 모델링 하였다.

Centralized OPC UA 서버는 내부에 포함된 OPC UA Client에 의해 공장 현장 데이터에 액세스 할 수 있다. 공장 현장의 OPC-UA 서버는 현장 수집용 산업용 컴퓨터 있고, 로봇은 컨트롤 컴퓨터 내에 소프트웨어로 탑재된다. 파낙 컨트롤러는 CNC의 I/O에 직접 액세스한다.

Centralized OPC UA Server는 각각의 머신을 제어하고 이는 분산되어진 공장 현장 OPC UA 서버를 통합한다. 이 CPPS의 연결 기능은 다른 OPC UA Server 및 OPC UA 클라이언트에 대한 모니터링 및 제어를 위한 프로세스 데이터에 대한 액세스를 제공한다. 현장 설비는 OPC UA 모델링 기준에 맞추어 XML로 모델링되어진다. 현장 테스트에서는 기계와 연결된 산업용 컴퓨터에서 데이터를 전송받아 OPC UA 프로토콜로 변환해 중앙의 CPPS Server로 데이터를 교환하는데 성공했다.

3. 실험실 환경에서 CPPS Architecture 구현과 성능테스트

실험실 환경에서는 현장에서 사용되었던 산업용컴퓨터에 Modbus 에뮬레이터를 임베디드하여 주기적으로 데이터를 발생시킨다. CPPS 서버에서는 모든 데이터를 실시간으로 수집한다. 본 테스트에서는 데이터의 정확성과 전달 속도를 테스트 한다.

그림 6은 실험실 환경에서의 성능 테스트 구성도이다. 산업용 컴퓨터에서는 Modbus 프로토콜로 데이터를 발생시킨다. 임베디드 된 Translator는 OPC UA 프로토콜로 변경시켜 CPPS의 OPC UA Client 모듈로 데이터를 전송한다.

OTNBBE_2019_v19n3_73_f0006.png 이미지

그림 6. 실험실 성능 테스트 구성도

Fig. 6. Laboratory Performance Test Schematic

첫 번째 성능 테스트는 데이터 수신 정확도를 테스트한다. 정확도 테스트는 Modbus 에뮬레이터에서 전달된 데이터의 개수가 CPPS서버에 도착한 개수를 비교하여 테스트 한다. 발신 데이터는 1,000개 이다.

Modbus 에뮬레이터 발행값과 서버 수신 값을 엑셀로 옮겨 Countif 함수를 이용하여 비교 분석 하였다. 1,000개의 데이터가 모두 동일하게 수집된 것이 확인된다.

두 번째는 데이터 전달 속도에 관한 테스트이다. 산업용 컴퓨터의 Modbus 데이터 로 10개의 데이터를 발행하고 10회 평균이 0.1초 이내 인지를 확인한다. 이런 테스트를 총 10회 실시하여 100건의 데이터의 전송속도 구한다.

그림 7은 Modbus Simulator의 데이터 발행 10개 리스트이고 그림 8은 서버에서 수신한 데이터의 전송시간(시작, 종료, 걸린 시간) 이다.

OTNBBE_2019_v19n3_73_f0007.png 이미지

그림 7. Modbus Simulator의 데이터 발행 10개 리스트

Fig. 7. List of 10 data issues in the Modbus Simulator

OTNBBE_2019_v19n3_73_f0008.png 이미지

그림 8. 데이터 및 전송시간 확인

Fig. 8. Check data and transfer time

그림 9는 수집 리스트를 챠트로 표현한 것이다. 위 챠트에서 보면 전체적으로는 균일한 속도를 보였다. 전체 평균 속도는 9.323465ms 로 0.1안에 도달하는 속도를 보였으나 일부 Topic에서 0.1를 넘어가는 경우도 많이 있었다. 회당 속도를 분석해 보면 Topic 1번이 전체적으로 항상 짧은 도달 시간을 가지는데 비해 뒤로 갈수록 속도가 높아지고 있다. 서버의 CPU 사용률이나 네트워크 부하는 성능에 비해 변화가 거의 없는 것으로 이는 산업용 컴퓨터의 성능에 의한 것이며, 프로토콜 번역의 버퍼에서의 지연으로 추정된다. 더 많은 토픽을 테스트하면 산업용 컴퓨터에서 지연되는 시간이 커지는 것이 확인되었다. 이는 프로토콜 번역 프로그램을 더 세밀하게 프로그래밍 할 필요가 보인다.

OTNBBE_2019_v19n3_73_f0009.png 이미지

그림 9. 데이터 전송시간 10회 데이터 챠트

Fig. 9. Data transfer time chart 10 times

본 아키텍처에서는 일반적인 OPC UA Server/Client 간의 통신으로 끝나는 것이 아니라 공장 현장의 분산된 OUA Server로부터 CPPS의 내부의 OPC UA Client까지의 1번의 전송과 CPPS 내부에서 중앙의 OPC UA Server의 Address Space까지 내부적으로 한 번의 통신이 더 포함되어 있다. 물론 한 서버에 내에서의 전송이라 할지라도 속도의 손실을 우려할 수 있었으나, 테스트 결과 평균 9.323465 m/s의 속도를 보였다. 이는 일반적인 OPC UA의 통신 속도와 큰 차이가 없는 바 본 아키텍처의 통신 속도 성능도 일반적인 OPC UA 통신속도와 거의 동일하다는 것을 의미한다. 이번 테스트로 중앙 OPC UA 기반의 CPPS의 데이터 변환 및 전송에서의 테스트만 진행되었으나, 산업현장 테스트와 실험실 테스트 데이터를 통해 산업현장에 충분히 적용 될 수 있는 성능을 확인했다.

Ⅴ. 결론

본 논문에서 Centralized OPC UA CPPS 아키텍처 사용하면 시스템 재설계나 프로그램의 변경이나 다운타임없이 OPC UA Modeling 만으로 CPPS를 구성하고 연속적인 시스템 운영이 가능해진다. 또한 공장 현장의 분산되어 있는 OPC UA Server 정보를 Centralized OPC UA Server에서 통합된 Address Space를 통해 데이터를 실시간으로 관리함으로써 수평적 데이터 분배 및 교환 작업의 효율성이 증대되고, 작업 시간과 비용이 크게 절감되며, 데이터 손실, 시스템의 성능 저하, 실시간 처리 지연 등의 문제들을 해결할 수 있고, 국제 표준적인 OPC UA Spec을 수용함으로써 수많은 설비, 기계, 로봇 제품들을 단일한 하나의 프로토콜로 모두 수용할 수 있게 하였다. 이는 지속적인 확장 및 축소 등의 공장의 다양한 변화에도 기존 시스템의 추가 변경 없이 OP UA Spec을 준수하는 설비 선택 및 시스템을 선택함으로써 투명하고 표준적인 시스템 구축이 가능해지고 시스템과 프로토콜의 문제로 비싼 설비를 선택하지 않아도 됨으로 스마트팩토리 구축비용에 획기적인 절감을 가져올 수 있다. 현장 테스트를 통해서 실제 사용되는 기계와 로봇의 데이터를 OPC UA 로서 수집하는데 성공하였고, 실험실 데이터 전달 테스트를 통해 전달 정확도와 전달속도가 검증되었으나 전체적인 CPPS의 성능을 테스트하기에는 부족하였다. 향후 연구는 나머지 CPPS 부분을 구현하여 통합된 상태에서의 기능과 성능 테스트를 할 수 있도록 하겠다.

참고문헌

  1. P. Leitao, S. Karnouskos, L. Ribeiro, J. Lee, T.Strasser, and A. W. Colombo, "Smart agents in industrial cyber-physical systems," Proc. IEEE, vol. 104, no. 5, pp. 1086-1101, May 2016. DOI: https://doi.org/10.1109/JPROC.2016.2521931
  2. L. Monostori, "Cyber-physical production systems: Roots, expectations and R&D challenges," Procedia CIRP, vol. 17, pp. 9-13, 2014. DOI: https://doi.org/10.1016/j.procir.2014.03.115
  3. F. Perez, E. Irisarri, D. Orive, M. Marcos, and E. Estevez, "A CPPS Architecture approach for Industry 4.0," IEEE Int. Conf. Emerg. Technol. Fact. Autom. ETFA, vol. 2015-Octob, 2015. DOI: https://doi.org/10.1109/ETFA.2015.7301606
  4. OPC Unified Architecture - Part 1: Overview and Concepts, IEC 62541-1, Oct. 2016
  5. Derhamy, Hasan, Ronnholm, Jesper, Delsing, Jerker, Eliasson, Jens, van Deventer, Jan "Protocol interoperability of OPC UA in service oriented architectures," 2017 IEEE 15th International Conference on Industrial Informatics (INDIN) Industrial Informatics (INDIN), 2017 IEEE 15th International Conference on. :44-50 Jul, 2017 DOI: https://doi.org/10.1109/INDIN.2017.8104744
  6. Rohjans, S., Piech, K., Lehnhoff, S., "UML-based modeling of OPC UA address spaces for power systems," 2013 IEEE International Workshop on Inteligent Energy Systems (IWIES) Intelligent Energy Systems (IWIES), 2013 IEEE International Workshop on. :209-214 Nov, 2013 DOI: https://doi.org/10.1109/IWIES.2013.6698587
  7. Fernbach, A., Kastner, W., Matzler, S., Wollschlaeger, M. "An OPC UA information model for cross-domain vertical integration in automation systems," Proceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA) Emerging Technology and Factory Automation (ETFA), 2014 IEEE. :1-8 Sep, 2014 DOI: https://doi.org/10.1109/ETFA.2014.7005215
  8. Suhawan Jang, Jongpil Jung, "Design and Implementation of OpenCV-based Inventory Management System to build Small and Medium Enterprise Smart Factory," The Journal of The Institute of Internet, Broadcasting and Communication(JIIBC), VOL. 19 NO. 1, Feb 2019 pp.161 - 170 DOI: https://doi.org/10.7236/JIIBC.2019.19.1.161
  9. Lu Huiming, Yan Zhifeng, "Research on key technology of the address space for OPC UA Server, "2010 2nd International Conference on Advanced Computer Control Advanced Computer Control (ICACC), 2010 2nd International Conference on. 3:278-281 Mar, 2010 DOI: https://doi.org/10.1109/ICACC.2010.5486620
  10. W. Kang, K. Kapitanova, and S. Son, "RDDS: A real-time data distribution service for cyber-physical systems," IEEE Trans. Ind. Informatics, vol. 8, no. 2, pp. 393-405, 2012. DOI: https://doi.org/10.1109/ICACC.2010.5486620
  11. Shim, Jae-Yoon, Lee, June-Kyoung, "Convergence Security Technology of OPC-UA Protocol Gateway based on DPI & Self-Similarity for Smart Factory Network," Journal of the Korea Academia-Industrial cooperation Society(JKAIS), Vol. 26, No. 25, pp. 1305-1311, 2016. DOI: https://doi.org/10.13089/JKIISC.2016.26.5.1305
  12. W. Chen, A. Alan, F. Saldivar, Y. Li, W. Chen, Z. Zhan, J. Zhang, and L. Y. Chen, "Industry 4.0 with Cyber-Physical Integration : A Design and Manufacture Perspective Industry 4 . 0 with Cyber-Physical Integration : A Design and Manufacture Perspective," no. October, pp. 11-12, 2015. DOI: https://doi.org/10.1109/IConAC.2015.7313954