====EtherCAT State Machine====
EtherCAT State Machine과 AL Status에 대한 안내 페이지입니다.
\\
===State Machine===
\\
**EtherCAT Slave는 다음의 통신 상태를 가집니다**
\\
\\
{{ :platform:ethercat:2_info:esm.png?300 | EtherCAT State Machine}}
\\
* BootStrap : 펌웨어 업데이트를 위한 상태입니다.
* FoE((File access over EtherCAT)) 프로토콜을 이용한 MailBox 통신만 가능합니다.
* Init 상태에서만 천이((Init → Bootstrap or BootStrap → Init))할 수 있습니다
* Init : 통신 초기화 상태
* 통신이 불가능합니다.
* Pre-OP : MailBox 통신만 가능한 상태
* 네트워크 설정을 초기화 합니다.
* Safe-OP : MailBox 통신, TX PDO 통신이 가능한 상태
* 마스터는 주기적 통신을 통해 Slave로부터 Status 등의 Data를 수신할 수 있습니다.
* OP : MailBox 통신, TX PDO, RX PDO 통신이 가능한 상태
* 모든 통신이 가능합니다.
* 주기적 통신을 이용해 슬레이브의 제어가 가능합니다.
===Al Status===
\\
* Slave의 통신상태(State Machine)는 Master의 요청에 의해 변경됩니다.
* Master는 ESC에 있는 AL Control Register를 통해 변경을 요청합니다.
* Slave는 ESC에 있는 AL Status Register에 현재 상태값을 기록합니다.
* Slave는 AL Status 변경에 실패할 수 있습니다.
* 변경 실패시 AL Status ErrorCode를 확인하여 실패 원인을 확인할 수 있습니다.
* Slave의 AL Status가 OP가 아닌 경우, 정상적으로 제어가 되지 않습니다.
* 일부 TX 통신만 필요한 Slave(DI, AI 등)인 경우, SafeOP 상태에서도 정상적인 data 확인이 가능합니다.