데이터계측분석/데이터통신 기술자료

어플리케이션 사이에서 데이터 스트리밍하기 및 명령 전송하기

에이티에스 2023. 4. 13. 12:26
728x90

데이터 스트리밍하기와 명령 전송하기는 두 개의 LabVIEW 어플리케이션 사이에서 데이터를 전송하는 통신 모델입니다. 네트워크 스트림을 사용하여 이러한 태스크를 수행할 수 있습니다. 네트워크 스트림은 데이터 손실이 없고, 단일 방향 일대일 통신 채널로, 발신자와 수신자 끝포인트로 구성됩니다. 

 

네트워크 스트림 함수 및 네트워크 스트림 끝포인트 프로퍼티를 사용하여 네트워크 스트림으로 어플리케이션을 디자인합니다.

  노트  네트워크 스트림은 Windows와 Real-Time 시스템에서만 사용할 수 있습니다.

네트워크 스트림을 사용하여 LabVIEW 클래스 및 대부분의 참조 번호를 제외한 모든 LabVIEW 데이터 타입을 전송할 수 있습니다. 네트워크 스트림을 사용하여 전송할 수 있는 유일한 참조 번호는 비전 이미지 데이터 타입입니다. 가장 빠른 속도로 전송되는 데이터 타입은 다음과 같습니다:

  • 숫자 스칼라
  • 불리언
  • 숫자 스칼라의 1D 배열
  • 불리언의 1D 배열

다음 그림은 네트워크 스트림을 설정하여 데이터를 전송하는 몇 가지 방법을 보여줍니다.

위의 그림에서는 각각 다른 컴퓨터에 있는 두 개의 어플리케이션 사이에서 네트워크 스트림으로 데이터가 전송됩니다.

위의 그림에서는 빌드된 어플리케이션과 웹 서비스 사이에서 네트워크 스트림으로 데이터가 전송됩니다.

  노트  네트워크 통신을 시작하려면, 네트워크 스트림은 네트워크 상에서가 아닌 일반 데이터 전송 방법보다 더 많은 오버헤드를 필요로합니다. 단일 어플리케이션 내의 루프 사이에서 데이터를 전송하는데, National Instruments는 다음 방법의 사용을 권장합니다:
  • 큐 동작 함수
  • (Real-Time Module) RT FIFO 함수
  • (Real-Time Module) RT FIFO가 활성화된 공유 변수

위의 그림에서는 한 컴퓨터에 있는 하나의 어플리케이션에서 다른 컴퓨터에 있는 두 개의 어플리케이션으로 네트워크 스트림을 통해 데이터가 전송됩니다.

위의 그림에서는 한 컴퓨터에 있는 하나의 어플리케이션에서 각기 다른 컴퓨터에 있는 두 개의 어플리케이션으로 네트워크 스트림을 통해 데이터가 전송됩니다.

네트워크 스트림 엔진

 

각 끝포인트는 FIFO 버퍼를 사용해서 데이터를 전송합니다. 네트워크 스트림 엔진(NSE)은 LogosXT를 사용해서 발신자 끝포인트의 FIFO 버퍼로부터 수신자 끝포인트의 FIFO 버퍼로 데이터를 전송합니다.

다음 그림은 네트워크 스트림에서 데이터가 흐르는 모습을 보여줍니다.

위의 그림에서 데이터는 다음의 순서로 전달됩니다.

  1. 발신자 끝포인트가 FIFO 버퍼에 데이터를 씁니다.
  2. NSE가 네트워크를 통해 수신자 끝포인트의 다른 FIFO 버퍼로 데이터를 전송합니다.
  3. 수신자 끝포인트가 위에 언급한 FIFO 버퍼로부터 데이터를 읽습니다.

공유 변수 대신 네트워크 스트림을 사용해야 하는 경우를 결정하기

 

데이터 세트의 최신값을 여러 컴퓨터에 공개하려면 공유 변수를 사용하십시오. 이와 반대로 한 대의 컴퓨터에서 모든 데이터 포인트를 로그하려면 네트워크 스트림을 사용하십시오.

예를 들어 압력계를 사용해서 파이프라인에서 천연 가스의 압력을 유지하도록 하는 펌프의 진동을 감지한다고 가정합니다. 펌프가 오작동하지 않도록 CompactRIO 타겟에서 진동 데이터를 처리하여 베어링의 결함을 모니터합니다. 하지만, CompactRIO 타겟에는 데이터를 분석할만큼 충분한 메모리가 없습니다. 그러므로 이 데이터를 저장하고, 분석하고, 디스플레이할만큼의 충분한 메모리를 가진 데스크탑 컴퓨터에 이 데이터를 보내야 합니다.

공유 변수는 데이터의 가장 최신값만을 공개하도록 최적화되어 있기 때문에, 매우 중요한 데이터 포인트를 놓칠 수도 있습니다. 그러나 네트워크 스트림은 모든 데이터 포인트를 데스크탑 컴퓨터로 스트림해서 사용자가 엔진의 상태를 모니터할 수 있도록 합니다.

  노트  네트워크 스트림은 리얼타임(RT)나 시간에 결정적인 루프에서는 지터를 야기할 수도 있습니다. 그러므로, 네트워크 스트림을 사용해서 시간에 결정적인 루프로부터 데이터를 스트림하려면, 먼저 우선 순위가 낮은 루프와 데이터를 공유하는 것을 권장합니다. 그 후, 네트워크 스트림을 사용해서 다른 어플리케이션으로 데이터를 스트리밍합니다.

 

 

어플리케이션 사이에서 데이터 스트리밍하기 및 명령 전송하기 - NI

728x90
반응형
그리드형