티스토리 뷰



[LabVIEW] 랩뷰와 PLC와 연동하기 (OPC Server, DSC 모듈)


NI LabVIEW 소프트웨어는 다양한 방식으로 다른 프로그래밍 로직 컨트롤러 (PLC)와 통신할 수 있습니다. OPC (OLE for Process Control)은 컨트롤 디바이스와 휴먼 머신 인터페이스 (HMI)간 리얼타임 플랜트 데이터 통신을 위한 표준을 정의합니다. OPC Server는 거의 모든 PLC와 프로그래밍 가능한 자동화 컨트롤러 (PAC)에서 사용이 가능합니다.


이 글에서는 OPC를 사용하여 PLC와 연동하는 방법에 대해서 알아보도록 하겠습니다. PLC와 통신을 위해서는 NI 소프트웨어 입장에서 아래의 소프트웨어들이 필요합니다.


  • NI LabVIEW
  • NI DSC Module(Data Logging and Supervisory Control)
  • NI OPC Server
  • Windows 7/Vista/XP


1. OPC 서버를 이용하여 PLC 태그 확인하기


OPC 서버는 PLC와 LabVIEW를 연결해주는 중간 서버역할을 하게 됩니다. 따라서 LabVIEW를 통해서 PLC 값을 받기위해서는 OPC 서버에 PLC에 대한 설정이 필요합니다. 설정하는 방법은 PLC 장비에 따라서 달라지기 때문에 NI OPC Server Help 파일을 통해서 확인해야 합니다. 


NI OPC Servers에 대한 Help 파일을 열면 아래 그림처럼 왼쪽 목차에 각 장비에 대한 내용이 있습니다. 이 부분을 더블클릭하시면 각 장비에 대한 설정 방법이 나와있습니다. 



이 글에서는 OPC Server에서 제공하는 기본적인 Simulation 데이터를 활용하여 LabVIEW와 연동하는 방법에 대해서 알아보도록 하겠습니다. 


서버에 있는 데이터를 확인하기 위해서는 윈도우에서 OPC Server를 실행하시고, 아래의 그림처럼 Configuration(다음 경로를 이용할 수도 있습니다. 시작>>프로그램>>National Instruments>>NI OPC Servers 해당 버전>>NI OPC Servers Configuration)을 누릅니다. 

 


위의 버튼을 누르게 되면 Simulation Example이라는 보입니다. 아래의 그림처럼 예제가 보이지 않는다면 File-Open을 누른뒤 다음 경로의 파일을 읽어옵니다. (C:\Program Files\National Instruments\Shared\NI OPC Servers\V5\Projects\simdemo.opf)


OPC의 태그들을 확인해보겠습니다. Ramp1부터 시작하여 user4까지 설정된 값을 볼 수 있습니다. 이 페이지에서는 Ramp1~4의 데이터를 가져오는 방법을 확인해 보겠습니다. 



2. LabVIEW에서 OPC 서버 값을 가져오기


이 섹션에서는 LabVIEW를 통해서 OPC 서버의 값을 가져오는 방법을 알아보도록 하겠습니다. 먼저 프로젝트를 생성합니다. 


1) 프로젝트내의 내 컴퓨터에서 오른쪽 마우스 버튼을 눌러 I/O 서버를 엽니다. 


OPC 서버의 데이터를 읽어 오기 위해서는 I/O서버가 필요합니다. 아래의 그림을 통해서 확인을 할 수 있지만 OPC Foundation OPC-DA 프로토콜(MS COM  기반 표준)을 통해서 OPC 서버에 접근을 하기 위해서는 IO 서버가 필요합니다.  IO 서버는 PC에서 접근이 가능한 OPC 서버의 목록들을 볼 수 있고, 원격 OPC 서버에 접속하기 위해서는 각각의 IO 서버를 만들어서 접속을 하게 됩니다. 



IO 서버의 역할은 LabVIEW의 공유 변수와 OPC Server의 OPC Tag를 연결하여 OPC Tag의 값을 공유 변수에 전달하거나, 반대로 전달 받는 기능을 하게 됩니다. IO 서버가 DSC 모듈에 포함이 되어 있기 때문에 PLC와 데이터를 받기 위해서는 DSC 모듈이 필수적으로 필요합니다. 



2) I/O 서버의 타입을 OPC와 연동을 위해서 OPC Clinet로 만듭니다.



3) OPC Client IO Server에 대한 서버를 선택해야 합니다. 


예제를 위해서는 National Instruments.NIOPCServers.V5를 선택합니다. 예제가 아니라면 관련 장비를 선택해야 합니다. 



4) 위의 과정을 거치게 되면 라이브러리가 만들어집니다. 라이브러리에 OPC1이라는 OPC 서버 IO가 만들어진것을 확인할 수 있습니다. OPC Tag와 LabVIEW에서 읽을 공유변수를 연동시키기 위해서 연결변수 생성을 누릅니다. 



5) 연결 변수 생성 창이 뜨게 되면 OPC1에는 위에서 설정한 OPC Server에서 읽을 수 있는 데이터를 보여줍니다. 



Simulation 데이터로 들어가서 Ramp1 ~ 4까지를 선택하여 추가합니다. 



6) 변수를 추가하게 되면 LabVIEW 코드상에서 공유 변수를 드래그 앤 드랍할 수 있습니다. 변수를 가져와서 아래와 같이 코딩을 합니다. 

7) 코드를 실행합니다. Ramp들의 값을 잘 가져오는것을 확인할 수 있습니다. 


 

이 글에서는 OPC 서버에 있는 Tag에 접근하는 방법과 이를 가지고 와서 LabVIEW와 연동하는 방법을 알아보았습니다.


이 글이 도움이 되셨나요?

그렇다면 아래의 그림을 클릭해주세요.


댓글