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.
증가 규칙 요약
명령 유형 | 작업 설명 | 증가량 |
---|---|---|
xRD | Read 명령 (읽기) | 성공 시 +1 |
xWR | Write 명령 (쓰기) | 성공 시 +1 |
xRW | Read/Write 명령 (읽기/쓰기) | 읽기 성공: +1 |
쓰기 성공: +2 |