Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

핵융합연구센터 - NI-DAQmx와 NI-SCOPE를 이용한 MDSplus 드라이버 개발

  Print

Author(s):
서성헌 선임 연구원 - 핵융합연구센터 운영연구팀

Industry:
Energy/Power

Products:
LabWindows/CVI, PXI/CompactPCI, NI-DAQmx

The Challenge:
최신 디지타이저가 나올 때마다 디지타이저 조정을 위한 GUI 패널을 포함하여 새로 드라이버를 개발해야만 하는 것은 MDSplus와 같은 비상용 공개 소프트웨어의 큰 단점이다.

The Solution:
핵융합 실험과 같이 대형 장치를 제어하기 위한 분산 시스템 구축, 데이터 저장, 분석, 표시 등을 MDSplus 를 이용하여 시스템을 구성하였다.

"핵융합 실험과 같이 대형 장치를 제어하기 위한 분산 시스템 구축, 데이터 저장, 분석, 표시 등을 MDSplus 를 이용하여 시스템을 구성하였다. "

요약 :
MDSplus는 핵융합 연구, 특히 토카막과 같은 거대 실험장치에서 많은 수의 디지타이저를 통합 제어하고 데이터를 분석 및 저장하기 위해 개발된 소프트웨어이다. MDSplus의 디지타이저 드라이버를 NI-DAQmx와 NI-SCOPE를 기반으로 개발하여, NI의 모든 디지타이저를 MDSplus에서 제어할 수 있게 하였다.

개발 배경 :
1. 핵융합 연구 센터에서 가동하고 있는 한빛 자장 거울 장치는 국내 최대의 핵융합 실험 장치로서 여러 연구자들이 동시에 많은 수의 진단 장비에서 데이터를 얻고, 분석하고 저장하는 통합 제어 시스템을 요구한다. 이러한 목적을 위해 MDSplus가 미국과 이탈리아의 연구소에서 공동으로 1970년대에 개발되었고, 그 후로 세계의 많은 핵융합 실험실에서 널리 쓰여 오고 있다. MDSplus는 무료 소프트웨어로서 많은 핵융합 실험실에서 기술 도움을 얻을 수 있고, 실험 데이터를 서로 실시간으로 공유할 수 있는 등 핵융합 실험에 최적화 되어 있지만 최신 디지타이저를 이용하기 위해서는 MDSplus용 드라이버를 직접 제작하여야 한다.
핵융합 장치와 같은 거대 장치들은 십 수년의 수명을 갖는 장치이기 때문에 가장 늦게 핵융합 연구를 시작한 우리나라가 가장 최신의 디지타이저를 이용하여 데이터 수집 시스템을 구축하게 되었다. 한빛 장치는 MDSplus를 이용하여 기존의 CAMAC 디지타이저와 최근에 도입한 PXI 디지타이저를 같이 제어한다. 대부분의 CAMAC 디지타이저는 이미 MDSplus에서 지원하지만, PXI 디지타이저는 드라이버를 직접 개발해야 했다.

2. 최신 디지타이저가 나올 때마다 디지타이저 조정을 위한 GUI 패널을 포함하여 새로 드라이버를 개발해야만 하는 것은 MDSplus와 같은 비상용 공개 소프트웨어의 큰 단점이다. 디지타이저 회사들이 MDSplus와 같이 특수한 소프트웨어의 드라이버를 제공하지는 않아 신제품을 쓰기 위해서는 단순 사용자에서 개발자가 되어야 하기 때문이다. 이러한 맥락에서 NI-DAQmx와 NI-SCOPE와 같이 모든 디지타이저를 한 라이브러리를 이용하여 제어하는 NI의 노력은 매우 큰 장점을 갖는다. 예로써 NI-DAQmx와 NI-SCOPE 의 MDSplus 용 드라이버를 한번 개발하면 앞으로 출시될 NI의 모든 제품을 MDSplus에서 추가적인 프로그램 개발 없이 사용할 수 있기 때문이다.
또한, MAX를 이용하면 모든 디지타이저의 조정 및 시험을 GUI 환경에서 손쉽게 할 수 있다. 기존에는 채널 수 등 특성이 서로 다른 디지타이저들의 GUI 조정 패널을 JAVA를 이용하여 개발하고 MDSplus 드라이버에 포함해 주어야 했는데 이러한 기능이 NI-DAQmx에는 이미 포함되어 있다.

기존에는 한 제품을 독립적으로 쓰기 위한 솔루션들은 업체로부터 제공 받았지만, 핵융합 실험과 같이 대규모 장치를 통합적으로 제어하기 위해서는 MDSplus와 같은 별도의 소프트웨어를 직접 개발하여야 하였다. NI-DAQmx 와 MAX 개발 도구는 TAST라는 개념을 도입하여 여러 제품을 통합적으로 제어할 수 있는 환경을 제공함으로써 MDSplus와 같은 복합 소프트웨어를 개발할 때 사용자는 데이터의 분석, 표시, 저장과 같은 전문적인 영역에 집중하고, 여러 디지타이저의 통합 제어는 업체의 솔루션을 그대로 이용할 수 있게 되었다.

