Shift Register

Shift Register

시프트 레지스터 방식이란?

시프트 레지스터Shift Register 방식은 네트워크에서 데이터 프레임이 각 장치를 순차적으로 통과하면서 필요한 데이터를 읽거나 수정하는 구조를 묘사하는 개념입니다. 이 방식은 데이터가 네트워크를 따라 시프트 레지스터처럼 이동하며, 각 장치가 데이터 프레임을 실시간으로 처리하거나 수정합니다. 트레인Train 방식이라고도 부릅니다.

D2 Diagram

주요 개념

순차적 데이터 전달

  • 시프트 레지스터 방식에서 데이터 프레임은 네트워크의 각 노드를 순차적으로 통과하며, 각 노드는 도착한 프레임에서 필요한 데이터를 읽거나 수정합니다.
  • 데이터는 마치 시프트 레지스터에서 비트가 이동하듯이 네트워크를 따라 이동합니다.

데이터 처리 방식

  • 데이터 프레임은 마스터 장치에서 생성되어 네트워크를 통해 모든 슬레이브 장치를 통과합니다.
  • 각 슬레이브는 프레임이 도착할 때 자신의 데이터 영역을 실시간으로 처리하고, 수정된 프레임을 다음 슬레이브로 전달합니다.
  • 마지막 슬레이브를 통과한 프레임은 마스터로 반환되어, 전체 네트워크의 최신 데이터가 포함됩니다.

데이터 통합 및 최적화

  • 시프트 레지스터 방식은 중간 장치들이 데이터에 직접 접근하고 변경할 수 있어 데이터 처리가 매우 효율적입니다.
  • 단일 프레임으로 전체 네트워크의 데이터를 통합하고 처리할 수 있으므로, 네트워크 대역폭을 효율적으로 활용합니다.

시프트 레지스터 방식의 작동 원리

마스터에서 프레임 전송

  • 마스터는 데이터 프레임을 생성하여 네트워크에 전송합니다. 이 프레임은 모든 슬레이브에 대한 명령이나 데이터를 포함합니다.

슬레이브의 데이터 접근

  • 각 슬레이브는 도착한 프레임에서 자신의 데이터 필드를 읽거나 수정합니다.
  • 예를 들어, 슬레이브 1은 자신의 센서 데이터를 프레임에 기록하고, 수정된 프레임을 다음 슬레이브로 전달합니다.

마스터로 프레임 반환

  • 프레임이 모든 슬레이브를 통과한 후, 마스터로 돌아옵니다.
  • 마스터는 반환된 프레임을 통해 모든 슬레이브의 최신 데이터를 수집하고 분석합니다.

On the Fly 방식과의 관계

시프트 레지스터 방식은 데이터 전송 구조를 의미하며, On-the-Fly 방식은 각 슬레이브가 데이터를 처리하는 방법을 나타냅니다. 즉, 시프트 레지스터 방식에서는 데이터 프레임이 네트워크를 순차적으로 통과하고, On-the-Fly 방식으로 각 슬레이브는 프레임을 실시간으로 처리합니다. 이 두 가지 개념은 서로 보완적이며, 이러한 결합으로 인해 네트워크 내에서 효율적이고 실시간적인 데이터 통합이 가능합니다.

시프트 레지스터 방식의 장점

낮은 지연 시간

  • 데이터가 각 슬레이브를 통과하면서 실시간으로 처리되므로 지연 시간이 최소화됩니다.
  • 데이터 복사나 중간 저장 없이 프레임 내에서 직접 처리가 이루어집니다.

효율적인 데이터 통합

  • 단일 프레임을 통해 네트워크 전체의 데이터를 처리하고 통합할 수 있어 대역폭 사용이 효율적입니다.
  • 마스터는 반환된 프레임을 통해 모든 슬레이브의 데이터를 한 번에 확인할 수 있습니다.

실시간 데이터 처리

  • 각 슬레이브가 프레임을 통과하는 순간 데이터를 처리하므로, 전체 네트워크에서 실시간 데이터 갱신이 가능합니다.

주요 사용 사례

EtherCAT

  • EtherCAT에서는 시프트 레지스터 방식과 On-the-Fly 처리를 결합하여 사용합니다.
  • 데이터 프레임이 네트워크를 따라 이동하면서 각 슬레이브에서 필요한 데이터를 실시간으로 처리합니다.

SERCOS III

  • 실시간 모션 제어 시스템에서 사용되며, 각 노드를 순차적으로 방문하여 데이터를 수집하는 구조를 가집니다.

POWERLINK

  • Ethernet 기반의 실시간 통신 네트워크로, 데이터 프레임이 각 노드를 방문하며 데이터를 주고받습니다.

한계와 고려 사항

네트워크 장애에 대한 민감성

  • 데이터 프레임이 각 슬레이브를 순차적으로 통과하기 때문에, 중간 장치의 장애가 전체 통신에 영향을 미칠 수 있습니다.
  • 네트워크의 안정성을 위해 이중화된 토폴로지나 장애 대응 메커니즘이 필요합니다.

고정된 데이터 흐름

  • 순차적인 데이터 전달 구조로 인해 네트워크 구성 변경 시 데이터 경로를 재설정해야 할 수 있습니다.
  • 시스템 확장이나 변경 시 유연성이 제한될 수 있습니다.

