고급 개발자로 가는 길

Firmware/EtherCAT IO

[EtherCAT] IO Board 개발 이야기

다크엔지니어 2021. 5. 9. 15:55
반응형

자동화 시스템에서 빠질 수 없는 IO Board 와 더 빠른 통신을 위한 EtherCAT 통신 기반의 IO

Board 를 개발하게 되었다.

이번 글을 통해서는 EtherCAT IO Slave 의 전반적인 환경 및 내용과 결과를 간단하게 설명 할 것이다.

추후 세세한 내용 글을(C언어 및 ET1100) 올려볼 것이다.

정확히는 EtherCAT IO Slave FW 를 개발하게 되었다.

EtherCAT 은 독일의 Beckhoff(등등..) 사의 Embedded PC 및 여러 디바이스등을 제공한다.

 

  • 아래 경로를 통해 여러 자료 및 FAQ 활용

www.ethercat.org/default.htm

 

EtherCAT Technology Group | HOME

The worlds largest Industrial Ethernet organization with 6240 member companies.

www.ethercat.org

 

  • 아래 경로를 통해 EtherCAT Master RunTime Toll(TwinCAT) Install 및 Terminal 구매

www.beckhoff.com/ko-kr/

 

Beckhoff | New Automation Technology

Beckhoff New Automation Technology: A decisive step ahead with PC-based control and EtherCAT!

www.beckhoff.com

heckhoff 접속 > Products > Automation > TwinCAT > TXxxxx | TwinCAT 2 Base > TX1100

 

  • 이 외에도

아래의 링크를 클릭하면 "EtherCAT Slave Hardware and Software"라는 제목의

유튜브 동영상을 살펴보실 수 있다.

이 동영상을 자세히 살펴보시면 역시 많은 도움이 될 것이다.

https://www.youtube.com/watch?v=l3UzEkGvNVM&ab_channel=NouamanKhammali

 

Beckhoff 홈페이지의 EtherCAT Development Products 페이지로 가서 ET1100 ASIC 관련 문서와

기타 필요한 문서 등을 다운로드 받아서 볼 수 있다.

Beckhoff EtherCAT Development Products 페이지는 아래의 링크를 클릭하면 된다.

https://www.beckhoff.com/ko-kr/products/i-o/ethercat-development-products/

 

EtherCAT development products

The EtherCAT technology has been specially optimized for speed, flexibility and precision. Every sensor, every I/O device and every embedded controller is supposed to be able to integrate an EtherCAT connection at a low cost. Carrying out conformity tests

www.beckhoff.com

 

stm32f407 serise MCU 와 Beckhoff 사의 ET1100 EtherCAT chip 으로 EtherCAT IO Slave 를 구성 하였다.

FW 개발로 ST 마이크로일렉트로닉스 사의 MCU 를 통해 ET1100 을 연동하려면,

  • 개발할 IDE 를 선택 -> CUBE IDE
  • STM 드라이버 선택 -> HAL
  • MCU 성능 선택 -> srm32f407 MCU(coretex-M4)
  • ET1100 과의 연동 방식 선택 -> FSMC
  • system clock
  • 여러 통신 방식
  • 여러 다수개의 IO 연결 시 연동 방식
  • EtherCAT Master RunTime Toll
  • EtherCAT Master Embedded PC
  • EtherCAT Slave Terminal
  • 아트웍 된 EtherCAT IO Slave 회로도

등이 결정되어야 하며, 위의 기능을 C language 로 구현을 해야한다.

 

 

  • Embedded PC <-> EtherCAT Slave Terminal 통신 테스트

위와 같은 구성을 통해 TwinCAT 2.11 을 통해 테스트를 진행 할 수 있다.

TwinCAT 은 EtherCAT Master RunTime 을 제공하는 Toll 로 Beckhoff 위의 경로를 통해 install 할 수 있다.

 

CERHOST 를 통해 Embedded PC 에 접근한 모습이다.

아래 Remote 접속을 통해 IP 설정 및 CX5020 에 대한 기본 설정을 할 수 있다.

CX5020 에는 2개의 Socket Link 가 있고 구성하려는 네트워크 망에 맞게 설정을 해주면 된다.

정상적으로 네트워크 망이 구성되었다면 TwinCAT 에서 Target 을 볼 수 있다.

TwinCAT 에서는 ESI 를 자동으로 잡아주기 때문에 CoDeSys 보다 편한것 같다.

 

아래는 CX5020 <-> EK1100 <-> EtherCAT I/O Slave Board 의 통신 상태이다.

Input 1bit 와 Output 6bit 가 통신 중 인것을 확인 할 수 있다.

위의 통신 테스트를 해보기 위해서는 EtherCAT I/O Slave Board 에 FW 를 라이팅 해야 한다.

필자는 stm32f407 serise 의 MCU 와 ET1100 을 SW 로 개발하였다.

C언어를 통해 SW 개발을 하기 위해서는 회로도, 데이터시트 등 자료를 볼 줄 알아야 한다.

reference manual 자료는 너무 커서 업로드가 안된다.. 아래 url 참고 할것

https://www.st.com/resource/en/reference_manual/dm00031020-stm32f405-415-stm32f407-417-stm32f427-437-and-stm32f429-439-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf

ethercat_et1100_datasheet_v2i0.pdf
1.96MB
stm32f4_datasheet.pdf
5.94MB

아래는 구성 실제  모습이다.

다음에는 EtherCAT I/O Slave 의 C언어 개발한 SW 구성에 대하여 포스팅 해보려 한다.

반응형