Working-Counter

이더캣EtherCAT은 고성능 필드버스Fieldbus 시스템으로, 각 노드Slave가 마스터와 데이터를 교환하며 정확성과 안정성을 보장합니다. 이 과정에서 워킹 카운터Working Counter 는 EtherCAT 프로토콜의 핵심 요소로, 데이터그램 명령의 성공 여부를 확인하는 데 사용됩니다.

Working Counter란?

Working Counter는 EtherCAT 데이터그램의 명령 실행 성공 여부를 나타내는 16비트 정수 값입니다. EtherCAT 프레임 내의 각 데이터그램은 슬레이브 장치에 대해 특정 작업Read / Write 을 수행하며, 작업의 성공 여부에 따라 슬레이브가 Working Counter 값을 증가시킵니다.

Working Counter의 역할

명령 성공 여부 확인

  • 데이터그램 명령(예: 읽기, 쓰기, 읽기/쓰기 등)이 성공적으로 처리되었는지 확인.
  • 슬레이브가 명령을 처리했을 때만 카운터를 증가시킴.
  • 워킹 카운터가 0이라면 명령이 실패했음을 의미.

슬레이브 상태 추적

  • 슬레이브가 데이터그램 명령을 정상적으로 처리했는지 마스터에서 확인.
  • 특정 슬레이브의 통신 문제를 감지할 수 있음.

다중 슬레이브 작업 확인

  • 브로드캐스트 명령(예: 모든 슬레이브에 데이터 쓰기)에서 명령을 수행한 슬레이브 수를 확인.

Working Counter의 동작 원리

초기화

  • EtherCAT 데이터그램이 슬레이브로 전달되면, Working Counter 값은 0으로 초기화됩니다.

작업 성공 시 증가

  • 슬레이브가 데이터그램 명령을 정상적으로 처리하면, 해당 슬레이브가 Working Counter 값을 증가시킵니다.
  • 읽기Read 또는 쓰기Write와 같은 작업이 성공적으로 완료되면 1씩 증가합니다.

명령별 Working Counter 증가 규칙

Read 명령(xRD)

  • 읽기 작업을 수행하며, 읽기 작업이 성공하면 +1 증가.
  • 예: LRDLogical Read, BRDBroadcast Read

Write 명령(xWR)

  • 쓰기 작업을 수행하며, 쓰기 작업이 성공하면 +1 증가.
  • 예: LWRLogical Write, BWRBroadcast Write

Read/Write 명령(xRW)

  • 읽기와 쓰기를 동시에 수행하며, 성공한 작업마다 별도로 증가
    • 읽기 성공 시: +1 증가.
    • 쓰기 성공 시: +2 증가.
    • 읽기와 쓰기 모두 성공 시: 총 +3 증가.
  • 예: LRWLogical Read/Write, ARMWAuto increment physical read multiple write.

증가 규칙 요약

명령 유형작업 설명증가량
xRDRead 명령 (읽기)성공 시 +1
xWRWrite 명령 (쓰기)성공 시 +1
xRWRead/Write 명령 (읽기/쓰기)읽기 성공: +1
쓰기 성공: +2