[SoftWare] OPC UA : Open Platform Communications Unified Architecture

By 2018년 6월 26일 Software, OPC 2 Comments

요즘 제가 배우는 것 중 하나인 OPC UA에 대해 한 번 포스팅 해보려고 합니다. OPC UA를 아시는 분 보다 모르는 분이 많을 거라 생각되는 기술입니다. 바로 OPC UA는 이더넷 통신의 프로토콜 기술 입니다. 장비 업종에 종사하시는 분이라면, 이더넷 통신에 대해서는 많이들 아실텐데요. 그러면, OPC UA에 대해 알기 전에 관련된 것들을 알아보도록 하겠습니다.

먼저, 프로토콜이란 것은 무엇일까요? 많이들 아시겠지만 간단히 설명하자면, A 와 B의 플랫폼이 다르더라도 서로의 규약을 동일하게 만들어 통신할 수 있도록 하는 것입니다. 규약이라는 것 안에는 많은 것들이 들어 있습니다. 예를 들어, ‘ㄱ’ 이라는 문자의 값이 몇인지, 받는곳의 주소라던가 일상적인 사람들이 우체국을 이용하는 규칙과 비슷하다고 생각하면 됩니다. 그리하여 A와 B가 서로 통신할 수 있도록 해주는 기능입니다.

두번째로는 물리적인 통신을 알아보겠습니다. 케이블의 역사를 보게 되면 케이블을 보완하기 위해 많은 노력을 해왔습니다. 그 이유는 전기신호를 통해 전달되는 데이터의 신뢰성을 높이기 위해 밑의 그림과 같이 선들을 꼬아놓거나, 노이즈를 줄이기 위해 전기선 위에 커버를 씌워 전도율을 높이는 방식 등이 현대까지 발전해 온 케이블입니다.

마지막으로 이더넷이란 무엇일까요? 산업용 통신을 할 때 시리얼 통신과 이더넷 통신이란 것이 있습니다. 케이블을 연결하여 통신을 하는데 시리얼 통신의 경우, 연결 선만 꽂아놓으면 통신이 될 수 있는 정도 입니다. 하지만 단점으로 선의 길이가 짧고 PPP 형식의 1대1 로만 통신이 가능하다는 점입니다. 그래서 보완한 것이 이더넷 통신으로 선의 길이도 더 길게 만들고 여러 대의 컴퓨터와 통신할 수 있게 만들었습니다. 그렇다면, 여러 대의 컴퓨터와 통신을 하게 될 때, 데이터의 양은 어떻게 될까요? n배의 만큼씩 많아질 것입니다. 그래서 필요한 것이 OPC UA라고 할 수 있습니다.

위에서  프로토콜은 무엇인지, 케이블은 어떻게 보완되어 왔는지 이더넷 통신에 대해 알았다면 이더넷 케이블로 통신하는데 있어 OPC UA가 왜 필요한지 자세히 알아보도록 하겠습니다. OPC UA는 통신간의 충돌을 예방하고, 데이터에 대한 신뢰성을 높여주며, S/W 제작시간을 단축해주며, 표준화 된 데이터 교환방식을 할 수 있게 해주는 등 많은 양의 데이터를 주고 받는 프로그램을 개발할 때 OPC UA가 하는 일은 정말 매력적입니다.  현대사회에서 쓰이는 자동화 기술들은 많은 양의 데이터들을 관리합니다.

예를 들어 농촌지에서 유행하는 ‘스마트 팜’ 이라는 기술을 사용하여 식물이 잘 자라날 수 있도록 기온,습도,기압과 같은 많은 데이터들을 입/출력하고 관리합니다. 그런데 이러한 부분을 여러 가지의 장치를 설치하는 것이 아닌 ‘스마트’라는 이름처럼 하나의 장비에 여러가지 기술들을 넣어 가격도 줄이고, HMI를 간단하게 하여 사용자가 쉽게 할 수 있도록 만드는 것입니다. 그러다 보니 많은 데이터들이 왔다갔다하는 부분에 있어 관리하기란 쉽지 않은 일입니다. 그렇기 때문에 나온 OPC UA는 데이터들에 있어 신뢰성을 가져다 줄 Management Protocol 입니다.

