본문으로 건너뛰기

CANopen (기계장비 / 모션)

CANopen 은 CAN 버스 위에 올린 상위 프로토콜 (CiA 301) 로, 모션 컨트롤러·서보·로봇 관절·계측기·차량 보조 시스템 등 정밀 / 결정론적 통신이 필요한 분야에서 흔히 쓰입니다.

이 게이트웨이는 공통 통합 엔진을 통해 CANopen 읽기를 지원합니다.

PlantPulse 가 CAN 버스를 직접 못 잡습니다

PlantPulse Edge 의 H/W 에는 CAN 컨트롤러가 없습니다. CANopen 슬레이브와 통신하려면 반드시 CAN ↔ Ethernet 게이트웨이 가 필요합니다.

추천 H/W비고
Anybus Communicator CANEtherNet/IP, Modbus TCP, PROFINET 등으로 변환
Ixxat CAN@net NTTCP socket 기반 raw / CANopen 라우팅
HMS Networks Ewon Cosy / Flexy + CAN extension원격지 통합
Kvaser Ethercan개발 / 디버깅용

상당수 통합 사이트는 CAN → Modbus TCP / EtherNet/IP 매핑 으로 변환하고 PlantPulse 에는 Modbus TCP / EtherNet/IP 로 등록하는 것이 더 단순합니다. 이 페이지는 게이트웨이가 CANopen 그대로 노출해 주는 경우의 가이드입니다.


등록 폼 입력값

입력 칸무엇을 적나요예시
IP 주소CAN ↔ Ethernet 게이트웨이의 IP192.168.30.40
포트게이트웨이가 노출하는 TCP 포트(벤더별, 예 19227)
Node ID (node-id)CANopen 노드 번호 (1~127)5
응답 타임아웃응답 대기 (ms)2000
Node ID 가 핵심

CANopen 은 같은 버스에 여러 슬레이브가 묶이고 각각 Node ID 로 구분됩니다. 슬레이브당 별도 연결로 등록하세요.


CANopen 기본 개념 (간단 정리)

용어의미
Object Dictionary (OD)디바이스의 모든 데이터 항목을 트리 형태로 정리한 표. 인덱스 (16-bit) + 서브인덱스 (8-bit) 로 접근
SDO (Service Data Object)점대점 읽기/쓰기. PlantPulse 가 사용하는 모드. 느리지만 임의 항목 가능
PDO (Process Data Object)사이클릭 / 이벤트 기반 push. 게이트웨이가 받아서 캐싱하는 경우가 많음
NMT (Network Management)노드 상태 머신 (Boot-up → Pre-operational → Operational → Stopped)
EDS / DCFOD 를 정의한 텍스트 파일. 벤더가 제공

OD 인덱스는 표준 영역 (0x1000~0x1FFF) 과 제조사 영역 (0x2000~), 표준 디바이스 프로파일 (0x6000~) 으로 나뉩니다.


태그의 PLC 주소 표기

OD 좌표를 <index>:<subindex> 형식으로 입력합니다. 16진 또는 10진 모두 가능.

표기의미
0x1000:0Device Type
0x1018:1Identity → Vendor ID
0x1018:2Identity → Product Code
0x6000:01(DS-401 디지털 입력 프로파일) Digital Input 1
0x6041:0(DS-402 모션 프로파일) Statusword
0x6064:0(DS-402) Position Actual Value
0x6077:0(DS-402) Torque Actual Value

좌표는 디바이스의 EDS 파일 또는 매뉴얼의 OD 표에서 확인합니다. 무료 툴 CANopen Magic / CANeds / CANopenNode 로 슬레이브를 직접 스캔할 수도 있습니다.


데이터 형식 매칭

OD 의 값데이터 형식형식 보조
BOOLEANBoolean(비움)
INTEGER8 / UNSIGNED8IntegerB
INTEGER16 / UNSIGNED16Integer(비움)
INTEGER32 / UNSIGNED32IntegerDW
REAL32FloatREAL
VISIBLE_STRINGStringSTR[N]

EDS 파일의 DataType 열을 그대로 보고 매칭하면 됩니다.


흔한 문제와 해결

증상가능한 원인해결
“No reply / SDO timeout”노드가 Pre-operational 또는 StoppedNMT 에서 Operational 로 전환 (게이트웨이 / 마스터 설정)
일부 노드만 응답 없음Node ID 충돌, 종단 저항 누락CAN 라인 양 끝 120Ω 종단, ID 중복 점검
값이 들쭉날쭉bit-rate 불일치슬레이브와 게이트웨이의 보드레이트 일치 (125k / 250k / 500k / 1M)
통신은 되는데 의미가 모호벤더별 OD 영역 (0x2000~) 사용 중벤더 매뉴얼 / EDS 의 항목 설명 확인
“Heartbeat lost”마스터 미설정게이트웨이를 마스터로 설정하거나 sync producer 활성

다음 단계

  • 고급 — REST API 의 CANopen 예제
  • 사이트가 큰 경우 PROFINET / EtherCAT 으로 마이그레이션 된 사례가 많습니다 — 신규 구축이라면 검토할 가치가 있습니다.