EtherCAT과 CANopen

EtherCAT과 CANopen

EtherCAT은 고성능 이더넷 기반 필드버스로서, 산업 자동화 분야에서 널리 사용되고 있습니다. EtherCAT은 CANopen의 데이터 구조를 차용하여 프로세스 데이터 교환과 파라미터 설정을 효율적으로 처리합니다. CANopen의 데이터 구조를 중심으로 EtherCAT이 어떻게 이를 차용하였는지, 그 이유와 효과를 알아봅니다.

CANopen의 데이터 구조

개요

CANopen은 CANController Area Network 버스를 기반으로 한 고층 프로토콜로, 산업 자동화 시스템에서의 통신을 표준화합니다. CANopen의 핵심은 객체 사전Object Dictionary이며, 이는 장치의 모든 파라미터와 데이터를 관리하는 계층적인 데이터베이스입니다.

Object Dictionary

  • 구조: 16비트 인덱스와 8비트 서브인덱스로 구성된 계층적 데이터 구조.
  • 역할: 장치의 모든 파라미터, 설정, 프로세스 데이터를 포함하며, 통신 및 응용 파라미터를 관리.
  • 데이터 타입: BOOLEAN, INTEGER, UNSIGNED, REAL, VISIBLE STRING 등 다양한 데이터 타입 지원.
  • 접근 권한: 읽기 전용(RO), 읽기/쓰기(RW), 쓰기 전용(WO) 등으로 접근 권한 설정.

통신 객체

SDO

  • 역할: Object Dictionary의 데이터를 읽거나 쓰는 데 사용.
  • 특징:
    • 클라이언트-서버 모델 기반.
    • 비주기적이고 확인 응답이 필요함.
    • 주로 파라미터 설정이나 진단 데이터 교환에 사용.

PDO

  • 역할: 실시간 프로세스 데이터의 전송에 사용.
  • 특징:
    • Producer-Consumer 모델 기반.
    • 주기적이고 빠른 데이터 전송을 위해 설계.
    • 비확인 전송으로 오버헤드를 최소화.

통신 프로토콜

  • NMTNetwork Management: 네트워크의 상태 관리(예: 초기화, 시작, 중지).
  • SYNC: 동기화 메시지로 주기적인 PDO 전송을 트리거.
  • EMCYEmergency Message: 긴급한 오류 발생 시 즉각적인 알림 전송.

EtherCAT에서의 CANopen 구조 차용

EtherCAT은 고속 이더넷 기반의 통신 프로토콜로, 실시간 데이터 교환과 낮은 지연 시간을 제공합니다. EtherCAT은 CANopen의 Object Dictionary과 통신 메커니즘을 CoECANopen over EtherCAT를 통해 차용하여, 산업 표준의 데이터 구조와 프로토콜을 유지하면서도 통신 성능을 향상시켰습니다.

CoE

  • 정의: EtherCAT에서 CANopen의 응용 계층을 구현한 프로토콜.
  • 역할:
    • CANopen의 Object Dictionary과 SDO, PDO 메커니즘을 EtherCAT에서 사용.
    • EtherCAT의 Mailbox를 통해 CANopen 메시지를 캡슐화하여 전송.

차용된 주요 요소

  • Object Dictionary 구조: EtherCAT 슬레이브 장치는 CANopen과 유사한 Object Dictionary을 보유.
  • SDO 및 PDO 통신: SDO를 통한 파라미터 설정과 PDO를 통한 실시간 데이터 교환을 지원.
  • 통신 프로파일 및 장치 프로파일: 표준화된 프로파일을 통해 장치 간 호환성 확보.

CANopen 차용 내용 상세

Object Dictionary의 구현

  • 구조 유지: EtherCAT에서 Object Dictionary은 CANopen과 동일한 인덱스와 서브인덱스 구조를 사용.
  • 데이터 타입 및 접근 권한: CANopen에서 정의한 데이터 타입과 접근 권한을 그대로 채택.
  • 표준 객체 지원: 장치 식별 정보, 통신 파라미터, 응용 파라미터 등 표준 객체를 지원.