그렇다면 OPC UA가 어떤방식으로 활용되는지 알아보겠습니다.

<영상이 나오지 않는다면 새로고침을 해주세요.>

영상이 아쉽게도 영어로 되어 있어 보시기 불편하신 분들도 있지만 제가 설명한 것을 풀어놓은 내용입니다. 아직도 잘 이해가 안되시는 분은 밑의 글을 참조하시면 되겠습니다.

 


 

OPC Server를 사용한 예

위에 설명을 드린 바와 같이 “많은 양의 데이터를 관리 할 때 쓴다.” 라고 글로만 보셨을 때는 전혀 감이 잡히지 않으실 뿐더러 필요성을 못 느끼실 수 있을 것 같아 예를 들어 설명해보도록 하겠습니다. 저희 회사의 기술인 IronTool은 사용자가 이용하기 쉽도록 화면 구성부터 프로그램 기능 구현까지 하는 HMI개발사 입니다.



위 우측 사진을 보면 버튼부터 시작해서 그래프, 공백칸, 박스 등 여러 가지 종류의 태그들이 있습니다. 하지만 실제로 프로그램을 들여다보면 보이는 것뿐만이 아닌 Front 와 Back으로 나뉘어 있어 더 많은 데이터를 주고 받고 있고, 좌측사진을 보면 National Instrument에서 제공하는 Trend기능을 통해 각 아이템마다 데이터를 송수신하고 있습니다. IronTool에선 최대 10만개까지의 태그를 설정할 수 있는 HMI입니다. 위 사진의 총 태그가 수만개 정도가 되는데, 어떻게 문제없이 실행되고 있을까요? 이는 OPC UA서버를 이용하여 원활한 데이터 교환을 하기 때문입니다.

다시 본론으로 돌아가 예를 들어 보자면 OPC UA = 자동차, 이더넷 =  도로 라고 비유했을 때, 자동차가 달리기 위해 도로가 만들어져 있는데 그것이 비포장 도로인지, 고속도로인지 생각하고 OPC UA는 저렴한 차인지, 고급 스포츠카인지를 보시면 되겠습니다.  데이터가 고급스포츠카를 타고 고속도로를 타면 빠르고, 정확한 목적지까지 갈 수 있겠지만 그 반대의 상황이라면 목적지까지 가는데 많은 시간이 발생할 것입니다.

안타깝게도, 아직까지는 OPC UA가 많은 사람들이 모르며, 필요성 또한 잘 모릅니다. 그 이유로 저의 생각엔 3차에서 4차산업으로 넘어가는 시기이기 때문이라 생각됩니다. 예전에 폴더폰을 쓰던 시절에 쓸 수 있던 기능은 그렇게 많지 않았습니다. 하지만 스마트폰이 상용화되면서 어딜 가던 스마트폰이 없으면 불편한 시대입니다. 이처럼 약 10년전만 해도 몇가지의 정보만 있어도 되었지만, 지금은 수십수백의 정보가 필요한 시대입니다. OPC UA는 4차 산업시대에 많은 활약을 할 것입니다.

2 Comments

  • MKLEE 댓글:

    안녕하세요. 좋은 글 잘 읽었습니다.
    저는 SCADA/hMI 개발을 하고 있는데,
    혹시 OPC – UA 수강기관이나 책 추천 받을 수 있을까요?

    • mugabo 댓글:

      국내에서 OPC UA 관련 강좌가 개설된 곳은 아직 없는 것 같습니다.
      OPC Foundation에서 관련 세미나를 진행하니 홈페이지에 가입하셔서 일정을 확인해 보세요.

Leave a Reply