IT를 품은 기계공학도

PLC 및 PC제어(1)- MFC(C++)와 API를 이용하여 DOBOT을 연결해보자 본문

지능형스마트팩토리/PLC 및 PC 제어

PLC 및 PC제어(1)- MFC(C++)와 API를 이용하여 DOBOT을 연결해보자

아름돌이 2020. 11. 7. 12:36

두봇은 교육용 3D 프린팅용 등으로 주어진 API를 가지고 사용자가 원하는 대로 제어할 수 있는 아주 간단한 로봇팔입니다. 이번 포스팅에서는 이 DOBOT을 연결하고 움직이는 방법에 대해서 알아보려고 합니다.

 

MFC 프로젝트 만들기

우선 Visual Studio를 실행시켜 준 뒤 새 프로젝트를 만들어 줍니다.

MFC 앱을 클릭해 줍니다.

프로젝트명을 정해주고 만들기를 눌러줍니다.

이 후 애플리케이션 종류를 '대화 상자 기반'으로 바꾸어 줍니다. 마침을 눌러주어 프로젝트를 생성합니다.

 

DOBOT 헤더와 라이브러리 불러오기

Project명 Dlg.cpp 위에 Dobot에서 제공한 헤더 파일과 라이브러리 파일을 불러옵니다. 아래와 같은 코드를 추가해주면 됩니다.

DOBOT 연결 하기

리소스 뷰에서(리소스 뷰가 보이지 않는다면 상단의 보기에서 설정하면된다.) Dialog를 더블클릭한다.

이제 다음과 같이 왼쪽에서 Button을 끌어다 놓고 캡션에 Connect라고 설정해줍니다.

 Connect버튼이 눌리면 Connect캡션을 Disconnect로 바꾸어 주고 두봇과 연결합니다. Disconnect를 누르면 다시 두봇의 연결이 해제됩니다. 이것을 구현하려면 버튼이 눌렸는지 알 수 있는 변수 하나가 필요합니다. 만들어봅시다.

 

ctrl + Shift + x를 누르면 클래스 마법사가 나타나게 됩니다. 멤버변수에 들어가 '사용자 지정 추가'를 눌러주고 타입은 Bool 형식으로 m_bConnect라는 이름의 변수를 하나 만들어 줍니다.

버튼의 상태를 제어할 수 있는(버튼의 캡션을 바꾼다던지) 변수를 추가해줍니다. 이름은 m_Connect라고 해줍니다. 마침을 누르고 나옵니다.

다음으로 Connect 버튼을 더블클릭하면 다음과 같은 cpp파일에 매서드가 하나 추가 되게 됩니다. 이 매서드는 버튼이 눌렸을 때 이벤트를 지정해 줄 수 있습니다. 다음과 같은 코드를 추가해줍니다. 

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
void CMFCApplication4Dlg::OnBnClickedButton1()
{
 
    if (!m_bConnect)
    {
        if (ConnectDobot(011520000!= DobotConnect_NoError)
        {
            AfxMessageBox(L"통신 케이블을 연결하세요");
            return;
        }
        else
        {
            m_Connect.SetWindowTextW(L"Disconnect");
            m_bConnect = true;
        }
    }
    else
    {
        DisconnectDobot();
        m_Connect.SetWindowTextW(L"Connect");
        m_bConnect = false;
    }
}
cs

아래의 사용법을 보고 코드에 어떻게 쓰였는지 정도로 넘어가면 충분합니다.

결과

현재 통신케이블이 연결이 되어있지 않으므로 통신케이블을 연결하라는 팝업창이 뜹니다.

 

Comments