---
title: 6축 힘/토크 센서(AFT200, CAN)
description: 6축 힘/토크 센서(CAN)
---

[콘텐츠로 건너뛰기](https://help.aidinrobotics.co.kr/6축-힘/토크-센서-can#main-content)

- [한국어 - 대한민국](https://help.aidinrobotics.co.kr/6%EC%B6%95-%ED%9E%98/%ED%86%A0%ED%81%AC-%EC%84%BC%EC%84%9C-can)
- [English (영어)](https://help.aidinrobotics.co.kr/en/6-axis-force-torque-sensor-can)

한국어 - 대한민국

번역을 위한 하위 메뉴 보기

[![에이딘로보틱스 로고](https://help.aidinrobotics.co.kr/hs-fs/hubfs/%EB%A1%9C%EA%B3%A02%EC%97%B4_grey@2x.png?width=120&height=40&name=%EB%A1%9C%EA%B3%A02%EC%97%B4_grey@2x.png)](https://help.aidinrobotics.co.kr/?hsLang=ko-kr)

- [Full 매뉴얼](https://help.aidinrobotics.co.kr/full-%EB%A7%A4%EB%89%B4%EC%96%BC)
- [Install 가이드](https://help.aidinrobotics.co.kr/%EC%9D%B8%EC%8A%A4%ED%86%A8%EB%A0%88%EC%9D%B4%EC%85%98-%EA%B0%80%EC%9D%B4%EB%93%9C)
- [문의하기](https://www.aidinrobotics.co.kr/contact)

기본 탐색 열기

기본 탐색 종료

- [Full 매뉴얼](https://help.aidinrobotics.co.kr/full-%EB%A7%A4%EB%89%B4%EC%96%BC)
- [Install 가이드](https://help.aidinrobotics.co.kr/%EC%9D%B8%EC%8A%A4%ED%86%A8%EB%A0%88%EC%9D%B4%EC%85%98-%EA%B0%80%EC%9D%B4%EB%93%9C)
- [문의하기](https://www.aidinrobotics.co.kr/contact)
- - [한국어 - 대한민국](https://help.aidinrobotics.co.kr/6%EC%B6%95-%ED%9E%98/%ED%86%A0%ED%81%AC-%EC%84%BC%EC%84%9C-can)
    - [English (영어)](https://help.aidinrobotics.co.kr/en/6-axis-force-torque-sensor-can)

  한국어 - 대한민국
  
  번역을 위한 하위 메뉴 보기
- [Official Site](https://www.aidinrobotics.co.kr/)

[Official Site](https://www.aidinrobotics.co.kr/)

 무엇을 도와드릴까요?

- 검색 필드가 비어 있으므로 제안 사항이 없습니다.

1. [에이딘로보틱스 기술자료](https://help.aidinrobotics.co.kr/?hsLang=ko-kr)
2. [Full 매뉴얼](https://help.aidinrobotics.co.kr/full-%EB%A7%A4%EB%89%B4%EC%96%BC?hsLang=ko-kr)

2026년 6월 11일

# 6축 힘/토크 센서(AFT200, CAN)

## ✅ revision date: 2026.06.11

### 메뉴얼 안내

에이딘로보틱스 힘/토크 센서를 구매해 주셔서 감사합니다.

이 매뉴얼에는 AIDIN ROBOTICS AFT200-D80 센서를 올바르게 사용하기 위한 필수 정보가 포함되어 있습니다.

소프트웨어 사용 시 반드시 본 매뉴얼을 자세히 확인해주시기 바랍니다.

로봇 시스템이 규정된 조건 밖에서 사용될 경우, 제품의 기본 성능이 발휘되지 않을 수 있음을 알려드립니다.

이 매뉴얼은 힘/토크 센서 사용 중 발생할 수 있는 위험과 그로 인한 결과에 대해 설명하고 있습니다.

안전하고 올바른 사용을 위해 반드시 본 매뉴얼에 명시된 안전 수칙을 준수하시기 바랍니다.

### **공지**

본 매뉴얼은 AIDIN ROBOTICS의 허가 없이 복사, 재생산, 공유를 엄격히 금지합니다.

매뉴얼 또는 제공된 지침에서 오류를 발견하시면 저희에게 반드시 알려주시기 바랍니다.

(연락처: [Sales@aidinrobotics.co.kr](mailto:Sales@aidinrobotics.co.kr))

### **제조사**

주식회사 에이딘로보틱스

### **안전 수칙**

🚫 이 기호는 관련 지침을 제대로 따르지 않을 경우 심각한 부상 또는 사망 위험이 있음을 나타냅니다.

⚠️ 이 기호는 관련 지침을 제대로 따르지 않을 경우 인명 피해나 장비 및 시설의 물리적 손상 위험이 있음을 나타냅니다. 

✅ AIDIN ROBOTICS의 AFT200-D80-C 센서는 CE 인증 “A 등급”을 획득하였습니다.

### **1. 개요**

#### **1.1 6축 힘/토크 센서 AFT200-D80**

**![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png.png?width=670&height=377&name=image-png.png)**

#### **1.2 주요 특징**

- 정전용량 방식의 스마트 6축 힘/토크 센서
- 올인원 센서 (추가 증폭기 불필요)
- 디지털 출력 통신 (CAN 등)
- 간편한 설치 및 데이터 수집
- 그리퍼, 로봇 손, 협동 로봇, 산업용 로봇에 적용 가능

#### **1.3 사양**

| **Index** | **Unit** | **Value** |  |  |
| --- | --- | --- | --- | --- |
| Operating voltage | VDC | 5 |  |  |
| Max. safe excitation voltage | VDC | 12 |  |  |
| Nominal force range | N | 200 |  |  |
| Nominal torque range | Nm | 15 |  |  |
| Limit force (Fxyz) | N | 300 |  |  |
| Limit torque | Nm | 22.5 |  |  |
| Force Resolution | N | 0.15 |  |  |
| Torque Resolution | Nm | 0.015 |  |  |
| Force Noise-free resolution (STD) | N | 0.4 |  |  |
| Torque Noise-free resolution (STD) | Nm | 0.025 |  |  |
| Maximum sample rate | Hz | 1,000 |  |  |
| Dimensions | mm | D80 x H21.5 |  |  |
| IP rating |  | IP56 |  |  |
| Operating temperature |  | 10-50℃ |  |  |

#### **1.4 Flyer**

[\[AIDIN ROBOTICS\] AFT MINI+AFT200 leaflet(KO, 26.06).pdf](https://help.aidinrobotics.co.kr/hubfs/%EC%97%90%EC%9D%B4%EB%94%98%20%EB%A6%AC%ED%94%8C%EB%A0%9B/%5BAIDIN%20ROBOTICS%5D%20AFT%20MINI+AFT200%20leaflet(KO%2c%2026.06).pdf?hsLang=ko-kr)

 

### **2. 설치 가이드**

#### **2.1 Basic Components**

- AFT200-D80 x 1 EA
- 3m 케이블 x 1 EA

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-1.png?width=670&height=463&name=image-png-1.png)

#### **2.2 마운팅**

- M5 볼트의 체결 토크는 5.2Nm입니다.
- 내부/외부 볼트를 분해할 경우 성능 보증이 불가능하며, A/S가 제공되지 않습니다.

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-3.png?width=670&height=274&name=image-png-3.png)

- 센서 체결순서

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-2.png?width=670&height=583&name=image-png-2.png)

- **케이블 절단 및 과도한 당김에 대한 주의사항**
- 센서 라인이 로봇 움직임에 따라 당겨지지 않도록 로봇과 함께 안전하게 고정해 주세요.
  
    - 케이블 타이 등으로 로봇에 직접 고정하거나, 다른 선들과 함께 묶어서 케이블 타이로 고정하는 것은 금지합니다.
    - 로봇과 고정할 때는 벨크로(찍찍이)를 사용하는 것을 권장하며, 다른 선들과 묶을 경우에도 벨크로를 사용해 고정해 주세요.

💡 체결 토크 가이드에 따르지 않을 경우 성능 보증이 불가능합니다.

💡 센서 라인이 로봇에 고정되지 않으면, 당기는 힘으로 인해 출력 신호에 노이즈가 발생할 수 있습니다.

💡 자세한 설치 가이드는 다음을 참고해 주세요: 

#### **2.3 축&도면**

**![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-4.png?width=670&height=603&name=image-png-4.png)**

**![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-36-10-5254-AM.png?width=670&height=471&name=image-png-Sep-01-2025-12-36-10-5254-AM.png)**

Drawing File : 

[AFT200\_D80.pdf](https://help.aidinrobotics.co.kr/hubfs/%EC%97%90%EC%9D%B4%EB%94%98%20%EB%8F%84%EB%A9%B4/AFT200_D80_Drawing.pdf?hsLang=ko-kr)

Step File:

[AFT200-D80-C\_배포용.STEP](https://help.aidinrobotics.co.kr/hubfs/%EC%97%90%EC%9D%B4%EB%94%98%20%EC%8A%A4%ED%85%9D%ED%8C%8C%EC%9D%BC/AFT200-D80-C_%EB%B0%B0%ED%8F%AC%EC%9A%A9.STEP.zip?hsLang=ko-kr)

💡 **Port Location Notice**

- **EtherCAT** Type model has two ports: **IN** and **OUT**.
- **Ethernet** Type model has one port, located on the **left side**.
- **CAN** Type model has one port, located on the **right side**.

#### **2.4 와이어링**

##### **2.4.1 핀 홀**

**![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-40-22-3247-AM.png?width=670&height=201&name=image-png-Sep-01-2025-12-40-22-3247-AM.png)**

**![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-40-36-8418-AM.png?width=670&height=194&name=image-png-Sep-01-2025-12-40-36-8418-AM.png)**

##### **2.4.2 케이블**

- 케이블 핀 배선
  
    - 길이: 3m

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-41-02-2153-AM.png?width=331&height=229&name=image-png-Sep-01-2025-12-41-02-2153-AM.png)

- - 5V(VCC) – 오렌지색에 검은점
    - GND – 회색에 검은점
    - CANH – 노란색에 검은점

💡 다른 핀은 사용하지 않습니다.

- - PCB 연결 설치 가이드
      
          - 아래 그림과 같이 선을 삽입한 후 터미널의 볼트를 조여 고정하세요.
          - 각 연결 지점은 PCB 상에 표시되어 있으며, 연결 순서는 다음과 같습니다:

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-42-08-7517-AM.png?width=670&height=241&name=image-png-Sep-01-2025-12-42-08-7517-AM.png)

1. 센서 커넥터 (센서와 연결되는 커넥터 부분)
2. 이더넷 커넥터 (PC와 연결되는 커넥터 부분)
3. 센서 커넥터
   
   a. 상단 2포트 터미널 블록: VCC, GND
   
   b. 하단 4포트 터미널 블록: VCC, GND, CAN High, CAN Low (선택 사항)

- VCC와 GND는 안정적으로 5V 전원을 공급하는 장치에 연결해야 합니다.
- 9핀 D-sub 커넥터는 eCAN 장치와 연결됩니다.

🚫 승인을 받은 전원 공급장치만 사용하시는 것을 권장합니다.

#### **2.5 기본 데이터 출력 속도**

- 출력 속도는 100Hz에서 1000Hz까지 선택할 수 있습니다.
- 변경 방법은 아래의 “2.5 모드 설정”을 참고해 주세요.

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-44-01-9762-AM.png?width=382&height=106&name=image-png-Sep-01-2025-12-44-01-9762-AM.png)

#### **2.6 모드 세팅**

**![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-44-36-6947-AM.png?width=670&height=216&name=image-png-Sep-01-2025-12-44-36-6947-AM.png)**

💡 센서 신호를 안정적으로 유지하기 위해 약 30분간 작동하는 것을 권장합니다.

- 사용 전 **최소 10분 이상** 센서 데이터를 켜주시기 바랍니다.

💡 데이터를 켠 직후 10분간의 센서 출력 데이터는 다소 변동이 있을 수 있습니다.

##### **2.6.1 모드 세팅**

#### **CAN ID 세팅 모드**

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-47-30-7723-AM.png?width=670&height=127&name=image-png-Sep-01-2025-12-47-30-7723-AM.png)

- 데이터 필드 \[0\] : 현재 설정 ID (공장 기본값 0x01)
- 데이터 필드 \[2\] : 전송을 위한 사용자 설정 ID

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-47-53-3149-AM.png?width=670&height=120&name=image-png-Sep-01-2025-12-47-53-3149-AM.png)

#### **바이어스 설정 모드**

**![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-48-47-6892-AM.png?width=670&height=127&name=image-png-Sep-01-2025-12-48-47-6892-AM.png)**

- 데이터 필드 \[2\]: 0x00 — 온도 보상 없이 바이어스 설정 (이 명령은 온도 보상 없이 전송 모드 명령과 함께 사용해야 합니다)
- 데이터 필드 \[2\]: 0x01 — 온도 보상과 함께 바이어스 설정 (이 명령은 온도 보상과 함께 전송 모드 명령과 함께 사용해야 합니다)

#### **연속 전송 모드**

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-49-41-3979-AM.png?width=670&height=113&name=image-png-Sep-01-2025-12-49-41-3979-AM.png)

- 데이터 필드 \[2\]: 0x00 — 온도 보상 없이 전송 모드 (이 명령은 온도 보상 없이 바이어스 설정 명령과 함께 사용해야 합니다)
- 데이터 필드 \[2\]: 0x01 — 온도 보상과 함께 전송 모드 (이 명령은 온도 보상과 함께 바이어스 설정 명령과 함께 사용해야 합니다)

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-50-23-1711-AM.png?width=670&height=167&name=image-png-Sep-01-2025-12-50-23-1711-AM.png)

- Fx 출력 = Force Output\[0\] × 256 + Force Output\[1\]
- Fy 출력 = Force Output\[2\] × 256 + Force Output\[3\]
- Fz 출력 = Force Output\[4\] × 256 + Force Output\[5\]
- 힘 \[N\] = Force Output ÷ 100 − 300

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-50-46-8791-AM.png?width=670&height=143&name=image-png-Sep-01-2025-12-50-46-8791-AM.png)

- Tx 출력 = Torque Output \[0\]\*256 + Torque Output\[1\]
- Ty 출력 = Torque Output \[2\]\*256 + Torque Output\[3\]
- Tz 출력 = Torque Output \[4\]\*256 + Torque Output\[5\]
- Torque\[Nm\] = Force Output/500-50

#### **샘플 속도(Sample rate) 설정 모드**

**![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-51-19-6788-AM.png?width=670&height=158&name=image-png-Sep-01-2025-12-51-19-6788-AM.png)**

- Data field \[2\] : Sample rate parameter \[0\]
- Data field \[3\] : Sample rate parameter \[1\]
- Sample rate parameter = Sample rate parameter \[0\] \* 256 + Sample rate parameter \[1\]
- Sample rate = (1,000,000/Sample rate parameter)
  
  ex) 1000Hz, Sample rate parameter \[0\] = 0x03, Sample rate parameter \[1\] = 0xE8
  
  ex) 500Hz, Sample rate parameter \[0\] = 0x07, Sample rate parameter \[1\] = 0xD0
  
  ex) 333Hz, Sample rate parameter \[0\] = 0x0B, Sample rate parameter \[1\] = 0xB8
  
  ex) 200Hz, Sample rate parameter \[0\] = 0x13, Sample rate parameter \[1\] = 0x88
  
  ex) 100Hz, Sample rate parameter \[0\] = 0x27, Sample rate parameter \[1\] = 0x10

#### **ID 확인 모드**

**![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-51-53-4585-AM.png?width=670&height=93&name=image-png-Sep-01-2025-12-51-53-4585-AM.png)**

**![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-53-18-3432-AM.png?width=670&height=99&name=image-png-Sep-01-2025-12-53-18-3432-AM.png)**

#### **팩토리 리셋 모드**

**![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-53-49-7906-AM.png?width=670&height=92&name=image-png-Sep-01-2025-12-53-49-7906-AM.png)**

##### **2.6.2 디바이스**

#### **USB-to-CAN 디바이스**

- 다른 CAN 통신 지원 보드를 사용할 수 있으나, 샘플 프로그램을 사용하려면 반드시 IXXAT의 컨버터를 사용해야 합니다.

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-55-47-5059-AM.png?width=670&height=310&name=image-png-Sep-01-2025-12-55-47-5059-AM.png)

[USB-to-CAN V2 (ixxat.com)](https://www.ixxat.com/products/products-industrial/can-interfaces/usb-can-interfaces/usb-to-can-v2-professional?ordercode=1.01.0281.12001), **Version used in the manual**: 1.01.0281.11001

[Downloads and Documentation for Ixxat Products](https://www.ixxat.com/technical-support/resources/downloads-and-documentation?ordercode=1.01.0281.12001), **VCI V4** - Windows 11, 10, 8, 7 \[Driver, canAnalyser-Mini, Manuals, LabView and other add-ons\]\*

- Ixxat VCI Setup 4.0.xxx.0.exe
- 설치 중 VCI V4를 확인하고, 설치 완료 후 재부팅하십시오.

**EtherNET to CAN 디바이스**

- Systembase의 eCAN 모델 사용

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-12-59-46-7757-AM.png?width=474&height=474&name=image-png-Sep-01-2025-12-59-46-7757-AM.png)

- 아래 사이트를 통해 매뉴얼과 ecANView 프로그램을 다운받아 주십시오.
  
  [https://www.sysbas.com/en/downloads/ecan/](https://www.sysbas.com/en/downloads/ecan/)

#### **2.7 힘/토크 범위 초과**

센서는 단일 축 하중 조건에서 정격 용량까지 동작할 수 있습니다. 정격 용량을 초과하면 측정값이 부정확하고 유효하지 않습니다.

복합 하중의 정격 용량은 다음과 같습니다. 아래 그림은 복합 하중 시나리오를 나타낸 것입니다. 센서는 정상 동작 범위를 벗어난 조건에서는 작동할 수 없습니다.

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-00-24-7868-AM.png?width=670&height=254&name=image-png-Sep-01-2025-01-00-24-7868-AM.png)

아래 그래프는 **AFT200-D80-C 센서**를 사용할 때, 중간~고난이도 수준의 정밀도가 요구되는 응용 분야에서 적용 가능한 **하중 범위와 공구 길이**를 보여줍니다.

- **Fxy 축**과 **Tz 축**에서 사용되는 보정 범위의 총 비율이 **105%를 초과**하는 경우. 해당 내용은 아래의 **Fxy, Tz 계산식**을 참조하십시오.

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-00-53-2317-AM.png?width=496&height=70&name=image-png-Sep-01-2025-01-00-53-2317-AM.png)

- Fz 축과 Txy 축에서 사용되는 보정 범위의 총 비율이 105%를 초과하는 경우. 해당 내용은 아래의 Fz, Txy 계산식을 참조하십시오. 
  
  ![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-01-24-1910-AM.png?width=465&height=66&name=image-png-Sep-01-2025-01-01-24-1910-AM.png)

### **3. 소프트웨어**

#### **3.1.1. IXXAT’s USB-to-CAN**

- 샘플 프로그램 (IXXAT 제공)
  
    - CanAnalyzer3 Mini
      
      windows → IXXAT folder → IXXAT CanAnalyzer3 Mini

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-02-04-5164-AM.png?width=670&height=482&name=image-png-Sep-01-2025-01-02-04-5164-AM.png)

- 에이딘로보틱스 제공 샘플 프로그램
  
    - 아래 IXXAT CAN VCI V4와 인스톨러를 설치해주세요
    - 샘플 프로그램
      
      [Installer.zip](https://help.aidinrobotics.co.kr/hubfs/%EC%97%90%EC%9D%B4%EB%94%98%20%EC%9D%B8%EC%8A%A4%ED%86%A8%EB%9F%AC%20%EC%84%A4%EC%B9%98/Installer.zip?hsLang=ko-kr)
      
      [AFT SAMPLE\_v1.1.zip](https://help.aidinrobotics.co.kr/hubfs/%EC%97%90%EC%9D%B4%EB%94%98%20%EC%84%BC%EC%84%9C%20%EC%97%B0%EA%B2%B0%ED%9B%84%20%EC%8B%A4%ED%96%89%20%EC%83%98%ED%94%8C/AFT%20SAMPLE_v1.1.zip?hsLang=ko-kr)
      
      [AFT SERIES SAMPLE\_v1.2.zip](https://help.aidinrobotics.co.kr/hubfs/%EC%97%90%EC%9D%B4%EB%94%98%20%EC%84%BC%EC%84%9C%20%EC%97%B0%EA%B2%B0%ED%9B%84%20%EC%8B%A4%ED%96%89%20%EC%83%98%ED%94%8C/AFT%20SERIES%20SAMPLE_v1.2.zip?hsLang=ko-kr)
    - 설치 후 AFT Series Sample을 실행합니다.
- 프로그램 설치시 나타나는 팝업창
  
  ![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-08-28-5468-AM.png?width=670&height=362&name=image-png-Sep-01-2025-01-08-28-5468-AM.png)

1. **CAN 장치 선택**
   
   장치를 선택하십시오. 현재 PC에 연결된 장치들이 목록에 표시됩니다.
   
   해당 장치를 클릭한 후 **OK** 버튼을 누르십시오.
   
   ※ 샘플 프로그램은 **IXXAT의 USB-ittto-CAN 컨버터**를 기반으로 합니다.
   
   ![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-09-02-3025-AM.png?width=463&height=216&name=image-png-Sep-01-2025-01-09-02-3025-AM.png)
2. **CAN 컨트롤러 선택**
   
   이전 단계에서 선택한 장치 이름이 표시됩니다. 아래에서 컨트롤러 채널을 선택한 후 **OK** 버튼을 누르십시오.
   
   ![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-11-04-1822-AM.png?width=404&height=197&name=image-png-Sep-01-2025-01-11-04-1822-AM.png)
3. **CAN 컨트롤러 초기 설정**
   
   이전 단계에서 선택한 컨트롤러를 초기화하는 단계입니다. 프레임과 전송 속도(baud rate)를 확인한 후 **OK**버튼을 누르십시오.
   
   ![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-12-08-5986-AM.png?width=532&height=490&name=image-png-Sep-01-2025-01-12-08-5986-AM.png)

- 샘플 프로그램 화면 예시  
  ![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-13-20-6920-AM.png?width=670&height=399&name=image-png-Sep-01-2025-01-13-20-6920-AM.png)
  
   
  
  ① 프로그램 실행 버튼
  
  프로그램 실행 버튼 입니다.
  
  ② 그래프 플롯
  
  실시간 6축 힘/토크에 대한 값을 보실 수 있습니다.
  
  ③ CAN ID
  
  연결된 센서의 CAN ID를 설정합니다. 여러 개의 ID가 있을 경우 가장 낮은 ID를 입력하세요.
  
  예) 0x01(1), 0x02(2)가 있다면 1을 입력합니다.
  
  ④ CAN 전송
  
  6축 힘/토크 값을 출력하기 위해 CAN 메시지를 전송합니다.
  
  예: CAN Msg \[0x102, 0x01, 0x03, 0x01\]
  
  ⑤ 바이어스
  
  6축 힘/토크 데이터를 모두 초기화하여 0으로 설정합니다.
  
  ⑥ 정지
  
  프로그램을 종료합니다. STOP 버튼을 두 번 누르면 3초 후 프로그램이 종료됩니다.
  
  ⑦ 데이터 수집
  
  힘/토크 데이터 로그를 저장합니다. 데이터 저장 관련 내용은 아래 페이지 설명을 참고하세요.
  
  ⑧ 데이터 파일 경로 저장
  
  힘/토크 데이터 로그를 저장할 경로를 설정합니다. 데이터 저장 관련 내용은 아래 설명을 참고하세요.

#### **3.1.2 데이터 로그 저장**

1. **저장 디렉토리 설정**
   
   폴더 버튼을 터치하면 팝업 창이 열립니다. 원하는 디렉토리 내의 파일(.txt)을 선택한 후 **OK** 버튼을 눌러 지정하세요. ‘경로(Path)’에 표시된 경로를 확인합니다. (지정한 경로에 파일이 없으면 자동으로 파일이 생성됩니다.)
   
   ![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-15-12-2372-AM.png?width=508&height=426&name=image-png-Sep-01-2025-01-15-12-2372-AM.png)
2. **데이터 로그 저장하기**
   
   ‘데이터 수집(Collect Data)’ 버튼을 눌러 저장을 시작합니다. 저장이 시작되면 버튼이 형광색으로 표시됩니다.
   
   저장을 종료하려면 버튼을 다시 누르세요.
   
   데이터는 파일에 누적되어 저장되므로, 저장할 때마다 새 파일을 지정하는 것을 권장합니다.
   
   ![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-15-41-2763-AM.png?width=461&height=205&name=image-png-Sep-01-2025-01-15-41-2763-AM.png)
3. **데이터 로그 확인하기**
   
   지정한 디렉토리에서 파일을 열어 저장된 힘/토크 데이터를 확인할 수 있습니다.
   
   데이터는 Fx, Fy, Fz, Tx, Ty, Tz 순서로 각 열에 저장되어 있습니다.

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-17-19-2202-AM.png?width=503&height=385&name=image-png-Sep-01-2025-01-17-19-2202-AM.png)

##### **3.2.1 시스템베이스의 EtherNET to CAN**

- 에이딘로보틱스 제공 샘플 프로그램
  
  [AIDIN\_Sample\_EtherNET.zip](https://help.aidinrobotics.co.kr/hubfs/%EC%97%90%EC%9D%B4%EB%94%98%20%EC%84%BC%EC%84%9C%20%EC%97%B0%EA%B2%B0%ED%9B%84%20%EC%8B%A4%ED%96%89%20%EC%83%98%ED%94%8C/AIDIN_Sample_EtherNET.zip?hsLang=ko-kr)
  
    - AIDIN\_Installer→Volume→setup , Install setup
    - **Set IP through Systembase's manual or the document below**
    - [AFT200-D80 EtherNET Communication](https://www.notion.so/6-CAN-25d15ac420258090a43cc7e390ff1058?pvs=21)
    - Run AIDIN\_Sample\_EN→AIDIN\_Sample\_EN.exe
- 샘플 프로그램 작동시 팝업 창 상태

**![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-28-21-3870-AM.png?width=670&height=502&name=image-png-Sep-01-2025-01-28-21-3870-AM.png)**

- 샘플 프로그램 인터페이스

![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-29-26-9133-AM.png?width=670&height=482&name=image-png-Sep-01-2025-01-29-26-9133-AM.png)

① **프로그램 실행**

샘플 프로그램을 실행합니다.

② **STOP**

프로그램을 종료합니다. STOP 버튼을 두 번 누르면 3초 후 프로그램이 종료됩니다.

③ **CAN 전송 메시지**

CAN Msg \[0x102, 0x01, 0x03, 0x01\]

④ **CAN 전송 버튼**

6축 힘/토크 값을 출력하기 위해 CAN 메시지를 전송합니다.

⑤ **IP 설정**

위 설정에서 일치하는 센서의 IP를 입력합니다.

⑥ **필터링**

기본적으로 LPF 필터가 설정되어 있으며, 0에서 9.9까지 설정 가능 (10은 불가).

⑦ **데이터 파일 경로 저장**

힘/토크 데이터 로그를 저장할 경로를 설정합니다. 데이터 저장 관련 내용은 아래 페이지 설명을 참고하세요.

⑧ **데이터 수집**

힘/토크 데이터 로그를 저장합니다. 데이터 저장 관련 내용은 아래 페이지 설명을 참고하세요.

⑨ **BIAS, PAUSE**

6축 힘/토크 데이터를 모두 초기화하여 0으로 설정합니다.

설치나 부착물의 영향을 제거하여 원하는 힘 값을 측정할 수 있습니다.

PAUSE 버튼을 클릭하면 센서 데이터 값을 일시 정지할 수 있습니다.

⑩ **그래프**

6축 힘/토크 데이터(Fx, Fy, Fz, Tx, Ty, Tz)의 실시간 데이터를 그래프로 확인할 수 있습니다.

#### **3.2.2 데이터로그 저장**

**![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-30-52-2366-AM.png?width=670&height=51&name=image-png-Sep-01-2025-01-30-52-2366-AM.png)**

1. **저장 디렉토리 설정**
   
   폴더 버튼을 터치하면 팝업 창이 열립니다. 원하는 디렉토리 내에서 파일(.txt)을 지정하세요.
   
   ‘경로(Path)’에 표시된 경로를 확인합니다.
   
   (지정한 경로에 파일이 없으면 자동으로 파일이 생성됩니다.)
2. **데이터 로그 저장하기**
   
   ‘데이터 수집(Collect Data)’ 버튼 아래의 버튼을 눌러 저장을 시작합니다.
   
   저장 중일 때 버튼은 형광색으로 표시됩니다.
   
     - 저장을 종료하려면 버튼을 다시 누르세요. 데이터는 파일에 누적 저장되므로, 저장할 때마다 새 파일을 지정하는 것을 권장합니다.
     - ‘리셋(Reset)’ 버튼을 클릭하면 저장된 데이터가 초기화되고 다시 저장이 시작됩니다.리셋 버튼 사용 시 주의해 주세요.  
       ![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-32-20-8054-AM.png?width=670&height=54&name=image-png-Sep-01-2025-01-32-20-8054-AM.png)
3. **데이터 로그 확인하기**
   
   지정한 디렉토리에서 파일을 열어 저장된 힘/토크 데이터를 확인할 수 있습니다.
   
   데이터는 Fx, Fy, Fz, Tx, Ty, Tz 순서로 각 열에 저장되어 있습니다.
   
   ![](https://help.aidinrobotics.co.kr/hs-fs/hubfs/image-png-Sep-01-2025-01-33-22-7621-AM.png?width=503&height=385&name=image-png-Sep-01-2025-01-33-22-7621-AM.png)

#### **소스코드**

1. 파이썬 코드 – Client

#\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

\#

\# Author: AIDIN ROBOTICS \<info@aidinrobotics.com\>

\# Date: 12-08-2023

\#

\# ----------------------------------------------------------------------

\#

\# This program is free software; you can redistribute it and/or modify

\# it under the terms of the GNU General Public License as published by

\# the Free Software Foundation; either version 2 of the License, or

\# (at your option) any later version.

\#

\# This program is distributed in the hope that it will be useful,

\# but WITHOUT ANY WARRANTY; 

\#

#\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/

import struct

import socket

 

IP\_ADDR = '192.168.0.223'

PORT = 4001

 

CMD\_TYPE\_SENSOR\_ID = '01'

SENSOR\_TRANSMIT\_TYPE\_MODE = '03'

SENSOR\_TRANSMIT\_TYPE\_SET\_TEMP = '01'

 

s = socket.socket(socket.AF\_INET, socket.SOCK\_STREAM)

 

def main():

global s

s.settimeout(2.0)

s.connect((IP\_ADDR, PORT))

 

sendData = '04' + '00' + '00' + '01' + '02'+ '06' + CMD\_TYPE\_SENSOR\_ID + SENSOR\_TRANSMIT\_TYPE\_MODE+SENSOR\_TRANSMIT\_TYPE\_SET\_TEMP

sendData = bytearray.fromhex(sendData)

s.send(sendData)

recvData = recvMsg()

 

#Initializing

Fx=0

Fy=0

Fz=0

Tx=0

Ty=0

Tz=0

 

for i in range(10000):

recvData = recvMsg()

if recvData\[4\]==0x01:

Fx = ((recvData\[6\]\*256+recvData\[7\])/100.)-300.

Fy = ((recvData\[8\]\*256+recvData\[9\])/100.)-300.

Fz = ((recvData\[10\]\*256+recvData\[11\])/100.)-300.

\# print("Fx : " + str(round(Fx,2)) + " " + "Fy : " + str(round(Fy,2)) + " " + "Fz : " + str(round(Fz,2)) + " ")

elif recvData\[4\]==0x02:

Tx = ((recvData\[6\]\*256+recvData\[7\])/500.)-50.

Ty = ((recvData\[8\]\*256+recvData\[9\])/500.)-50.

Tz = ((recvData\[10\]\*256+recvData\[11\])/500.)-50.

\# print("Tx : " + str(round(Tx,2)) + " " + "Ty : " + str(round(Ty,2)) + " " + "Tz : " + str(round(Tz,2)) + " ")

print("Fx : " + str(round(Fx,2)) + " " + "Fy : " + str(round(Fy,2)) + " " + "Fz : " + str(round(Fz,2)) + " " +"Tx : " + str(round(Tx,2)) + " " + "Ty : " + str(round(Ty,2)) + " " + "Tz : " + str(round(Tz,2)) + " ")

s.close()

 

def recvMsg():

recvData = bytearray(s.recv(14))

 

printMsg(recvData)

 

return recvData

 

def printMsg(msg):

 

dataStr = "DATA: "

for i in range(6, 14):

dataStr += str(msg\[i\]) + " "

 

\# print(dataStr)

 

if \_\_name\_\_ == "\_\_main\_\_":

main()

2\. 윈도우 코드 - 클라이언트(C++)

/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

\*

\* Author: AIDIN ROBOTICS \<info@aidinrobotics.com\>

\* Date: 12-08-2023

\*

\* ----------------------------------------------------------------------

\*

\* This program is free software; you can redistribute it and/or modify

\* it under the terms of the GNU General Public License as published by

\* the Free Software Foundation; either version 2 of the License, or

\* (at your option) any later version.

\*

\* This program is distributed in the hope that it will be useful,

\* but WITHOUT ANY WARRANTY; 

\*

\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/

 

//Std

#pragma comment(lib, "ws2\_32.lib")

#include \<iostream\>

 

//Windows Socket

#include \<winsock2.h\>

#include \<ws2tcpip.h\>

 

 

#define IP\_ADDR "192.168.0.223"

#define PORT 4001

 

#define CMD\_TYPE\_SENSOR\_ID          0x01

#define SENSOR\_TRANSMIT\_TYPE\_MODE  0x03

#define SENSOR\_TRANSMIT\_TYPE\_SET\_TEMP 0x01

 

void printMsg(const char \*msg);

void recvMsg(char \*msg);

double bytesToDouble(const char \*bytes);

 

SOCKET socket\_desc;

 

int main()

{

    WSADATA wsadata;

    int error = WSAStartup(0x0202, &wsadata);

    if (wsadata.wVersion != 0x0202)

    {

        WSACleanup(); //Clean up Winsock

        return false;

    }

 

    socket\_desc = socket(AF\_INET, SOCK\_STREAM, IPPROTO\_TCP);

    if (socket\_desc \< 0)

      std::cout \<\< "error opening socket" \<\< std::endl;

struct sockaddr\_in server;

 

server.sin\_addr.s\_addr = inet\_addr(IP\_ADDR);

    server.sin\_family = AF\_INET;

server.sin\_port = htons(PORT);

 

 

    std::cout \<\< "Connecting..." \<\< std::endl;

 

    if(error = connect(socket\_desc , (SOCKADDR\*)&server , sizeof(server))) {

        std::cout \<\< "Error code: " \<\< error \<\< std::endl;

return 1;

}

 

std::cout \<\< "Connected to the AFT200-D80 Module" \<\< std::endl;

 

char recvData\[50\] = {0};

char sendData\[10\] = {0};

 

sendData\[0\] = 0x04;

sendData\[1\] = 0x00;

sendData\[2\] = 0x00;

sendData\[3\] = 0x01;

sendData\[4\] = 0x02;

sendData\[5\] = 0x06;

sendData\[6\] = CMD\_TYPE\_SENSOR\_ID;

sendData\[7\] = SENSOR\_TRANSMIT\_TYPE\_MODE;

sendData\[8\] = SENSOR\_TRANSMIT\_TYPE\_SET\_TEMP;

 

send(socket\_desc, sendData, 10, 0);

recvMsg(recvData);

 

double Fx, Fy, Fz, Tx, Ty, Tz;

for(size\_t i = 0; i \< 10000; ++i) {

recvMsg(recvData);

if(recvData\[4\]==0x01){

Fx = ((recvData\[6\]\*256+recvData\[7\])/100.)-300.;

Fy = ((recvData\[8\]\*256+recvData\[9\])/100.)-300.;

Fz = ((recvData\[10\]\*256+recvData\[11\])/100.)-300.;

}

 

else if(recvData\[4\]==0x02){

Tx = ((recvData\[6\]\*256+recvData\[7\])/500.)-50.;

Ty = ((recvData\[8\]\*256+recvData\[9\])/500.)-50.;

Tz = ((recvData\[10\]\*256+recvData\[11\])/500.)-50.;

}

 

std::cout \<\< Fx \<\< " " \<\< Fy \<\< " " \<\< Fz \<\< " " \<\< Tx \<\< " " \<\< Ty \<\< " " \<\< Tz \<\< std::endl;

}

 

closesocket(socket\_desc);

 

return 0;

}

 

void recvMsg(char \*msg) {

size\_t received = recv(socket\_desc, msg, 14, 0);

 

printMsg(msg);

}

 

void printMsg(const char \*msg)

{

for(size\_t i = 6; i \< 14; ++i) {

//std::cout \<\< (int)msg\[i\] \<\< " ";

}

 

//std::cout \<\< std::endl \<\< std::endl;

};

3\. 리눅스 - 클라이언트

/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

\*

\* Author: AIDIN ROBOTICS \<info@aidinrobotics.com\>

\* Date: 12-08-2023

\*

\* ----------------------------------------------------------------------

\*

\* This program is free software; you can redistribute it and/or modify

\* it under the terms of the GNU General Public License as published by

\* the Free Software Foundation; either version 2 of the License, or

\* (at your option) any later version.

\*

\* This program is distributed in the hope that it will be useful,

\* but WITHOUT ANY WARRANTY; 

\*

\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/

 

//Std

#include \<iostream\>

 

//Linux Socket

#include \<sys/socket.h\>

#include \<arpa/inet.h\>

#include \<unistd.h\>

 

#define IP\_ADDR "192.168.0.223"

#define PORT 4001

 

#define CMD\_TYPE\_SENSOR\_ID          0x01

#define SENSOR\_TRANSMIT\_TYPE\_MODE  0x03

#define SENSOR\_TRANSMIT\_TYPE\_SET\_TEMP 0x01

 

 

void printMsg(const char \*msg);

void recvMsg(char \*msg);

double bytesToDouble(const char \*bytes);

 

int socket\_desc;

 

int main()

{

socket\_desc = socket(AF\_INET, SOCK\_STREAM, 0);

struct sockaddr\_in server;

 

server.sin\_addr.s\_addr = inet\_addr(IP\_ADDR);

server.sin\_family = AF\_INET;

server.sin\_port = htons(PORT);

 

if(connect(socket\_desc , (struct sockaddr \*)&server , sizeof(server)) \< 0) {

return 1;

}

 

std::cout \<\< "Connected to the CANToEth Module" \<\< std::endl;

 

char recvData\[50\] = {0};

char sendData\[10\] = {0};

 

sendData\[0\] = 0x04;

sendData\[1\] = 0x00;

sendData\[2\] = 0x00;

sendData\[3\] = 0x01;

sendData\[4\] = 0x02;

sendData\[5\] = 0x06;

sendData\[6\] = CMD\_TYPE\_SENSOR\_ID;

sendData\[7\] = SENSOR\_TRANSMIT\_TYPE\_MODE;

sendData\[8\] = SENSOR\_TRANSMIT\_TYPE\_SET\_TEMP;

 

send(socket\_desc, sendData, 10, 0);

recvMsg(recvData);

 

double Fx, Fy, Fz, Tx, Ty, Tz;

for(size\_t i = 0; i \< 10000; ++i) {

recvMsg(recvData);

if(recvData\[4\]==0x01){

Fx = ((recvData\[6\]\*256+recvData\[7\])/100.)-300.;

Fy = ((recvData\[8\]\*256+recvData\[9\])/100.)-300.;

Fz = ((recvData\[10\]\*256+recvData\[11\])/100.)-300.;

}

 

else if(recvData\[4\]==0x02){

Tx = ((recvData\[6\]\*256+recvData\[7\])/500.)-50.;

Ty = ((recvData\[8\]\*256+recvData\[9\])/500.)-50.;

Tz = ((recvData\[10\]\*256+recvData\[11\])/500.)-50.;

}

 

std::cout \<\< Fx \<\< " " \<\< Fy \<\< " " \<\< Fz \<\< " " \<\< Tx \<\< " " \<\< Ty \<\< " " \<\< Tz \<\< std::endl;

}

 

close(socket\_desc);

 

return 0;

}

 

 

void recvMsg(char \*msg) {

size\_t received = recv(socket\_desc, msg, 14, 0);

 

printMsg(msg);

}

 

void printMsg(const char \*msg)

{

 

for(size\_t i = 6; i \< 14; ++i) {

//std::cout \<\< (int)msg\[i\] \<\< " ";

}

 

//std::cout \<\< std::endl \<\< std::endl;

};

[**^ 처음으로 돌아가기**](https://help.aidinrobotics.co.kr/6축-힘/토크-센서-can#AFT200-CAN-FirstPage)

- [Full 매뉴얼](https://help.aidinrobotics.co.kr/full-%EB%A7%A4%EB%89%B4%EC%96%BC?hsLang=ko-kr)
- [인스톨레이션 가이드](https://help.aidinrobotics.co.kr/%EC%9D%B8%EC%8A%A4%ED%86%A8%EB%A0%88%EC%9D%B4%EC%85%98-%EA%B0%80%EC%9D%B4%EB%93%9C?hsLang=ko-kr)

[![에이딘로보틱스](https://help.aidinrobotics.co.kr/hs-fs/hubfs/%EB%A1%9C%EA%B3%A01%EC%97%B4_grey.png?width=160&height=16&name=%EB%A1%9C%EA%B3%A01%EC%97%B4_grey.png "에이딘로보틱스")](https://help.aidinrobotics.co.kr/help?hsLang=ko-kr)

**(주)에이딘로보틱스, AIDIN ROBOTICS Inc.**​

5F, 12-20, Simin-daero 327beon-gil, Dongan-gu, Anyang-si,Gyeonggi-do, South Korea (14055)​  
영업/마케팅/PR: [sales@aidinrobotics.co.kr](mailto:sales@aidinrobotics.co.kr) | 채용문의: [hr@aidinrobotics.co.kr](mailto:hr@aidinrobotics.co.kr) | 기업문의: [info@aidinrobotics.co.kr](mailto:info@aidinrobotics.co.kr) |  Tel: +82-31-360-7926

<http://linkedin.com/company/89803190/> <https://www.facebook.com/aidinrobotics> <https://instagram.com/aidinrobotics/> <https://www.youtube.com/channel/UCl-oWZpe9Cx48BuTRgk7QnA>

Copyright @ AIDIN ROBOTICS 2024   I  [개인정보처리방침](https://www.aidinrobotics.co.kr/privacypolicy)