개요
내쇼날인스트루먼트는 NI 9144 확장 섀시와 함께 결정성 있는 분산 I/O 제품군을 제공합니다. C 시리즈 모듈용 본 8 슬롯의 견고한 섀시는 NI CompactRIO 및 PXI 컨트롤러와 통신하기 위해 개방형 리얼타임 이더넷 프로토콜을 사용합니다. 본 문서에서는 NI 9144 확장 섀시로 고성능의 결정성을 구현하는 내부 기술에 대해 심도 있게 살펴보도록 하겠습니다.
리얼타임 이더넷으로 확장 I/O 사용
C 시리즈 모듈용 8 슬롯 확장 섀시인 NI 9144는 EtherCAT® (Ethernet Control Automation Technology)이라고 하는 리얼타임 기술을 사용하여 리얼타임 마스터 컨트롤러와 결정성 있는 통신을 수행합니다. 고성능의 산업용 프로토콜인 EtherCAT은 IEEE 802.3 이더넷 표준을 확장하여 예측 가능한 시간과 정밀한 동기화로 데이터를 전송합니다. IEC 61158의 일환으로 도입된 본 개방형 표준은 장비 설계 및 모션 제어와 같은 어플리케이션에 보편적으로 사용됩니다.
결정성 있는 분산 I/O 시스템을 구축하기 위해 마스터/슬레이브 아키텍처는 표준 이더넷 연결방식을 사용합니다. 듀얼 이더넷 포트가 있는 모든 CompactRIO 컨트롤러나 NI PXI-8231/8232 이더넷 인터페이스를 갖춘 PXI 시스템을 마스터 컨트롤러로 사용할 수 있습니다. 그 후 컨트롤러에서 여러 개의 NI 9144 슬레이브 섀시를 데이지 체인 연결하여 시간 결정적인 어플리케이션을 확장할 수 있으며, 그와 동시에 최소한의 프로세서 리소스만을 사용하여 결정성을 유지할 수 있습니다.
[+] 크게 보기
그림 1. NI 9144 섀시로 구현한 EtherCAT 마스터/슬레이브 아키텍처
관련 링크
EtherCAT 소개
하드웨어 개요
NI 9144 확장 섀시는 결정성 있는 분산 I/O가 가능한 여러 가지 하드웨어 요소로 구성되어 있습니다. 각 슬레이브 섀시에는 두 개의 이더넷 포트가 있어 EtherCAT 패킷을 수신합니다. 이 패킷들은 물리적인 계층을 통해서 EtherCAT IP 스택으로 전달됩니다. EtherCAT IP에는 여러 개의 필드버스 메모리 관리 유닛 (FMMU)이 있어 특정한 슬레이브 디바이스에 지정된EtherCAT 데이터를 정확하게 맵핑합니다. DMA(Direct Memory Access)는 EtherCAT IP와 C 시리즈 I/O 모듈간 동시 I/O 데이터를 전송합니다. Xilinx FPGA는 C 시리즈 모듈 인터페이스로 작동하여, EtherCAT IP로부터의 지시와 타이밍을 기반으로 하여 주기적으로 I/O 읽기 및 쓰기를 처리합니다. 마이크로컨트롤러는 마스터와 슬레이브간 비동기 메시지를 처리할 뿐만 아니라 다른 하드웨어 구성요소에 대한 다양한 구성 태스크를 처리합니다.
[+] 크게 보기
그림 2. NI 9144 하드웨어 블록 다이어그램
타이밍과 동기화
C 시리즈 모듈 인터페이스는 LabVIEW Real-Time 8.6과 CompactRIO에 도입된 NI 스캔 엔진 기술의 일환입니다. 본 구성요소는 C 시리즈 모듈을 위한 I/O 데이터의 동기화를 담당하여, NI 9144의 I/O 업데이트가 마스터의 주기 시간과 순조롭게 일치하게 됩니다.
결정성 있는 네트워크에 대한 주기 시간은 마스터 컨트롤러의 프로그램 스캔 및 I/O 스캔에 소요되는 전체시간으로 구성됩니다. 프로그램 스캔에는 LabVIEW 프로그램이 처리하는 시간 (시간 결정적 태스크 및 일반 태스크 모두), 모든 루틴 보조(routine housekeeping), DMA와 메모리 테이블로 패킷 전송이 포함됩니다. I/O 스캔에는 EtherCAT 패킷이 전체 슬레이브 네트워크를 통해 전달되는데 필요한 시간, 다운스트림 및 업스트림이 포함됩니다.
[+] 크게 보기
그림 3. 마스터/슬레이브 주기 시간에 대한 타이밍 다이어그램
NI 9144 슬레이브 디바이스의 주기 시간은 슬레이브 업데이트 및 I/O 스캔에 대한 전체 시간으로 구성됩니다. 슬레이브 업데이트는 DMA 전송, 데이터 처리, I/O 업데이트를 위해 슬레이브가 사용하는 시간입니다. I/O 스캔이 마스터 슬레이브를 위해 동기화되기 때문에, 슬레이브 업데이트는 마스터의 프로그램 스캔과 동시에 실행됩니다. 따라서 최소 주기 시간은 슬레이브 업데이트 또는 프로그램 스캔 (어느 쪽이 더 오래 걸리는가에 따라)에 의해 제한됩니다.
주기 시간
= 프로그램 스캔 (메모리 전송 및 데이터 처리) + I/O 스캔 (데이터 전송)
= 슬레이브 업데이트 (데이터 업데이트 및 처리) + I/O 스캔 (데이터 전송)
프로그램 스캔 시간은 네트워크 상의 슬레이브 수에 따라 증가합니다. 그 이유는 마스터 컨트롤러가 처리해야 할 더 많은 데이터를 갖고 있기 때문입니다. 그러나, 슬레이브 업데이트 시간은 슬레이브가 I/O를 동시에 병렬로 업데이트하기 때문에 증가하지 않습니다. 따라서 네트워크에 더욱 많은 슬레이브가 있을수록 마스터 프로그램 스캔은 병목현상이 발생할 가능성이 더욱 높습니다. 사용자의 어플리케이션이 많은 I/O 채널 수를 가지고 있다면, 마스터를 위해 고성능 프로세서 사용을 고려하십시오.
I/O 동기화
NI 9144 확장 섀시에는 모듈간 동기화라는 장점뿐만 아니라 슬레이브간 동기화가 가능한 장점도 있습니다. 마스터 컨트롤러는 분산 클럭을 이용하여 동시에 모든 슬레이브 디바이스를 동기화하기 때문에 이와 같은 기능이 가능합니다. I/O 스캔이 완성되고 EtherCAT 패킷이 전송되면, EtherCAT IP는 Sync0 신호를 보내어 새로운 데이터가 사용 가능함을 슬레이브에 알립니다.
[+] 크게 보기
그림 4. 슬레이브 업데이트에 대한 타이밍 다이어그램
또한 마스터 컨트롤러는 Sync0을 사용하여 "버추얼 포인트"를 정렬합니다. 버추얼 포인트는 모든 슬레이브 섀시가 I/O를 업데이트하는 시간의 정확한 지점입니다. NI 스캔 엔진이 단일 포인트 데이터에 적용하기 때문에 출력 버추얼 포인트는 출력 모듈을 위한 가장 신속한 업데이트를 얻도록 최적화되었으며, 입력 버추얼 포인트는 입력 모듈로부터 가장 최신의 샘플을 제공하도록 최적화되었습니다. 본 패러다임이 있으면 각 개별 채널의 업데이트간에 매우 낮은 지터가 발생하기 때문에 제어 어플리케이션에 이상적입니다. 멀티플렉스 I/O가 있는 모듈의 경우, 입력은 각 주기에 일정한 정도의 지연이 있어 채널 0 읽기는 항상 다음 채널 0 읽기로부터 동일한 델타를 갖습니다. 또한 동시 샘플링 모듈에는 사용되는 모든 동일한 모듈에 동일한 시간의 I/O 채널 업데이트가 있으며, 위상 오프셋은 다른 모듈을 사용할 경우에도 최소한이 됩니다. 각 슬레이브가 슬레이브 업데이트 동안 동일한 두 개의 가상 지점에서 샘플링을 한다고 가정하면 네트워크상의 모든 NI 9144 슬레이브에 대한 출력과 입력은 시작 시간을 동기화합니다.
관련 링크
결정성있는 분산 I/O 시작하기
CompactRIO 어드바이저
결정성있는 이더넷 제품 선택 가이드
법적 정보
"이 튜토리얼 (이 ""튜토리얼"")은 내쇼날인스트루먼트 (""NI"")가 개발한 것 입니다. 이 튜토리얼에 대한 내쇼날인스트루먼트의 기술 지원이 가능하더라도, 이 튜토리얼의 내용은 완전하게 테스트 및 검증되지 않을 수 있으며, NI는 어떠한 방식으로도 품질 또는 관련 제품 및 드라이버의 새로운 버전에 따른 컨텐츠의 지속적인 지원을 보장하지 않습니다. 이 튜토리얼은 어떠한 종류의 보증 및 NI.COM의 이용 약관에 명시된 특정한 제약 규정에 대한 전제 없이 있는 그대로 제공됩니다. (http://ni.com/legal/termsofuse/unitedstates/us/)
