실시간 데이터를 프로그램적으로 공유하기
- 업데이트 날짜:2025-08-27
- 3분 (읽기 시간)
DataSocket VI와 함수를 사용하여 프로그램적으로 실시간 데이터를 설정하고, 읽고, 작성할 수 있습니다.
(Real-Time, Windows) National Instrument는 공유 변수 노드를 VI 및 함수에 연결하여 프로그램식으로 실시간 데이터를 공유할 것을 권장합니다.
공유 변수 사용하기
공유 변수를 사용하여, VI 사이에서 또는 와이어로 연결할 수 없는 블록다이어그램 상의 위치 사이에서 데이터를 공유합니다. 공유 변수를 사용하여 약간의 블록다이어그램 프로그래밍 또는 프로그래밍 없이 데이터를 공유할 수 있습니다.
DataSocket VI와 함수에 대해, 웹 브라우저에서 URL을 지정하는 것과 같은 방법으로 URL을 지정하여 데이터를 쓰거나 읽습니다.
URL 지정하기
데이터를 전송할 때 URL은 Windows에서는 opc, ftp, http과 같은 통신 프로토콜을 사용하고, LabVIEW가 지원하는 모든 플랫폼에서는 psp, dstp, file과 같은 통신 프로토콜을 사용합니다. URL에 사용한 프로토콜은 어떠한 데이터를 쓰려고 하는지 또는 어떻게 네트워크를 설정하는지에 영향을 받습니다.
DataSocket VI와 함수를 사용하여 데이터를 읽거나 쓸 때, 또는 컨트롤 연결을 활성화할 때 다음의 프로토콜을 사용할 수 있습니다:
- NI Publish-Subscribe Protocol(psp)―네트워크와 사용자 로컬 컴퓨터 사이에서 데이터를 전송하는 National Instruments의 기술입니다. 이 프로토콜을 사용할 때 VI는 공유 변수 엔진(SVE)과 통신합니다. psp 프로토콜을 사용하여 공유 변수 및 서버 또는 디바이스 데이터 아이템에 연결합니다. 데이터 아이템에 URL에 추가되는 이름을 제공해야 합니다. 데이터 연결은 이름을 공유 변수 엔진의 특정한 데이터 아이템의 주소를 나타내는데 사용합니다. 또한 프런트패널 데이터 연결을 사용할 때 이 프로토콜을 사용할 수 있습니다. 또한 fieldpoint 프로토콜을 NI Publish-Subscribe Protocol (NI-PSP)의 가명으로 사용할 수 있습니다.
- DataSocket Transport Protocol ( dstp )―이 프로토콜을 사용할 때 VI는 DataSocket 서버와 통신합니다. 데이터에 URL에 추가되는 이름있는 태그를 제공해야 합니다. 데이터 연결은 이름있는 태그를 DataSocket 서버의 특정한 데이터 아이템의 주소를 나타내는데 사용합니다. 이 프로토콜을 사용하려면, DataSocket 서버를 실행해야 합니다.
- (Windows) OLE for Process Control(opc)—산업 자동화 작업으로 생성된 데이터와 같은 공유 리얼타임 생산 데이터를 위해 특별히 디자인되었습니다. 이 프로토콜을 사용하려면, OPC 서버를 실행해야 합니다.
- (Windows) 파일 전송 프로토콜(ftp) —이 프로토콜을 사용하여 FTP 서버에서 데이터를 읽는 파일을 지정할 수 있습니다.

노트 DataSocket 함수를 사용하여 FTP 사이트에서 텍스트 파일을 읽으려면 URL의 끝에 [text]를 추가하십시오.
- file―이 프로토콜을 사용하여 데이터를 포함하는 로컬 또는 네트워크 파일로의 링크를 제공할 수 있습니다.
- (Windows) http―이 프로토콜을 사용하여 데이터를 포함하는 웹 페이지의 링크를 제공할 수 있습니다.

노트 DataSocket 함수를 사용한 http 프로토콜을 통해 텍스트 파일을 읽으려면 URL의 끝에 [text]를 추가하십시오.
다음 테이블은 각 프로토콜 URL의 예를 보여줍니다.
| URL | 예제 |
|---|---|
| psp | 공유 변수의 경우: psp://computer/library/shared_variable 서버와 디바이스 데이터 아이템과 같은 NI-PSP 데이터 아이템의 경우: psp://computer/process/data_item fieldpoint://host/FP/module/channel |
| dstp | dstp://servername.com/numeric에서 numeric은 데이터의 이름있는 태그입니다. |
| opc | opc:\National Instruments.OPCTest\item1 opc:\\computer\National Instruments.OPCModbus\Modbus Demo Box.4:0 opc:\\computer\National Instruments.OPCModbus\Modbus Demo Box.4:0?updaterate=100&deadband=0.7 |
| ftp | ftp://ftp.ni.com/datasocket/ping.wav ftp://ftp.ni.com/support/00README.txt[text] |
| file | file:ping.wav file:c:\mydata\ping.wav file:\\computer\mydata\ping.wav |
| http | http://ni.com |
psp, dstp, opc, URL을 사용하여 실시간 데이터를 공유합니다. 이런 프로토콜은 원격과 로컬 컨트롤 및 인디케이터를 업데이트할 수 있기 때문입니다. ftp와 file URL을 사용하여 파일로부터 데이터를 읽습니다. 이 프로토콜은 원격과 로컬 컨트롤 및 인디케이터를 업데이트할 수 없기 때문입니다.
DataSocket VI와 함수가 지원하는 데이터 포맷
DataSocket VI와 함수를 사용하여 어떤 LabVIEW 데이터 타입의 데이터도 전달할 수 있습니다. 또한, DataSocket VI와 함수를 사용하여 다음 데이터를 읽고 쓸 수 있습니다:
- 원시 텍스트―문자열을 문자열 인디케이터에 전달하려면 원시 텍스트를 사용합니다.
- 탭을 사용한 텍스트―배열에 데이터를 쓸 때 스프레드시트에서처럼 탭을 사용한 텍스트를 사용합니다. LabVIEW는 탭을 사용한 텍스트를 데이터의 배열로 해석합니다.
- .wav 데이터―사운드를 VI 또는 함수에 쓰려면 .wav 데이터를 사용합니다.
- 배리언트 데이터―National Instruments Measurement Studio ActiveX control과 같은 다른 어플리케이션으로부터 데이터를 읽는 경우 배리언트 데이터를 사용합니다.