SDO

  • Mailbox 통신: EtherCAT의 Mailbox 채널을 통해 SDO 요청과 응답을 캡슐화하여 전송.
  • SDO 프로토콜: CANopen의 SDO 프로토콜을 그대로 사용하여 Object Dictionary의 데이터 접근.
  • 블록 전송 지원: 대용량 데이터 전송을 위한 SDO 블록 전송 메커니즘 지원.

PDO

  • 프로세스 데이터 매핑: EtherCAT 프레임의 프로세스 데이터 영역에 PDO를 매핑.
  • 동기화 메커니즘: CANopen의 SYNC 객체를 EtherCAT의 분산 클럭과 결합하여 동기화.
  • PDO 매핑 설정: SDO를 통해 PDO에 매핑할 객체를 설정하거나, ESI 파일에 사전 정의.

통신 프로파일 및 장치 프로파일

  • CiA 표준 프로파일: 모터 제어(CiA 402), I/O 모듈 등 표준 프로파일을 지원.
  • 프로파일 호환성: CANopen에서 사용되는 프로파일을 EtherCAT에서도 동일하게 적용.

CANopen 차용 이유

표준화된 데이터 구조의 활용

  • 호환성 확보: CANopen의 표준화된 Object Dictionary과 프로파일을 활용하여 장치 간 호환성 증대.
  • 개발 효율성 향상: 기존의 CANopen 장치나 소프트웨어를 EtherCAT 환경에서 재사용 가능.

실시간 통신 성능 향상

  • 고속 통신: EtherCAT의 이더넷 기반 통신으로 CAN의 대역폭 한계를 극복.
  • 낮은 지연 시간: 하드웨어 레벨에서의 프로세스 데이터 처리로 실시간성 향상.

시스템 확장성과 유연성

  • 네트워크 규모 확대: EtherCAT은 더 많은 노드와 긴 케이블 길이를 지원.
  • 토폴로지 유연성: 라인, 스타, 링 등 다양한 네트워크 구조를 지원하여 시스템 설계 자유도 증가.

기존 기술의 검증된 안정성 활용

  • 신뢰성: CANopen은 산업 현장에서 오랜 기간 검증된 안정적인 프로토콜.
  • 기술 지원: 풍부한 문서와 기술 지원으로 개발 및 유지보수 용이.

CANopen 차용 효과

개발 시간 및 비용 절감

  • 프로파일 재사용: 표준화된 프로파일을 사용하여 개발 시간을 단축하고 비용 절감.
  • 학습 곡선 완화: 개발자들이 이미 익숙한 CANopen 구조를 사용하여 새로운 학습 부담 감소.

시스템 성능 향상

  • 실시간 데이터 처리: EtherCAT의 고속 통신으로 실시간 제어 성능 향상.
  • 대용량 데이터 전송: 더 많은 프로세스 데이터를 효율적으로 전송 가능.

장치 간 호환성 및 상호 운용성 증대

  • 표준 프로파일 사용: 다양한 제조사의 장치를 동일한 프로파일로 관리하여 상호 운용성 확보.
  • 시장 접근성 향상: 표준을 준수함으로써 더 넓은 시장과 응용 분야에 접근 가능.

시스템 확장 및 유지보수 용이

  • 유연한 확장성: 네트워크 토폴로지와 노드 추가가 용이하여 시스템 확장에 유리.
  • 유지보수 효율성: 표준화된 구조로 인해 문제 발생 시 진단과 해결이 용이.

맺음말

EtherCAT은 CANopen의 데이터 구조와 통신 메커니즘을 차용하여, 산업 자동화 시스템에서의 효율성과 성능을 크게 향상시켰습니다. CANopen의 표준화된 Object Dictionary과 프로파일을 활용함으로써 개발 효율성과 장치 간 호환성을 높였으며, EtherCAT의 고속 통신과 실시간성으로 시스템 성능을 개선하였습니다. 이러한 차용은 개발자와 사용자 모두에게 이점을 제공하며, 산업 자동화 분야에서 EtherCAT의 성공적인 채택과 확산에 중요한 역할을 했습니다.

참고 문헌

  • EtherCAT Technology Group
  • CAN in Automation (CiA)
  • EtherCAT Protocol Enhancements, Beckhoff Automation
  • CANopen Application Layer and Communication Profile, CiA DS 301