Skip to main content
모터 제어의 표준어: CiA402 프로필
Robotics

모터 제어의 표준어: CiA402 프로필

EtherCAT과 CANopen 기반 산업용 로봇의 모터 제어 표준인 CiA402 프로필을 설명합니다. 상태 머신, Controlword/Statusword 비트 구조, 동작 모드를 실제 예시와 함께 다룹니다.

WRWIM Robotics Team
·
ethercatcia402motor-controlcanopen

모터 제어의 표준어: CiA402 프로필

모터 드라이버를 제어하려면 어떤 주소에 무슨 값을 써야 할까요? 제조사마다 다른 프로토콜을 사용한다면 모든 드라이버에 대해 각각 제어 코드를 작성해야 합니다. CiA402 프로필은 이 문제를 해결하는 산업 표준입니다. 모터가 CiA402를 지원하면 제조사와 관계없이 동일한 제어 시퀀스로 동작시킬 수 있습니다.

이 글에서는 CiA402의 핵심인 상태 머신(State Machine), Controlword/Statusword 비트 구조, 그리고 동작 모드(Modes of Operation)를 실제 코드 예시와 함께 설명합니다.

CiA402란?

CiA(CAN in Automation) 협회가 정의한 모터 드라이브 및 모션 제어용 표준 프로필입니다. EtherCAT과 CANopen 통신에서 널리 사용됩니다.

CiA402가 정의하는 것:

  • 모터 ON/OFF를 위한 명령 값과 주소
  • 현재 상태를 읽는 상태 값과 주소
  • 위치/속도/토크 제어를 위한 동작 모드

Object Dictionary 주요 주소

CiA402는 Object Dictionary(OD) 주소 체계를 사용합니다:

주소이름용도
0x6040Controlword모터 상태 제어 명령 전송
0x6041Statusword현재 모터 상태 읽기
0x605AQuick Stop Option Code급정지 동작 설정
0x605EFault Reaction Option Code에러 반응 동작 설정
0x6060Mode of Operation동작 모드 설정
0x6061Mode of Operation Display현재 활성 동작 모드

상태 머신 (State Machine)

CiA402의 핵심은 8개 상태로 구성된 상태 머신입니다. 모터를 켜려면 반드시 정해진 순서대로 상태를 전이해야 합니다.

상태 머신 다이어그램

CiA402 상태 머신

CiA402 상태 머신 다이어그램 - Power disabled, Power enabled, Fault 영역으로 구분

주요 운영 상태 (5개)

상태설명
Not Ready to Switch On전원 인가 후 초기화 단계
Switch On Disabled초기화 완료, 운전 불가
Ready to Switch On운전 준비 완료
Switched On앰프 전원 인가됨
Operation Enabled실제 운전 상태 - 브레이크 해제, 전류 흐름, 토크 발생

에러 처리 상태 (3개)

상태설명
Quick Stop Active사용자 요청 소프트웨어 급정지
Fault Reaction Active내부 알람 발생 후 안전 조치 수행 중
Fault안전 조치 완료 후 최종 에러 상태

Controlword와 Statusword

Controlword (0x6040) - 16비트 명령어

모터에 명령을 보내는 레지스터입니다:

비트이름설명
7Fault Reset상승 에지(0→1)에서 에러 클리어 시도
3Enable Operation실제 ON/OFF 스위치
2Quick Stop1 = 운전 허용, 0 = 급정지
1Enable Voltage전력단 전압 허용
0Switch On전원 투입 준비

Statusword (0x6041) - 16비트 상태어

모터의 현재 상태를 읽는 레지스터입니다:

비트이름설명
6Switch On Disabled초기화 또는 운전 차단 상태
5Quick Stop0 = 급정지 중
4Voltage Enabled메인 전원 정상 전압
3Fault1 = 에러 발생
2Operation Enabled현재 운전 중
1Switched On전원 인가 상태
0Ready to Switch On운전 준비 완료

Statusword 비트 패턴으로 상태 판별

상태Bit6Bit5Bit4Bit3Bit2Bit1Bit0
Not Ready to Switch On0xx0000
Switch On Disabled1xx0000
Ready to Switch On01x0001
Switched On01x0011
Operation Enabled01x0111
Quick Stop Active00x0111
Fault Reaction Active0xx1111
Fault0xx1000

Controlword 명령어 패턴

명령Bit7Bit3Bit2Bit1Bit0전이 번호
Shutdown0x1102, 6, 8
Switch On001113
Enable Operation011114
Disable Operation001115
Disable Voltage0xx0x7, 9, 10, 12
Quick Stop0x01x11
Fault Reset1000015

실제 적용 예시: Neuromeka Indy7

Neuromeka Indy7 협동 로봇의 실제 상태 전이 시퀀스입니다:

상태Statusword명령Controlword
Switch On Disabled0x220--
Ready to Switch On0x221Shutdown0x0006
Switched On0x233Switch On0x0007
Operation Enabled0x237Enable Operation0x000F

상태 전이 다이어그램 (Indy7)

동작 모드 (Modes of Operation)

CiA402는 두 가지 제어 패러다임을 제공합니다.

Profile Mode (Point-to-Point 제어)

모터 드라이버가 자체적으로 속도 프로파일을 생성합니다. 궤적 정밀도보다 목표 도달이 중요한 경우에 사용합니다.

모드모드 번호용도
Profile Position Mode1위치 프로파일 제어
Profile Velocity Mode3속도 프로파일 제어
Profile Torque Mode4토크 프로파일 제어

적용 사례: 컨베이어 벨트, 단순 Pick & Place

Cyclic Synchronous Mode (실시간 동기 제어)

상위 컨트롤러가 매 통신 주기마다 목표값을 전송합니다. 정밀한 궤적 추종이 필요한 경우에 사용합니다.

모드모드 번호용도
Cyclic Synchronous Position (CSP)8실시간 위치 제어
Cyclic Synchronous Velocity (CSV)9실시간 속도 제어
Cyclic Synchronous Torque (CST)10실시간 토크 제어

적용 사례: 협동 로봇의 임피던스 제어, 중력 보상, 고성능 산업용 로봇

언제 어떤 모드를 사용할까?

상황권장 모드이유
단순 위치 이동Profile Position드라이버가 프로파일 생성
정밀 궤적 추종CSP상위 제어기가 궤적 계산
힘 제어CST실시간 토크 명령 필요
협동 로봇CSP/CST임피던스 제어 구현

핵심 정리

  1. CiA402는 EtherCAT/CANopen 기반 모터 제어의 산업 표준으로, 제조사와 무관하게 동일한 방식으로 모터를 제어할 수 있습니다.

  2. 상태 머신은 8개 상태로 구성되며, 안전을 위해 정해진 순서대로 전이해야 합니다. 전원 인가부터 운전까지 최소 3단계(Shutdown → Switch On → Enable Operation)가 필요합니다.

  3. Controlword/Statusword는 16비트 레지스터로, 특정 비트 패턴을 통해 상태를 제어하고 읽습니다.

  4. Profile Mode는 드라이버가 프로파일을 생성하고, Cyclic Synchronous Mode는 상위 제어기가 매 주기 목표값을 전송합니다. 정밀 로봇 제어에는 CSP/CSV/CST가 적합합니다.

  5. 에러 처리는 Quick Stop, Fault Reaction, Fault 세 단계로 구성되어 안전한 정지를 보장합니다.

CiA402를 이해하면 다양한 제조사의 모터 드라이버를 동일한 코드로 제어할 수 있어, 산업용 로봇 시스템 개발이 훨씬 효율적이 됩니다.