Skip to content

CORE 제어 예제

CORE 모듈을 위한 TwinCAT3 프로젝트 생성

TwinCAT 3 프로젝트 생성

  1. 시작 페이지에서 "New TwinCAT Project …"을 선택하세요.
  2. FileNewProject 으로 프로젝트를 생성할 수 있습니다.(기존 프로젝트 템플릿이 모두 표시됨)
    Figure1 Figure 1. TwinCAT3 - 새로운 프로젝트
    1. "TwinCAT XAE Project"을 선택하세요; 적당한 프로젝트이름을 입력
    2. "OK" 클릭
      Figure2
      Figure 2. TwinCAT3 - 프로젝트 환경 설정

TwinCAT3 C++ 모듈 생성

  1. "C++" 우클릭 후, "Add New Item..." 선택하세요.
    • 만약 녹색 C++ 기호가 표시되지 않으면, 이는 타겟 장치가 TwinCAT C++을 지원하지 않거나 현재 Visual Studio가 C++ 지원하지 않음을 뜻합니다.
      Figure3
      Figure 3. TwinCAT3 프로젝트 - C++ 프로젝트 추가하기
  2. "TwinCAT Driver Project"선택하고, 관련 프로젝트 이름을(예. CORE Controller) 기입 "OK" 를 클릭하세요.
    Figure4
    Figure 4. TwinCAT3 프로젝트 - C++ 프로젝트 환경 설정
  3. "TwinCAT Module Class with Cyclic I/O" 를 선택하고 "OK"을 클릭하세요.
    Figure5
    Figure 5. TwinCAT3 프로젝트 - C++ 모듈 카테고리
  4. "TwinCAT Class Wizard"에 모듈 이림을 기입하세요. (예. CoreModule)
    Figure6
    Figure 6. TwinCAT3 프로젝트 - C++ 모듈 환경 설정

TwinCAT3 C++ 모듈 인스턴스 생성

  1. C++ 프로젝트 우클릭(이 경우 "Untitled1") 후 "Add New Item...“ 선택
    Figure7
    Figure 7. TwinCAT3 C++ 모듈 - 모듈 인스턴스 추가
  2. C++ 모듈 선택하여 인스턴스 생성
    Figure8
    Figure 8. TwinCAT3 C++ 모듈 - 인스턴스화를 위한 모듈 선택
  3. 모듈은 이미 각 경우에 기본 변수를 포함하는 간단한 I/O 인턴페이스를 제공하고 있습니다.
    • 입력 영역: Value, Status, Data
    • 출력 영역: Value, Control, Data
      Figure9
      Figure 9. TwinCAT3 C++ 모듈 - 기본 데이터 변수
  4. 이 변수들의 설명은 다음 파일에 정의 되어 있습니다.
    • TwinCAT Module Configuration 파일 (예. "CORE_Controller.tmc")
      Figure10
      Figure 10. TwinCAT3 C++ 모듈 - 데이터 변수 변경
  5. 다음과 같이 변수 목록을 수정하여 CORE 모듈로 작업하세요.
    • 입력 영역: statusword, modeOpDisp, actPos, actVel, actTorq
    • 출력 영역: controlword, modeOp, tarTorq
      Figure11
      Figure 11. TwinCAT3 C++ 모듈 - 데이터 변수 변경

시스템 검색 & 맵핑

  1. 장치 검색

    • Device 우클릭 ⇨ Scan.
    • 모든 모듈이 표시됩니다.
      Figure12
      Figure 12. TwinCAT3 프로젝트 - CORE 모듈 검색

      참고: 검색 전, 코어 모듈을 위한 ESI 파일은 적절한 TwinCAT 위치에 추가되어야 합니다. 또한, TwinCAT 드라이버는 네트워크 인터페이스 카드(Ntework Interface Card, NIC)를 위해 설치 되어야 합니다. 지침은 "Setting tips" 섹션을 참조하세요.

  2. 맵 데이터 항목(Map Data Variables)

    • CoreModule 의 각 변수를 더블 클릭⇨ Linked to ⇨ 연결하고자 하는 객체 선택 ⇨ OK 클릭.
      Figure13
      Figure 13. TwinCAT3 프로젝트 - CORE Module 맵 데이터 변수
    • Mapping 우클릭⇨ Generate Mapping
      Figure14
      Figure 14. TwinCAT3 프로젝트 - 데이터 매핑 생성

