[쉽고 간단한 안내서] TwinCAT 3에서 OPC UA 통신하기

 

Beckhoff에서는 다양한 통신 시스템을 제공하고 있습니다. 그 중 OPC UA는 제조업체나 플랫폼의 제약없이 머신 데이터를 교환할 수 있는, 세계적으로 표준화되어 있는 통신 프로토콜입니다. 이번 안내서에는 자동화 산업에서 많이 사용하는 OPC UA TwinCAT 3에서 어떻게 사용하는지에 대해 다루고 있습니다.

 

Beckhoff에서는 TwinCAT을 여러가지 통신 방법을 이용해서 데이터를 주고받을 수 있도록 지원하고 있습니다. 다양한 통신 방법 중 OPC UA(OPC Unified Architecture)는 우리가 흔히 알고 있는 OPC 표준의 차세대 버전입니다. OPC UA는 제조업체나 플랫폼의 제약없이 머신 데이터(machine data)를 교환할 수 있는, 세계적으로 표준화되어 있는 통신 프로토콜입니다. OPC UA는 공통 보안 표준을 프로토콜에 직접 통합하고 있으며, COM/DCOM 시스템과 독립적이라는 이점을 갖고 있습니다. OPC 통신과 관련된 자세한 사항은 OPC Foundation [링크]에서 확인하실 수 있습니다.



이번 안내서에서는 TwinCAT 3에서 OPC UA를 어떻게 사용할 수 있는지 살펴보고자 합니다.


TwinCATOPC UA

구성요소

Beckhoff에서는 TwinCAT을 이용하여 OPC UA를 사용할 수 있도록 여러 구성 요소를 제공하고 있습니다. 여기에는 OPC UA의 서버와 클라이언트를 포함하여 Gateway 등을 포함하고 있습니다. 또한 간단하게 OPC UA 통신을 할 수 있도록 GUI 툴도 제공하고 있습니다.




 

TwinCAT에서 OPC UA 시나리오

TwinCAT에서 OPC UA 통신을 어떻게 설정하는지 방법을 살펴보기 전에, TwinCATOPC UA를 이용한 어플리케이션 사례 및 인프라에 따라 구성요소를 이용하여 시스템을 구현하고 사용할 수 있는 시나리오 3개를 먼저 보겠습니다.

1.     OPC UA 서버가 산업용 PC 혹은 임베디드 PC에 통합되어 있는 형태

2.     OPC UA 서버가 원격으로 TwinCAT 런타임에 연결되어 있는 중앙 컴퓨터에서 실행되는 형태

3.     OPC UA 서버를 BC 시리즈 컨트롤러에 접근해야 하는 형태

 

첫번째 시나리오 – OPC UA 서버가 산업용 PC 혹은 임베디드 PC에 통합되어 있는 형태

첫번째 시나리오는 일반적인 상황에서 TwinCAT OPC UA 서버를 사용하는 방법에 대해 소개합니다. TwinCAT OPC UA 서버의 가장 큰 장점은 CX8000 시리즈와 같이 소형 임베디드 PC 제품과 사용할 수 있다는 점입니다. 이런 것처럼 취급이 매우 간단하고 편리합니다. HMI 또는 MES/ERP 시스템과 같은 OPC UA 클라이언트는 OPC UA 서버와 연결해서 TwinCAT 런타임의 심볼 정보를 읽거나 쓸 수 있게 됩니다.




그림에 대해서 보게 되면, 중앙 서버는 타사의 OPC UA 클라이언트, HMI. MES, ERP 시스템이 있을 수 있습니다. 중앙 서버와 연결되는 산업용 PC나 임베디드 PC에서는 TwinCAT 런타임이구동하며, TwinCAT PLC의 첫번째 로컬 런타임과 자동으로 연결을 하게 됩니다.

이런 방식으로 시스템을 구성하게 되면 OPC UA 등록과 같은 부분을 OPC UA 통신을 기반으로 하기 때문에 네트워크 사용량이 최적화됩니다. 또한 메모리 사용량이 분산되며, OPC UA 프로토콜에 적합한 보안 메커니즘을 갖게 됩니다.

 

두번째 시나리오 – OPC UA 서버가 원격으로 TwinCAT 런타임에 연결되어 있는 중앙 컴퓨터에서 실행되는 형태

이 시나리오에서는 기존 OPC 서버의 구현을 설명하고 있습니다. OPC A 기술을 사용하는 서버들은 DCOM 기술을 피하기 위해 TwinCAT 런타임이 실행되는 산업용 PC 대신, 중앙 서버에 OPC UA가 구현되는 경우가 많았습니다.

 


마찬가지로 그림을 보게 되면, 중앙 서버에서는 ADS 연결을 위해 TwinCAT이 구동되며 OPC UA 클라이언트, HMI, MES, ERP 시스템이 있습니다. 중앙 서버와 연결되는 산업용 PC나 임베디드 PCTwinCAT 런타임이 설치가 되어 있으며 OPC UA는 설치되지 않습니다. 이 때 중앙 서버로의 통신은 TwinCAT 내부 통신인 ADS 통신을 이용하여 진행하게 됩니다.

