통신 구성 및 샘플 프로그램 사용(외부 QJ71E71 이더넷 모듈 PLC)
이 섹션에서는 미쓰비시 Q 시리즈 PLC(외부 QJ71E71 이더넷 모듈)와 Mech-Mind Robotics 비전 시스템 간의 Mitsubishi MC 표준 인터페이스 통신에 대해 설명합니다.
하드웨어 및 소프트웨어 요구 사항
하드웨어
-
외부 QJ71E71 이더넷 모듈.
이 예시에서는 외부 QJ71E71-100 이더넷 모듈, QCPU(Q 모드) CPU 시리즈, Q03UDV 모델, Q61P 전원 모듈, Q33B 보드를 사용합니다.
-
IPC.
-
데이터 케이블: USB Type-A → USB Mini-B.
-
네트워크 스위치 및 네트워크 케이블.
하드웨어 연결은 아래 그림과 같습니다.

소프트웨어
소프트웨어 | 설명 | 설치 위치 |
---|---|---|
GX Works2 |
미쓰비시 PLC 프로그래밍 소프트웨어 |
미쓰비시 PLC 프로그래밍용 컴퓨터 |
Mech-Vision 및 Mech-Viz 소프트웨어 (버전은 2.0.0 이상) |
Mech-Mind Robotics 비전 시스템을 제공한 소프트웨어 |
IPC |
위의 소프트웨어 외에, 다양한 인터페이스 명령어의 기능을 구현하기 위한 MC Protocol_Q_Simple_Label_E71.GXW 샘플 파일을 GX Works2가 설치된 컴퓨터에 복사합니다. 샘플 파일은 Mech-Vision 및 Mech-Viz 소프트웨어 설치 디렉토리의 통신 구성 요소/Robot_Interface/Mitsubishi MC
폴더에 있습니다.
IPC나 컴퓨터의 방화벽 소프트웨어를 꺼야 합니다. |
PLC 프로젝트 만들기 및 구성하기
PLC 프로젝트를 만들기
-
GX Works2 소프트웨어를 열고 툴 바의 새로 만들기 아이콘을 클릭합니다. 새로 만들기 창에서 Series를 QCPU(Q mode)로, Type을 Q03UDV로, Project Type을 Simple Project로 선택하고 Use Label을 체크합니다. Language을 Ladder로 선택하고 OK를 클릭합니다.
-
에서 Connection1을 더블 클릭합니다.
-
Transfer Setup Connection1 창이 나타나면 다음과 같은 작업을 수행하세요.
-
PC side는 Serial USB를 선택하고, PLC Mode는 QCPU (Q mode)를 선택한 후 PLC Direct Coupled Setting을 클릭합니다.
-
팝업창에서 USB를 선택하고 Yes를 클릭합니다.
-
Transfer Setup Connection1 창에 돌아가서 Connection Test를 클릭합니다. 컴퓨터의 GX Works2 소프트웨어는 하드웨어 PLC와 성공적으로 통신하면 Successfully connected with the Q03UDVCPU 팝업창이 나타납니다.
-
Transfer Setup Connection1 창의 OK를 클릭하여 GX Works2 소프트웨어 창에 돌아갑니다.
-
MC 통신 파라미터를 구성하기
-
에서 Ethernet/CC IE/MELSECNET을 더블 클릭합니다.
-
팝업된 Network Parameter 창에서 실제 이더넷 하드웨어 기반 네트워크 구성을 진행합니다. 다음 그림은 이 예시에서 구성된 옵션을 보여줍니다. 마지막으로 Operation Setting을 클릭합니다.
-
Ethernet Operation Setting 창이 팝업되면 다음 작업을 수행합니다.
-
통신 데이터 코드 영역에서 Binary Code를 선택합니다.
-
IP 주소는 이더넷 모듈 QJ71E71-100의 IP 주소(예: 192.168.1.22)로 설정되며, 이 주소는 IPC의 IP 주소와 동일한 네트워크 세그먼트에 있어야 합니다.
-
Enable Online Change 옵션을 체크합니다.
-
Initial Timing 설정은 Always wait for OPEN (Communication possible at STOP time)을 선택합니다.
-
Send Frame Setting 및 TCP Existence Confirmation Setting은 기본값을 유지합니다.
-
End을 클릭합니다.
-
-
Network Parameter 창에 돌아가서 Open Setting을 클릭합니다. 다음 창에서 첫 번째와 두 번째 파라미터 행을 아래 그림에 표시된 파라미터로 설정하고 End를 클릭하여 완료합니다. Q Parameter Setting 창에 돌아가서 End를 클릭하여 GX Works2 소프트웨어로 돌아갑니다.
샘플 파일을 가져오기
샘플 파일을 가져와 테스트하려면 새로 생성한 PLC 프로젝트를 사용하십시오. 기존 PLC 프로젝트에 추가해야 할 경우, 먼저 새 프로젝트를 생성하여 가져와 테스트한 후 최종적으로 기존 프로젝트에 복사하는 것을 권장합니다. |
-
GX Works2 소프트웨어로 돌아가고 메뉴 바에서 순서대로
를 클릭합니다. -
팝업된 Import Library to Project 창에서,Library List를 Select Library (Project)로 선택하고 Browse를 클릭하여
MC Protocol_Q_Simple_Label_E71.gxw
로컬 파일을 찾아서(IPC에서 미리 복사해야 함) Open을 클릭합니다. -
Import Library to Project 창에서 Refresh FB List를 클릭합니다. Select FB to install 모든 옵션을 체크하고 OK를 클릭합니다.
-
“Are you sure to overwrite?” 메시지가 나타납니다. Yes를 클릭하여 GX Works2 소프트웨어로 돌아갑니다.
-
GX Works2 소프트웨어 창에서 메뉴 바의
을 클릭합니다. -
팝업된 Device/Label Automatic-Assign Setting 창에서 워드 디바이스 D의 할당 범위를 수정한 다음 OK를 클릭합니다.
-
아래에 표시된 팝업 창에서 Yes를 선택하고 GX Works2의 메인 인터페이스로 돌아갑니다.
통신 구성과 샘플 파일을 PLC에 다운로드하기
-
GX Works2 소프트웨어에서 왼쪽 네비게이션 바의 프로그램 설정을 펼치고 No Execution Type 아래의 MAIN을 Scan Program으로 끌어다 놓고 펼친 다음 Program을 더블 클릭합니다.
-
툴 바의 Rebuild All icon을 클릭합니다.
-
"Are you sure you want to Rebuild All?" 창이 나타나면 Yes를 클릭합니다.
-
툴 바의 Write to PLC 아이콘을 클릭합니다.
-
팝업된 Online Data Operation 창에서 Write 탭을 선택하고 Parameter + Program 클릭한 후 Execute를 클릭합니다.
-
다음과 같은 창이 나타나면 Yes를 클릭합니다.
-
"Are you sure you want to overwrite the existing file?" 메시지가 나타나면 Yes to all을 선택합니다.
-
프로그래스 바 아래의 텍스트 상자에 “Write to PLC: Completed” 메시지가 나타나면 Close를 클릭합니다.
-
아래와 같은 메시지가 나타납니다. 시스템 보안이 보장된다면 Yes를 클릭하여 Online Data Operation 창에 돌아가서 Close를 클릭합니다. 마지막으로 PLC CPU 전원을 껐다가 다시 켜보세요.
"로봇 통신 구성" 설정
-
Mech-Vision 소프트웨어를 시작합니다. 표시되는 인터페이스에 따라 다음의 적절한 방법을 선택하여 솔루션을 생성하십시오.
-
시작 화면이 나타나면 새로운 솔루션 만들기를 클릭하여 새로운 솔루션을 만듭니다.
-
메인 인터페이스가 나타나면 메뉴 바에서
을 차례로 클릭하여 새로운 솔루션을 만듭니다.
-
-
Mech-Vision 툴 바에서 로봇 통신 구성을 클릭합니다.
-
로봇 통신 구성 창에서 다음 구성을 수행합니다.
-
로봇 선택 드롭다운 메뉴를 클릭하여 실제 사용 중인 로봇에 따라 다음 설명을 참조하고 목록에 있는 로봇 또는 *사용자 지정 로봇*을 선택합니다. 마지막으로 다음을 클릭합니다.
-
목록에 있는 로봇: 대부분의 로봇에 적합합니다. 로봇 모델 선택을 클릭하여 구체적인 모델을 선택할 수 있습니다.
-
사용자 지정 로봇: 갠트리 로봇 또는 위 브랜드 이외의 로봇에 적용 가능합니다. 후속은 로봇 오일러 각 유형 및 *로봇 좌표계*를 선택해야 합니다.
-
-
통신 방식의 인터페이스 서비스 유형을 표준 인터페이스로, 프로토콜을 Mitsubishi MC Client로, 통신 프레임을 3E로 설정합니다. 레지스터(D) 기본 주소를 실제 상황에 따라 설정할 수 있습니다.(MM_Interface 구조체는 총 728개의 D 레지스터를 차지하는데, 이 예시에서는 10000으로 설정되었습니다.)
-
PLC IP 주소는 실제 PLC의 IP 주소로 설정되고, 이후 포트는 실제 PLC의 포트로 설정됩니다.
-
(선택 사항) 솔루션을 열 때 인터페이스 서비스 자동 활성화를 선택합니다.
-
응용을 클릭합니다.
-
-
Mech-Vision 메인 화면에서 툴 바에 있는 “인터페이스 서비스” 기능이 활성화되어 있는지 확인하십시오.
통신이 성공한지 여부 확인
-
GX Works2 소프트웨어로 돌아가서 툴 바의 Start Monitoring (All Windows)를 클릭합니다.
-
다음과 같은 창이 나타나면 Yes를 클릭합니다.
-
Watch 1 창에서 MM_Camera를 추가한 후 펼칩니다. 연결이 성공하면 Heartbeat 하트비트 신호 모니터링 값은 계속해서 변경됩니다.
-
연결이 성공하면 Mech-Vision 메인 인터페이스 로그 창의 콘솔 탭에서 Connect to Melsec PLC successfully 메시지가 나타납니다. 해당 로그가 없는 경우 다음 사항이 정상인지 확인해 주시기 바랍니다.
-
하드웨어 네트워크 연결이 정상인지 여부
-
Mech-Vision 인터페이스 서비스가 정상인지 여부
-
PLC 프로그램이 PLC 하드웨어에 성공적으로 다운로드되었는지 여부
-
비전 프로젝트 테스트
이 섹션에서는 샘플 프로그램 기능 블록으로 Mech-Vision 프로젝트를 트리거하여 비전 포인트를 획득하고 Mech-Viz 프로젝트를 트리거하여 계획 경로를 획득하는 방법을 소개합니다.
사전 준비
-
Mech-Vision 소프트웨어로 돌아가서 Mech-Vision 프로젝트를 구축합니다. 창 목록에서 솔루션 이름을 마우스 오른쪽 버튼으로 클릭하고 해당 프로젝트를 자동으로 로드하기를 체크합니다. 해당 솔루션 아래의 프로젝트도 자동으로 로드되도록 설정되며, 프로젝트 이름 앞에 특정 프로젝트 번호가 표시됩니다.
-
Mech-Viz 프로젝트를 구축합니다. Mech-Viz 프로젝트 리소스 화면에서 프로젝트 명칭을 마우스 오른쪽 버튼으로 클릭하여 해당 프로젝트를 자동으로 로드하기를 선택합니다. 테스트에 사용된 Mech-Viz 프로젝트에는 아래와 같이 1로 이름이 바뀐 "메시지 분기" 스텝이 포함되어야 합니다.
Mech-Vision에서 비전 포인트를 획득하기
모니터를 실행하기(쓰기 모드)
-
GX Works2 소프트웨어로 돌아가고 Navigation/Project에서 툴 바의 Monitor (Write Mode)를 클릭합니다.
-
다음과 같은 창이 나타나면 OK를 클릭합니다.
MM_Start_Vis 기능 블록 추가 및 설정
-
POU/FB_Pool을 펼치고 MM_Start_Vis를 line 0 of MAIN으로 끌어다 놓습니다. 다음과 같은 창이 나타나면 기본 설정을 유지하고 OK를 클릭합니다.
-
툴 바의 Horizontal Line를 클릭하면 다음과 같은 창이 나타나고 OK를 클릭하여 왼쪽 버스 바를 기능 블록의 EN1 입력 포트에 연결합니다.
-
Mech-Vision 프로젝트 번호를 설정합니다. 즉, Mech-Vision 프로젝트 리스트에서 프로젝트 이름 앞의 숫자를 설정합니다. Vision_Proj_Num의 포트 값을 1로 설정합니다. 프로젝트 번호가 1인 Mech-Vision 프로젝트를 실행함을 의미합니다.
-
Mech-Vision 프로젝트에서 반환하는 포즈 수를 설정합니다. Req_Pose_Num의 포트 값을 0으로 설정합니다. Mech-Vision가 모든 포즈 결과를 반환함을 의미합니다.
-
로봇이 보내는 이미지 캡처 포즈 유형을 설정합니다. Robot_Pose_Type의 포트 값을 0으로 설정합니다. 프로젝트의 카메라 설치 방식은 Eye to Hand임을 의미하며 이미지 캡처 포즈를 전송할 필요가 없습니다.
-
MM_Start_Vis 기능 블록의 Start_Vision 포트 왼쪽에 있는 파란색 영역을 더블 클릭합니다. 팝업 창에서 "Open Contact"를 선택한 후, 전역 레이블 Camera_User.Start_Vis를 입력합니다. 그런 다음 OK를 클릭하면 Start_Vision 포트가 왼쪽 버스 바와 연결됩니다.
MM_Get_VisData 기능 블록 추가 및 설정
-
MM_Get_VisData를 MAIN 라인 0으로 드래그하면 Input FB Instance Name 창이 팝업됩니다. 기본 설정을 유지하고 OK를 클릭합니다. 툴 바의 Horizontal Line를 클릭하고 OK를 클릭하여 왼쪽 버스 바를 기능 블록의 EN1 입력 포트에 연결합니다.
-
Mech-Vision 프로젝트 번호를 설정합니다. 즉, Mech-Vision 프로젝트 리스트에서 프로젝트 이름 앞의 숫자를 설정합니다. Vision_Proj_Num의 포트 값을 1로 설정합니다. 프로젝트 번호가 1인 Mech-Vision 프로젝트의 비전 인식 결과를 획득함을 의미합니다.
-
MM_Get_VisData 기능 블록의 Get_VisData 포트 왼쪽에 있는 파란색 영역을 더블 클릭합니다. 팝업 창에서 "Open Contact"를 선택한 후, 전역 레이블 Camera_User.Get_VisData를 입력합니다. 그런 다음 OK를 클릭하면 Get_VisData 포트와 연결됩니다.
PLC에 프로그램 작성/변환/컴파일
-
툴 바의 Online Program Change 아이콘을 클릭합니다.
-
Confirm Build Method for Online Program Change 창이 나타나면 OK를 클릭합니다.
-
다음과 같은 창이 나타나면 Yes를 클릭합니다.
-
마지막으로 OK를 클릭하여 PLC에 프로그램 다운로드를 완료합니다.
Mech-Vision 프로젝트 실행을 트리거하기
-
MAIN 메인 프로그램 창에서 MM_Start_Vis 기능 블록의 Camera_User.Start_Vis 입력 변수를 마우스 오른쪽 버튼으로 클릭하고 순서대로
를 선택합니다. -
팝업된 Modify Value 창에서 "ON"을 클릭하여 Mech-Vision 프로젝트를 실행하도록 트리거합니다. 그런 다음 "OFF"를 클릭하여 값을 리셋합니다.
-
프로그램의 빈 공간을 마우스 오른쪽 버튼으로 클릭하고 Register to Watch을 선택한 다음 전역 레이블 MM_Camera.Status_Code를 입력합니다. 그러면 반환 값이 1102가 되는데, 이는 프로젝트가 정상적으로 시작됨을 의미합니다.
MM_Camera.Status_Code 반환 값이 10XX인 경우 "표준 인터페이스 상태 코드 및 오류 분석" 내용을 참조하여 문제를 해결하세요.
Mech-Vision에서 계산된 포즈 결과를 획득하기
-
MM_Get_VisData 기능 블록의 Camera_User.Get_VisData 입력 변수를 선택하고 비전 포인트를 얻는 것을 의미하는 ON으로 변경한 다음 변수를 재설정합니다.
-
Watch1 창에서 전역 레이블 MM_Camera.Status_Code를 입력합니다. 그러면 반환 값이 1100이 되는데, 이는 포즈 결과를 정상적으로 획득함을 의미합니다. 전역 레이블 MM_Camera.Target_Pose를 입력하면 반환 값은 비전 포인트 포즈 데이터입니다.
MM_Camera.Status_Code 반환 값이 10XX인 경우 "표준 인터페이스 상태 코드 및 오류 분석" 내용을 참조하여 문제를 해결하세요.
Mech-Viz에서 계획 경로를 획득하기
MM_Start_Empty 기능 블록 추가 및 설정
-
MM_Start_Empty를 MAIN 라인 54로 드래그하면 Input FB Instance Name 창이 팝업됩니다. 기본 설정을 유지하고 OK를 클릭합니다. 툴 바의 Horizontal Line를 클릭하고 왼쪽 버스 바를 기능 블록의 EN1 입력 포트에 연결합니다.
-
MM_Start_Empty 기능 블록의 Start_Empty 포트 왼쪽에 있는 파란색 영역을 더블 클릭합니다. 팝업 창에서 "Open Contact"를 선택한 후, 전역 레이블 Camera_User.Start_Empty를 입력합니다. 그런 다음 OK를 클릭하면 Start_Empty와 연결됩니다.
MM_Start_Viz, MM_Set_Branch, MM_Get_VizData 기능 블록 추가 및 설정
-
MM_Start_Viz, MM_Set_Branch, MM_Get_VizData를 메인 프로그램으로 끌어다 놓습니다. Input FB Instance Name 창이 나타나면 기본 설정을 유지하고 OK를 클릭합니다. 툴 바의 Horizontal Line를 클릭하고 왼쪽 버스 바를 기능 블록의 EN1 입력 포트에 연결합니다.
-
로봇이 보내는 이미지 캡처 포즈 유형을 설정합니다. Robot_Pose_Type의 포트 값을 0으로 설정합니다. 프로젝트의 카메라 설치 방식은 Eye to Hand임을 의미하며 이미지 캡처 포즈를 전송할 필요가 없습니다.
MM_Start_Viz 기능 블록의 EN1 포트 왼쪽에 있는 파란색 영역을 더블 클릭합니다. 팝업 창에서 "Open Contact"를 선택한 후, 전역 레이블 Camera_User.Get_VizData를 입력합니다. 그런 다음 OK를 클릭하면 EN1 포트가 왼쪽 버스 바와 연결됩니다.
MM_Start_Viz 기능 블록의 Start_Viz 포트 왼쪽에 있는 파란색 영역을 더블 클릭합니다. 팝업 창에서 "Open Contact"를 선택한 후, 전역 레이블 Camera_User.Start_Viz를 입력합니다. 그런 다음 OK를 클릭하면 Start_Viz 포트가 왼쪽 버스 바와 연결됩니다.
-
Mech-Viz 프로젝트의 분기 파라미터를 설정합니다. Branch_Name, Branch_Exit_Port의 값을 1로 설정합니다. Mech-Viz 프로젝트가 분기 1에 도달했을 때 아웃 포트 1을 따라 계속 실행되도록 제어합니다. "Open Contact"를 선택하고 전역 레이블 Camera_User.Set_Branch를 입력합니다. OK를 클릭하여 Set_Branch 포트에 연결합니다.
-
획득한 웨이포인트의 포즈 유형을 설정합니다. Request_Pose_Type의 포트 값을 1로 설정합니다. 이렇게 하면 Mech-Viz가 관절 각도 데이터를 반환함을 나타냅니다.
여기의 Request_Pose_Type과 기능 함수 MM_Start_Vis, MM_Start_Viz의 Robot_Pose_Type이 전역 레이블 MM_Camera의 Pose_Type 변수에 대응합니다. 세 가지를 서로 다른 값으로 설정하면 동시에 적용될 수 없습니다. -
MM_Get_VizData 기능 블록의 EN1 포트 왼쪽에 있는 파란색 영역을 더블 클릭합니다. 팝업 창에서 "Open Contact"를 선택한 후, 전역 레이블 Camera_User.Start_Viz를 입력합니다. 그런 다음 OK를 클릭하면 EN1 포트가 왼쪽 버스 바와 연결됩니다.
-
MM_Get_VizData 기능 블록의 Get_VizData 포트 왼쪽에 있는 파란색 영역을 더블 클릭합니다. 팝업 창에서 "Open Contact"를 선택한 후, 전역 레이블 Camera_User.Get_VizData를 입력합니다. 그런 다음 OK를 클릭하면 Get_VizData 포트와 연결됩니다.
PLC에 프로그램 작성/변환/컴파일
-
툴 바의 Online Program Change 아이콘을 클릭합니다.
-
Confirm Build Method for Online Program Change 창이 나타나면 OK를 클릭합니다.
-
다음과 같은 창이 나타나면 Yes를 클릭합니다.
-
마지막으로 OK를 클릭하여 PLC에 프로그램 다운로드를 완료합니다.
Mech-Viz 프로젝트 실행을 트리거하기
-
MAIN 메인 프로그램 창에서 MM_Start_Empty 입력 측의 Camera_User.Start_Empty 포트를 오른쪽 마우스 버튼으로 클릭하고 순서대로 menu:Debug [Modify Value ]를 클릭합니다. 마지막으로 획득한 비전 결과를 지우도록 값을 ON으로 수정한 다음 값을 OFF로 재설정합니다.
Watch1 창에 전역 레이블 MM_Camera.Status_Code를 입력합니다. 상태 코드 3103으로 반환되면 Camera_User.Target Pose, Camera_User.Target Label, Camera_User.Target Tool ID 변수 값은 지우게 됩니다.
-
MM_Start_Viz 기능 블록의 Camera_User.Start_Viz 입력 변수를 선택하고 Mech-Viz 프로젝트를 시작하는 것을 의미하는 ON으로 변경한 다음 변수를 재설정합니다.
-
Watch1 창에서 전역 레이블 MM_Camera.Status_Code를 입력합니다. 그러면 반환 값이 2103으로 되는데, 이는 프로젝트가 정상적으로 시작됨을 의미합니다.
MM_Camera.Status_Code 반환 값이 20XX인 경우 "표준 인터페이스 상태 코드 및 오류 분석" 내용을 참조하여 문제를 해결하세요.
Mech-Viz 분기 아웃 포트를 설정하기
-
MM_Set_Branch의 Camera_User.Set_Branch 입력 변수를 선택하고 ON으로 변경합니다. Mech-Viz 분기 아웃 포트를 선택하고 변수를 재설정합니다.
-
Watch1 창에서 전역 레이블 MM_Camera.Status_Code를 입력합니다. 그러면 반환 값이 2105로 되는데, 이는 분기를 정상적으로 설정함을 의미합니다.
MM_Camera.Status_Code 반환 값이 20XX인 경우 "표준 인터페이스 상태 코드 및 오류 분석" 내용을 참조하여 문제를 해결하세요.
Mech-Viz에서 계획된 경로를 획득하기
-
MM_Get_VizData 기능 블록의 Camera_User.Get_VizData 입력 변수를 선택하고 ON으로 변경합니다. Mech-Viz의 계획 경로를 획득하고 변수를 재설정합니다.
-
Watch1 창에서 전역 레이블 MM_Camera.Status_Code를 입력합니다. 그러면 반환 값이 2100으로 되는데, 이는 계획 경로를 정상적으로 획득함을 의미합니다. 전역 레이블 MM_Camera.Target_Pose를 입력하면 반환 값은 웨이포인트의 관절 각도 데이터입니다.
MM_Camera.Status_Code 반환 값이 20XX인 경우 "표준 인터페이스 상태 코드 및 오류 분석" 내용을 참조하여 문제를 해결하세요.