본론 :

하드웨어
시스템의 전체 구성을 그림 1에 나타내었다. 디지타이저 메인 프레임마다 PC 한대씩을 배치하여 데이터 전송을 병렬화 하였다. PXI와 VXI는 광섬유 방식의 MXI-4와 MXI-3로 연결하였다. 각 컴퓨터에서 수집된 데이터는 LAN으로 연결된 MDSplus Main Tree 서버에 파일로 저장된다. 저장된 데이터는 LAN으로 연결된 연구소 내의 아무 컴퓨터에서나 자유롭게 액세스 할 수 있다. 디지타이저를 구동하는 모든 PC는 Operator PC에서 일괄 자동 제어된다.


그림 1. 한빛 데이터 수집 시스템

소프트웨어
MDSplus는 여러 노드들의 Tree 구조로 되어 있다. 디지타이저는 장치 노드에 의해서 제어된다. 장치 노드 또한 데이터를 저장하기 위한 SIGNAL 노드, 디지타이저를 구동하기 위한 ACTION 노드 등 여러 하위 노드들로 구성되어 있다. 그림 2에서 AI0, AI1 등이 SIGNAL 노드, OPEN, STORE 등이 ACTION 노드이다. ACTION 노드가 호출되면 MDSplus에서 제공하는 프로그래밍 언어인 TDI(Tree Data Interface)로 만들어진 드라이버가 호출되어 해당하는 디지타이저를 제어하게 된다. 그림에서 보듯이 MDSplus는 여러 장치 노드들을 만들어서 디지타이저를 통합 제어하게 된다.


그림 2. MDSplus Tree 구조

NI-DAQmx도 디지타이저의 통합 제어를 위해서 Task와 Channel등 비슷한 개념의 구조를 갖고 있다. Task는 장치 노드에, Channel은 SIGNAL 노드에 대응한다. 따라서, MAX의 Task와 Channel의 이름을 MDSplus의 장치 노드와 SIGNAL 노드의 이름과 일치 시키고, TDI 드라이버에서 NI-DAQmx 라이브러리의 함수를 호출함으로써 MDSplus에서 NI-DAQmx가 지원하는 모든 디지타이저를 제어할 수 있었다. 그림 3에 개략도를 나타내었다. 개발된 TDI드라이버는 MDSplus 홈페이지 (http://www.mdsplus.org) 에 올려져 있다.


그림 3. PXI를 위한 TDI 드라이버의 블록다이어그램

NI의 고속 디지타이저는 NI-DAQmx가 아닌 NI-SCOPE로 제어된다. 따라서, NI-SCOPE 라이브러리의 함수를 호출하는 TDI 드라이버를 따로 제작하였다. 이 경우는 MAX의 GUI를 사용할 수 없으므로 기존의 방식대로 JAVA를 이용하여 GUI 패널을 제작하였다.

결론 및 솔루션 개발 후 얻게 된 이점 :
핵융합 실험과 같이 대형 장치를 제어하기 위한 분산 시스템 구축, 데이터 저장, 분석, 표시 등을 MDSplus 를 이용하여 시스템을 구성하였다. MDSplus는 세계의 여러 핵융합 실험실에 의해서 유지되고 있는 공개 소프트웨어로서 여러 장점이 있지만 최신 디지타이저의 지원은 대처가 느릴 수 밖에 없다. 이러한 단점을 NI-DAQmx가 가지고 있는 시스템 통합 기능으로 보완하여 모든 NI 디지타이저가 MDSplus에서 자동으로 지원되게 하였다.
MDSplus용 디지타이저 드라이버 개발은 업체가 배포해준 라이브러리의 함수들을 이해하고, 드라이버를 제작하고, 테스트 하는데 GUI 패널 제작을 포함하여 1-2주의 작업을 요하고 각 디지타이저마다 같은 작업을 반복하여야 한다. 이에 비해서 NI-DAQmx와 NI-SCOPE를 기반으로 개발된 MDSplus용 드라이버는 모든 MDSplus 이용자들이 추가적인 비용과 시간을 들이지 않고, 현존하는 디지타이저뿐 만 아니라, 앞으로 개발될 NI의 어떤 디지타이저도 제어할 수 있으므로 효율성이 극대화 되었다.

Author Information:
For more information on this Case Study, contact:
서성헌 선임 연구원
핵융합연구센터 운영연구팀

Browse All Case Studies »

  Print