이런 방식은 OPC UA 서버에서 모든 TwinCAT 런타임에 대한 심볼 정보를 가져와야 하기 때문에 중앙 서버의 메모리 요구 사항이 높습니다. 또한 네트워크 사용량이 높을 수 있습니다.

 

세번째 시나리오 – OPC UA 서버를 BC 시리즈 컨트롤러에 접근해야 하는 형태

BC 컨트롤러들이 자체적으로 OPC UA 서버를 실행할 수는 없습니다. 그렇지만 BC9191과 같은 원격 BC 컨트롤러에서 TwinCAT PLC 런타임에 접근할 수 있으므로, OPC UA를 통해 심볼을 접근할 수 있게 됩니다. 이런 시나리오에서는 OPC UA 서버가 다른 컴퓨터의 TwinCAT ADS와 함께 진행되어야 하며, 기본적으로는 시나리오 2와 동일한 방식으로 구성되어야 합니다.

 

이런 시나리오까지 살펴보았으므로, 이제 TwinCAT 3에서 OPC UA를 이용하여 어떻게 통신을 할 수 있는지를 보도록 하겠습니다.

 

TwinCAT 3에서 OPC UA 통신하기

TwinCAT 3에서 OPC UA 통신을 하기 위해서는 TF6100 구성요소의 설치를 필요로 합니다. 위에서 살펴본 OPC UA Server, Client, Configurator, GatewayBeckhoff 공식 홈페이지[링크]에서 다운로드 한 후 설치를 할 수 있습니다. 설치하기 전에, OPC UA 구성 요소의 시스템 요구사항을 확인[링크]하는 것이 좋습니다.



TwinCAT OPC UA를 사용하기 전에는 TF6100 라이선스를 활성화해야 합니다. 만약 라이선스를 구매하지 않은 상태일 경우에는 7 Days Trial License를 이용하여 체험판 버전을 이용할 수도 있습니다.

 

Beckhoff Infosys 홈페이지에서는 OPC UA의 서버와 클라이언트를 보다 쉽게 사용하고 테스트할 수 있도록 Quick Start 등을 제공하고 있습니다. 이번 안내서에서는 각 구성요소를 실제로 사용해 본 내용 위주로 소개하겠습니다.

 

OPC UA Server

TwinCAT OPC UA 서버는 TwinCAT 런타임에서 심볼 값에 접근하기 위한 표준 통신 인터페이스를 제공합니다. 이를 통해서 타사 소프트웨어의 통합을 보다 용이하게 하여, 변수 값을 쉽게 읽고 쓰도록 합니다.

 

OPC UA 서버의 설치를 완료했다면, TwinCAT 3 PLC를 이용하여 OPC UA를 이용해 접근할 변수를 하나 생성합니다. 이 때 attribute(속성)을 이용하여 OPC UA 네임스페이스 관련 사항을 함께 설정할 수 있습니다.



기본적으로 TwinCAT OPC UA 서버는 로컬 시스템의 첫번째 PLC 런타임과 연결을 하며, 해당 심볼 파일을 사용하여 네임스페이스를 구축합니다. 심볼 파일을 사용하려면, TwinCAT 3 PLC에서 TMC 파일 부분을 체크해야 합니다.