다른 통신 방식들과의 비교

스토어 앤 포워드

개념

  • 스토어 앤 포워드Store and Forward 방식은 각 노드(스위치 또는 장치)가 프레임 전체를 수신하여 메모리에 저장한 후, 데이터가 완전히 수신되었을 때 다음 노드로 전달하는 방식입니다. 이 방식은 네트워크의 각 노드가 수신 데이터를 확인하고 오류가 있을 경우 재전송을 요청하거나, 오류 없는 데이터만 다음으로 전달할 수 있습니다.

특징

  • 신뢰성: 데이터의 오류가 발생할 경우 프레임을 버리고 재전송을 요청하기 때문에 통신의 신뢰성이 높습니다.
  • 높은 지연 시간: 프레임이 각 노드에서 저장되고 재처리되므로 지연 시간이 증가합니다. 즉, 고속 실시간 데이터 처리에는 적합하지 않습니다.

사용 사례

  • PROFINET, Modbus TCP, DeviceNet 등과 같은 네트워크에서 주로 사용되며, 데이터 무결성이 중요한 산업 환경에서 활용됩니다.

컷 스루

개념

  • 컷 스루Cut-through 방식은 수신된 프레임의 목적지 주소를 확인하자마자 즉시 다음 장치로 전달을 시작하는 방식입니다. 프레임 전체를 수신하지 않고, 일부분만 확인하고도 다음 노드로 전송을 시작할 수 있기 때문에 스토어 앤 포워드보다 빠르게 데이터 전송이 가능합니다.

특징

  • 낮은 지연 시간: 프레임 전체가 수신될 때까지 기다리지 않고, 목적지 주소 확인 후 바로 전달하므로 지연 시간이 줄어듭니다.
  • 낮은 신뢰성: 컷 스루 방식에서는 프레임을 완전히 확인하지 않고 다음 장치로 전달하므로, 전송 중 발생한 오류가 그대로 전달될 가능성이 있습니다.

사용 사례

  • Ethernet/IP나 Ethernet 기반 산업용 네트워크에서 사용될 수 있으며, 상대적으로 짧은 지연 시간을 요구하면서도 일정 수준의 오류 허용이 가능한 환경에서 활용됩니다.

폴링

개념

  • 폴링Polling 방식은 네트워크 마스터 장치가 슬레이브 장치들에게 순차적으로 데이터 요청을 보내고 응답을 받는 구조입니다. 슬레이브 장치는 마스터의 요청이 있을 때만 데이터를 전송하므로, 네트워크가 제어되고 충돌이 줄어듭니다.

D2 Diagram

특징

  • 충돌 최소화: 마스터가 네트워크 트래픽을 제어하기 때문에 충돌이 적고 데이터 전송이 안정적입니다.
  • 높은 지연 시간: 각 슬레이브가 순차적으로 응답하므로 대기 시간이 발생하여 실시간 성능이 떨어집니다.

사용 사례

  • Modbus RTU, Profibus에서 주로 사용되며, 주기적으로 데이터를 모니터링하거나 특정 이벤트를 체크하는 용도로 적합합니다.

토큰 패싱

개념

  • 토큰 패싱Token Passing 방식은 네트워크 내의 각 장치가 통신할 수 있는 권한Token을 순차적으로 획득하여 통신을 진행하는 방식입니다. 특정 장치가 토큰을 받을 때까지 통신이 대기되므로 충돌을 방지할 수 있습니다.

특징

  • 충돌 방지: 네트워크 트래픽 충돌이 방지되며, 순차적으로 통신 권한을 가져가는 방식이므로 데이터 전송이 매우 안정적입니다.
  • 지연 시간: 네트워크가 커지거나 장치 수가 많아질수록 대기 시간이 증가하므로 실시간 성능이 제한적입니다.

사용 사례

  • ControlNet, Profibus, CAN 등의 네트워크에서 사용되며, 실시간 성능보다는 데이터 충돌 방지와 안정성을 우선하는 경우에 적합합니다.

동기화 기반 시분할 통신 + 폴링

개념

  • 동기화 기반 시분할 통신은 네트워크 내 모든 장치가 정해진 주기에 따라 할당된 타임슬롯에서만 데이터를 송수신하는 방식입니다.
  • 폴링 방식이 결합되어, 마스터가 슬레이브들을 주기적으로 호출하고 순서대로 통신을 진행합니다. 각 슬레이브는 자신에게 할당된 타임슬롯에서만 응답하도록 설계됩니다.

특징

  • 실시간성 보장: 주기적 통신과 타임슬롯을 통해 실시간 제어에 필요한 정확한 동기화가 이루어집니다.
  • 충돌 방지: 모든 장치가 자신의 시간에만 통신하므로 패킷 충돌이 발생하지 않습니다.
  • 마스터 제어: 마스터가 통신 주기를 관리하며, 모든 슬레이브의 통신을 제어하여 데이터 일관성과 안정성을 보장합니다.

사용 사례

  • 모션 제어와 서보 제어가 필요한 산업 환경
  • MECHATROLINK, RTEX, SSCNET과 같은 실시간 제어 네트워크