튜토리얼 2: 가속도 센서 사용 예제
1. EtherCAT 슬레이브
본 튜토리얼에서는 Beckhoff EL3004 를 슬레이브 장치로 하여 Dytran Instruments, Inc.의 가속도 센서 측정 값을 읽어오는 EtherCAT 시스템 인터페이스를 구축하는 예제를 소개합니다. 튜토리얼에서 시스템 인터페이스를 구성할 EtherCAT 슬레이브와 센서에 대한 정보는 아래 표와 같습니다.
종류 | 설명 | 수량 | Beckhoff EL3004 | 아날로그 입력 터미널 | 1 |
---|---|---|
Beckhoff EL9505 | 파워 서플라이 터미널 | 1 |
Beckhoff EK1100 | EtherCAT 커플러 | 1 |
Dytran instruments Inc. 4114B1 | AC 전류원 | 1 |
Dytran instruments Inc. 3093D7 | 가속도 센서 | 1 |
파워 서플라이 | - | 1 |
EtherCAT 슬레이브 시스템 구성 요소
2. EtherCAT 마스터와 슬레이브 연결
본 튜토리얼의 EtherCAT 시스템 인터페이스에서 Beckhoff EL3004 로 가속도 센서 값을 읽어오기 위한 EtherCAT 마스터와 슬레이브 (BeckHoff) 및 가속도 센서를 연결하는 방법은 아래 그림과 같습니다.
Example of an EtherCAT Topology
3. EtherCAT 슬레이브 스캔 및 EcatTool 실행
이에 대한 내용은 EtherCAT CORE 예제 에 설명되어 있으므로, CORE 예제의 3. EtherCAT 슬레이브 스캔 부분과 4. EtherCAT Tool 실행 부분을 참고하십시오.
4. PDO 항목 설정 및 도메인 구성
PDO 설정에 대한 자세한 내용은 CORE 예제의 6. PDO 항목 설정 및 도메인 구성 에서도 참고하실 수 있습니다. 따라서 본 튜토리얼에서는 가속도 센서에 대한 부분만 설명합니다.
가속도 센서 PDO 매핑
CORE 예제와는 달리 이번에는 한 장치에 구성된 서로 다른 TxPDO 를 4개 선택하여 각 PDO 에 value 를 매핑합니다. 이때, 아래 그림처럼, 같은 value 라는 기본 설정 이름으로 매핑하는 것이 아니라, 각 TxPDO 로부터 받아 오는 값을 구분하기 위해 value1, value2, value3, value4 로 이름을 수정하여 매핑하도록 합니다.
위의 그림과 같이 Beckhoff EL3004 에 구성된 TxPDO 중에서 서로 다른 4 개를 동시 선택 (Enable 체크) 합니다. 그 다음, 4개의 Input 을 동시에 받아오기 위해 4 개의 TxPDO (0x1a01, 0x1a03, 0x1a05, 0x1a07) 를 Enable 하고, 각각의 TxPDO 에서 순서대로 ** 0x6000: Value 1, 0x6010: Value 2, 0x6020: Value 3, 0x6030: Value 4** 로 할당합니다.
이렇게 각 TxPDO 마다 Value 를 매핑하는 이유는 Beckhoff EL3004 의 Object Dictionary (OD) 의 구성 때문입니다. 아래 그림처럼, EL3004 의 OD 를 확인해보면 Input 각각에 대해 서로 다른 TxPDO 를 할당해주고 있는 것을 알 수 있습니다.
5. 이클립스 환경의 EtherCAT 프로젝트 생성
환경 설정에 대한 자세한 내용은 CORE 예제의 7. 이클립스 환경의 EtherCAT 프로젝트 생성 에서 참고하실 수 있습니다. 다만, 가속도 센서의 샘플링 주기가 100 Hz 이므로 프로젝트 생성 시 Control Period 를 10000000 ns 으로 설정해주어야 합니다.
6. EtherCAT 프로젝트 수정 및 컴파일
EtherCAT 프로젝트를 이클립스에 불러오고 컴파일 하는 방법은 CORE 예제의 8. EtherCAT 프로젝트 컴파일 에서 참고하실 수 있으며 이번 튜토리얼에서는 자동 생성 된 프로젝트에서 추가 수정이 필요한 부분에 대해서만 설명합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
|
자동 생성 된 코드 중에서 수정해야 할 부분은 위의 print_run 함수 부분이며, print_run 함수 내부 중 다른 부분은 모두 그대로 두고, 장치의 상태를 출력하는 부분만 아래와 같이 수정합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
7. EtherCAT 어플리케이션 실행
EtherCAT 어플리케이션을 실행하기 위해 본 튜토리얼에서는 WinSCP 프로그램을 통해 파일을 STEP 에 전송하여 진행합니다. WinSCP 외에도 다양한 원격 접속 소프트웨어가 있으므로 선호하시는 프로그램을 사용하시면 됩니다.
WinSCP 를 실행하면, 아래 그림과 같은 창이 나타나며, 원격 접속하고자 하는 STEP 의 IP 와 아이디 및 비밀번호를 입력하여 접속합니다. 접속이 완료되면 STEP 에서 실행 파일을 저장할 경로를 설정해주도록 하며, 경로 설정 후 아래 그림 실행 파일을 해당 경로로 복사합니다.
STEP 에 파일 다운로드가 완료되면 PuTTY 를 실행하여 해당 STEP 에 접속합니다. 그리고 "cd" 명령어를 통해 파일을 다운로드한 경로로 이동하여 아래 명렁어와 같이 해당 파일 확인 후 권한을 부여합니다.
1 2 |
|
마지막으로 PuTTY 에서 어플리케이션 실행 파일을 실행하면 EtherCAT 프로젝트 파일의 코드에 따라 Beckhoff 를 통해 가속도 센서 값을 읽어오는 프로그램이 실행됩니다.