이 후에는 TwinCAT 프로젝트를 Activate를 하여 프로젝트를 활성화합니다. PLC 런타임에도 로그인하고 PLC 프로그램 또한 실행합니다. 라이선스가 정상적으로 적용되어 있다면, OPC UA 클라이언트가 OPC UA 서버의 URL(: opc.tcp://CX-12345:4840 또는 opc.tcp://192.168.1.1:4840)로 연결할 수 있게 됩니다.

 

TwinCAT OPC UA 서버를 간단하게 확인하기 위해서는 TwinCAT에서 제공하는 Sample Client를 사용하면 됩니다. Sample ClientTwinCAT OPC UA 버전 1.6.80부터 자동으로 설치됩니다. 이 프로그램을 이용하여 OPC UA 네임스페이스를 탐색하고 서버 연결 등을 간단하게 테스트할 수 있습니다.



참고로 TwinCAT 3 OPC UA(TF6100) 4.4.0 버전 이상의 서버를 사용하기 위해서는 서버 초기화 단계가 필요로 합니다. 지정된 서버 URL에 접속하기 전에 TOFU(Trust On First Use) 원칙에 따라서 초기화를 진행해야 하며, 이 과정을 거쳐야 서버에 성공적으로 로그인할 수 있게 됩니다. TOFU 설정은 TwinCAT OPC UA Configurator에서 간단하게 설정할 수 있습니다.

 

OPC UA Configurator

TwinCAT OPC UA Configurator OPC UA 서버 구성 파일을 편집할 수 있도록 하는 GUI 툴입니다. ConfiguratorVisual Studio에 통합하여 프로젝트 형태로 사용할 수도 있고, 별도의 프로그램(Standalnoe) 형태로도 사용할 수 있습니다.

 

우선 Visual Studio에 통합된 형태를 보면, 일관된 엔지니어링을 할 수 있도록 별도의 프로젝트를 생성하여 사용할 수 있게 됩니다. Server Configurator이므로, OPC UA 서버 전체적인 부분을 구성할 수 있게 되며 이를 이용하여 Team Foundation 서버와 같은 소스 제어 메커니즘도 사용할 수 있습니다.

 

간단하게 Connectivity Project를 만들고 툴 바에서 OPC UA 연결을 한 모습을 아래 그림을 통해 확인할 수 있습니다.  



별도의 프로그램(Standalnoe) 형태로도 OPC UA 서버를 구성할 수 있습니다. GUI 툴 자체가 직관적으로 되어 있으므로, 큰 어려움없이 사용할 수 있습니다.


 

OPC UA Client

TwinCAT OPC UA Client I/O 드라이버와 통합되어, TwinCAT I/O 구성을 통해 사용할 수 있습니다. 이를 통해 원격 서버에 대한 OPC UA 연결을 하기 위한 엔지니어링 시간을 단축할 수 있으며 쉽고 간단하게 이용할 수 있게 제공하고 있습니다.



OPC UA Gateway

TwinCAT OPC UA GatewayTF6100 소프트웨어 관련 구성요소 중에 가장 최근에 추가된 제품입니다. TwinCAT OPC UA 서버에 오래된 OPC CAM DA 어플리케이션을 연결하기 위한 OPC DA 인터페이스를 포함하고 있으며, 기본적인 TwinCAT OPC UA 서버를 중앙 OPC 서버로 변환하기 위한 OPC UA 인터페이스도 제공합니다.



TwinCAT OPC UA Gateway는 별도로 다운로드 할 수 있습니다. 기본적으로 Gateway와 같은 컴퓨터에서 실행되는 TwinCAT OPC UA 서버에 대한 접근은 자동으로 구성합니다. 만약 둘 이상의 OPC UA 서버가 Gateway에 추가되거나, 다른 시스템에서 서버가 실행되는 경우에는 표준 구성을 해야 합니다. 이런 구성은 Configurator를 이용하여 할 수 있습니다.

 

OPC COM DA 클라이언트를 Gateway에 아래 그림과 같이 연결할 수 있습니다.



혹은 OPC UA ServerURL을 이용하여 접근할 수도 있습니다.




 

OPC UA PLC 프로그램

PLC API를 이용하여 OPC UA 프로그램을 작성할 수 있습니다. TwinCAT 3에서 OPC UA에 대한 Function Block 등을 이용하기 위해서는 Tc3_PLCopen_OpcUa 라이브러리의 추가가 필요합니다. Beckhoff에서는 OPC UA에 대한 샘플 프로그램[링크]을 제공하고 있습니다.

 

 

마치며

제조업체마다 다르게 구성되어 있는 변수 목록이 아니라, 구체적인 머신 데이터에 접근하기 위해 OPC UA를 고려할 수 있습니다. 또한 생산 수준에서 생산 계획, ERP 시스템을 구축할 때 안전하게 데이터 전송을 하기 위해 OPC UA를 선택할 수 있습니다. Beckhoff에서는 OPC UA에 대한 포괄적이고 범용 가능한 기능을 제공하고 있습니다.

 

OPC UA를 사용한 Beckhoff 제품들은 산업용 PC 진단 옵션부터 TwinCAT에 대한 Real-time 접근, TwinCAT HMI 시각화 시스템, 클라우드 연결까지 자동화 프로젝트에서 OPC UA를 다양하게 활용할 수 있습니다.

  

 

위 내용에 대해 심화 내용이 필요하신 경우, 해당 내용을 댓글로 적어 주시면 다음 연재 시 반영하도록 하겠습니다.

 

문의사항은 아래 연락처로 연락 부탁드립니다.

전화 : 02-2107-3242 (대표전화, 내선번호 1: 영업, 내선번호 2: 마케팅, 내선번호 3: 기술)

홈페이지 : https://www.beckhoff.com/kr/

제품문의 : Info-KR@beckhoff.com

기술문의 : support-kr@beckhoff.com

 

참고자료

Beckhoff OPC UA [링크]

TF6100 | TwinCAT 3 OPC UA [링크]

OPC UA Webinars [링크]

2022.12.22

Beckhoff Korea / Lisa Kim 

 

본 문서의 무단전재 및 재배포를 금지합니다

본 문서는 공식 매뉴얼이 아닌, 교육용 참고자료임을 명시합니다

댓글

이 블로그의 인기 게시물

[IPC 메뉴얼] BECKHOFF PC 기본 설정 방법

트라이텍, EtherCAT과 DeviceNet [월간CONTROL 2013/11]

[쉽고 간단한 안내서] TwinCAT PLC HMI와 TwinCAT HMI