Visual Studio로 PLCnext Control 장치에서 C++ 컴포넌트 및 프로그램 디버깅하기
이 문서에서는 Microsoft Visual Studio를 사용하여 PLCnext Control 장치에서 사용자 정의 C++ 컴포넌트와 프로그램을 디버깅하는 방법을 설명합니다. 이 문서의 예제는 다음을 사용합니다:
- 펌웨어 버전 2022.0.3이 설치된 AXC F 2152
- Microsoft Visual Studio 2019
- Visual Studio 확장이 포함된 Windows용 PLCnext Toolchain 버전 2022.0
- Windows용 AXC F 2152 소프트웨어 개발 키트 버전 2022.0.3
절차
PLC에서:
- SSH를 통한 root 사용자 로그인 허용. 원격 디버깅에 필요합니다.
Visual Studio에서:
- 타겟 장치용 PLCnext PLM 프로젝트(예: PLCnextPLMProject1)를 하나 생성하고, 하나의 컴포넌트(예: MyComponent)와 하나의 프로그램(예: MyProgram)을 추가합니다.
- '솔루션 구성'이 Debug로 설정되어 있는지 확인합니다.
- 프로젝트를 빌드합니다.
PLCnext Engineer에서:
- 사용자 라이브러리를 추가하고 ESM 작업에 C++ 프로그램 인스턴스를 생성합니다.
- Watchdog 값을 0으로 설정하여 ESM 작업 워치독을 비활성화합니다.
- 프로젝트를 PLC로 전송합니다.
Visual Studio에서 일회성 구성 수행:
- 도구 > 옵션 > 크로스 플랫폼 > 연결 관리자를 선택하고 추가 버튼을 클릭합니다.
대화 상자에서 다음 세부 정보를 입력합니다:
호스트 이름: PLCnext Control 장치의 IP 주소.
포트: 특별한 SSH 구성을 사용하지 않는 한 기본값 22여야 합니다.
사용자 이름: root
인증 유형: PLCnext Control 장치의 root 사용자에 대해 개인 키 액세스를 설정하지 않았다면 암호를 선택하고 root 사용자의 암호를 입력합니다. 이제 C++ 프로그램을 디버깅할 준비가 되었습니다.
Visual Studio에서:
- 디버그 > 프로세스에 연결...을 선택합니다.
앞서 구성한 연결 타겟을 선택하고, 스크린샷과 같이 다른 옵션을 선택합니다. 사용 가능한 프로세스 프레임에서 제목에 --main=true가 포함된 Arp.System.Application 프로세스를 선택합니다. 연결 버튼을 클릭하면 디버그 모드로 진입합니다. 이제 평소처럼 디버깅할 수 있습니다. 중단점 설정, 감시 창에 변수 추가 등. 디버깅을 중지하려면 '중지' 버튼을 클릭하지 마세요. 그러면 PLCnext 런타임 프로세스가 중지됩니다. 대신 디버그 메뉴에서 모두 분리를 선택하세요.