TwinCAT 3 C++ 실행

  1. "Module1.cpp"(예제)를 여세요.
  2. Module1::CycleUpdate() 메서드는 주기적으로 호출합니다.
    • cyclic 코드가 실행 되는 곳
      Figure15 Figure 15. TwinCAT3 C++ 모듈 - Real-time 태스크 Cyclic function

      참고: 편집기 상단의 드롭다운 메뉴를 Module class를 찾는데 사용할 수 있다.

TwinCAT 3 C++ 프로젝트 컴파일

  1. 컴파일이 실행될 타켓 플랫폼을 선택하세요 .
  2. TwinCAT 3 C++ 프로젝트를 우클릭하여 "Build" 혹은 "Rebuild" 을 선택하세요.
  3. x64 드라이버는 다음과 같은 출력을 만들어 냅니다.
    Figure16
    Figure 16. TwinCAT3 C++ 모듈 - C++ 소스 코드 빌드

TwinCAT real-time 태스크 생성

  1. System 열기 ⇨ Tasks 우클릭 ⇨ Add New Item... 선택하세요.
    Figure17
    Figure 17. TwinCAT3 프로젝트 - Real-time 태스크 추가
  2. 태스크의 이름을 기입하세요.(예. Task1)
    Figure18
    Figure 18. TwinCAT3 프로젝트 - 태스크 이름 명시
  3. 태스크의 환경을 설정하세요
    • 주기적으로 실행되는 태스크를 자동적을 실행시려면 "Auto start" 이 활성화 되어야 합니다.
    • "Cycle ticks"은 기본 클럭과 관련된 클럭의 타이밍을 정의합니다.
      Figure19
      Figure 19. TwinCAT3 프로젝트 - Real-time 태스크 환경 설정
  4. C++ 모듈에 태스크 할당하세요.
    • 솔루션 트리에서 C++ Module instance 선택하세요.
    • 오른쪽 작업 영역에서 "Context" 탭을 선택하세요.
    • 드롭다운 태스크 메뉴에서 "Task 1" 을 선택하세요.
      Figure20
      Figure 20. TwinCAT3 프로젝트 - C++ 모듈에 태스크 할당

TwinCAT 3 C++ 디버거 사용

  • 솔루션의 C++ 노드에서 "C++ Debugger" 탭을 선택하고, "Enable C++ Debugger"을 켜세요.
    Figure21
    Figure 21. TwinCAT3 C++ 모듈 - Debugging 모드 사용

TwinCAT 3 프로젝트 활성화

  1. "Activate Configuration“ 클릭하세요.
    • TwinCAT 프로젝트를 위한 모든 파일은 타겟 시스템에 전송됩니다.
      Figure22
      Figure 22. TwinCAT3 프로젝트 - 시스템 활성화
  2. 새로운 환경 설정 활성화 확인하세요.
    Figure23
    Figure 23. TwinCAT3 Project - Confirm System Activation
  3. 필요한 경우 7일 테스트 라이센스를 생성할 수 있는 옵션이 제공될 것입니다. 이것은 몇번이고 반복 가능합니다.
  4. TwinCAT 3이 모드를 Run Mode 로 변경 해야 하는지 여부를 묻습니다.
    • "OK" 클릭하여 TwinCAT to Run Mode 변경
    • "Cancel"클릭하여 Config Mode 유지
      Figure24
      Figure 24. TwinCAT3 프로젝트 -시스템의 실행모드 확인
  5. 실행 모드로 변경 후, Visual studio 아래의 TwinCAT System Service 기호는 초록색으로 바뀝니다.
    Figure25
    Figure 25. TwinCAT3 프로젝트 - 실행 모드 표시

참고 자료