통신 구성 및 샘플 프로그램 사용

현재 최신 버전 (2.1.2)에 대한 매뉴얼을 보고 계십니다. 다른 버전에 액세스하려면 페이지 오른쪽 상단 모서리에 있는 '버전 전환' 버튼을 클릭하세요.

■ 현재 사용하고 있는 제품의 버전이 확실하지 않은 경우에는 언제든지 당사 기술 지원팀에 문의하시기 바랍니다.

지멘스 PLC가 TIA Portal 소프트웨어를 사용하여 Mech-Mind Robotics 비전 시스템과 Modbus TCP 통신을 수행하는 프로세스는 다음과 같습니다:

하드웨어 및 소프트웨어 요구 사항

하드웨어

  • Siemens SIMATIC S7-1200, CPU 1211C, DC/DC/DC.

  • 전원 어댑터: 220V AC → 24V DC.

  • Mech-Mind IPC 또는 호스트.

  • 네트워크 케이블.

소프트웨어

  • Siemens PLC 프로그래밍 소프트웨어 TIA Portal V15.1.

  • Mech-Vision 및 Mech-Viz 소프트웨어 버전은 2.0.0 이상입니다.

  • PLC 샘플 파일:

    • MM Modbus TCP.scl. (Modbus TCP 통신을 구축하는 데 사용됨)

    • MM Modbus TCP Interface Program.scl. (각 인터페이스 명령어 기능을 구현하는 데 사용됨)

    샘플 파일은 Mech-Vision 및 Mech-Viz 소프트웨어 설치 디렉토리의 통신 구성 요소/Robot_Interface/Modbus TCP/Siemens TIA Portal 폴더에 있습니다. 이 샘플 파일을 TIA Portal이 설치된 컴퓨터에 복사하세요.

IPC나 호스트의 방화벽 소프트웨어를 꺼야 합니다.

IPC 구성 및 통신 시작

IPC 또는 호스트의 IPv4 주소를 설정하기

  1. 제어판을 열고 네트워크 상태 및 작업 보기를 클릭합니다.

    set ip1
  2. 네트워크 및 공유 센터 창에서 어댑터 설정 변경을 클릭합니다.

    set ip2
  3. 네트워크 연결 창에서 PLC와 네트워크로 연결된 이더넷 어댑터를 두 번 클릭하면 이더넷 상태 창이 나타나고, 속성을 클릭합니다.

    set ip3
  4. 이더넷 속성 창의 네트워킹 탭에서 Internet 프로토콜 버전4(TCP/IPv4) 프로젝트를 더블 클릭합니다.

    set ip4
  5. Internet프로토콜 버전4(TCP/IPv4) 속성 창에서 아래 그림과 같이 고정 IP 주소, 서브넷 마스크, 기본 게이트웨이를 설정하세요(PLC와 동일한 네트워크 세그먼트에 있어야 합니다).

    set ip5

"로봇 통신 구성" 설정

  1. Mech-Vision 소프트웨어를 시작합니다. 표시되는 인터페이스에 따라 다음의 적절한 방법을 선택하여 솔루션을 생성하십시오.

    • 시작 화면이 나타나면 새로운 솔루션 만들기를 클릭하여 새로운 솔루션을 만듭니다.

      create solution 1
    • 메인 인터페이스가 나타나면 메뉴 바에서 파일  새로운 솔루션을 차례로 클릭하여 새로운 솔루션을 만듭니다.

      create solution 2
  2. Mech-Vision 툴 바에서 로봇 통신 구성을 클릭합니다.

  3. 로봇 통신 구성 창에서 다음 구성을 수행합니다.

    1. 로봇 선택 드롭다운 메뉴를 클릭하여 실제 사용 중인 로봇에 따라 다음 설명을 참조하고 목록에 있는 로봇 또는 *사용자 지정 로봇*을 선택합니다. 마지막으로 다음을 클릭합니다.

      • 목록에 있는 로봇: 대부분의 로봇에 적합합니다. 로봇 모델 선택을 클릭하여 구체적인 모델을 선택할 수 있습니다.

      • 사용자 지정 로봇: 갠트리 로봇 또는 위 브랜드 이외의 로봇에 적용 가능합니다. 후속은 로봇 오일러 각 유형 및 *로봇 좌표계*를 선택해야 합니다.

    2. 통신 방식인터페이스 서비스 유형표준 인터페이스로, 프로토콜MODBUS TCP Slave로, 바이트 순서는 ABCD로, IP 주소255로 선택합니다.

    3. 호스트 IP 주소 뒤에 있는 포트 번호는 2000으로 설정합니다.

    4. (선택 사항) 솔루션을 열 때 인터페이스 서비스 자동 활성화를 선택합니다.

    5. 응용을 클릭합니다.

      modbus tcp s7
  4. Mech-Vision 메인 화면에서 툴 바에 있는 “인터페이스 서비스” 기능이 활성화되어 있는지 확인하십시오.

    interface service

PLC 프로젝트 만들기 및 구성하기

PLC 프로젝트를 만들기

필요한 경우 Save project를 클릭하여 프로젝트의 변경 사항을 저장합니다.
  1. TIA Portal 소프트웨어를 열고 Create new project를 클릭합니다. 프로젝트 이름을 입력하고 경로를 선택한 후 Create를 클릭합니다. 팝업된 창에서 Open the project view를 클릭합니다.

    create plc 1
  2. Project tree 패널에서 Add new device를 더블 클릭합니다. Controllers를 클릭하고 사용 중인 CPU 모듈을 선택한 후 OK를 클릭합니다.

    create plc 2
  3. Project tree 패널의 Device configuration을 클릭하고 오른쪽에 있는 Device view 탭을 클릭합니다. PLC_1의 이더넷 아이콘을 더블 클릭하고 Properties ‣ General 탭에서 Ethernet addresses를 클릭하여 IP 주소를 설정합니다. 서브넷 마스크를 기본 값으로 유지합니다.

    create plc 3

Mech-Mind 샘플 파일을 가져오기

Mech-Mind 샘플 파일을 가져와 테스트하려면 새로 생성한 PLC 프로젝트를 사용하십시오. 기존 PLC 프로젝트에 추가해야 할 경우, 먼저 새 프로젝트를 생성하여 가져와 테스트한 후 최종적으로 기존 프로젝트에 복사하는 것을 권장합니다.
  1. Project tree 패널에서 PLC_1[CPU 1211C DC/DC/DC] ‣ External source files를 순서대로 더블 클릭하고 Add new external file을 더블 클릭합니다. 팝업된 창에서 MM Modbus TCP.scl, MM Modbus TCP Interface Program.scl 파일을 선택하고 Open을 클릭하여 PLC 프로젝트에 가져옵니다.

    import file 1
  2. 새로 가져온 외부 소스 파일을 선택합니다(먼저 MM Modbus TCP.scl을 선택한 다음 MM Modbus TCP Interface Program.scl을 선택합니다. 그렇지 않으면 로그 창에 오류 메시지가 나타납니다). 마우스 오른쪽 버튼을 클릭하고 Generate blocks from source를 선택합니다.

    import file 2
  3. Blocks can be overwritten 창에서 OK를 클릭합니다.

    import file 3
  4. 외부 소스 파일에서 생성된 기능 함수와 데이터 블록은 아래 그림과 같으며, Camera_User DB 블록에는 사용자 데이터가 저장되고, MM Modbus TCP Interface DB 블록에는 통신 인터페이스 데이터가 저장되며, MM Modbus TCP DB 블록에는 통신 구성 파라미터가 저장됩니다.

    import file 4
  5. MM Modbus TCP\[FC14] 기능 블록을 더블 클릭한 후 ToCamera 및 FromCamera No.1~6 프로그램 섹션을 순서대로 클릭하여 모든 MB\_DATA\_PTR 변수의 데이터 블록 포인터 번호가 MM Modbus TCP Interface 데이터 블록 번호와 일치하는지(예시 그림의 두 위치 모두 2) 확인합니다.

    import file 5

    두 위치의 번호가 일치하지 않고 MM Modbus TCP Interface 데이터 블록 번호를 수정하기 어려운 경우, 기능 블록 오른쪽의 Tasks 탭에서 "Find and replace" 기능을 사용하여 MB_DATA_PTR 변수의 데이터 블록 포인터 번호를 MM Modbus TCP Interface 데이터 블록의 실제 번호로 일괄 변경할 수 있습니다.

    import file 6
  6. PLC_1 ‣ Program blocks ‣ System blocks ‣ Program resources 아래에 MB_CLIENT 기능 블록 및 MB_CLIENT_DB 데이터 블록이 자동 생성되지 않은 경우 현재 CPU 모델에 따라 MB_CLIENT 기능 블록을 다시 가져와야 하며, 자동 생성된 경우에는 다음 단계를 건너뛰십시오.

    import file 7
  7. Project tree 패널에서 Program blocks를 클릭하고 Main[OB1]을 더블 클릭합니다. Networks 아래의 사다리 다이어그램을 선택하고 오른쪽의 Instructions 탭에서 순서대로 Communication  Others  MODBUS TCP를 선택합니다. MB_CLIENT 기능 블록을 더블 클릭하면 Call options 창이 팝업되고 OK를 클릭합니다.

    import file 8

    이때 Program blocks ‣ System blocks 아래에 MB_CLIENT 기능 블록과 MB_CLIENT_DB 데이터 블록이 자동 생성되었으면, 열린 MM Modbus TCP 기능 블록으로 돌아가 툴 바에서 Compile 아이콘을 클릭합니다.

    import file 9

    Info 탭의 Compile에 "Block was successfully compiled"라는 메시지가 표시되면 Main[OB1] Network 1 아래에 있는 MB_CLIENT 기능 블록을 삭제할 수 있습니다.

    import file 10
    import file 11
  8. 프로젝트 트리에서 3D_Camera 관련 기능과 데이터 블록의 유지 관리를 용이하게 하려면 Program blocks를 마우스 오른쪽 버튼으로 클릭하고 Add new group을 클릭한 다음 3D_Camera라고 이름을 지정합니다.

    import file 12
  9. 새로 생성된 모든 기능 함수와 데이터 블록을 선택하고 3D_Camera 그룹 폴더로 옮깁니다.

import file 13

프로그램 구축 및 PLC 다운로드

  1. Project tree 패널에서 Main[OB1]을 더블 클릭하여 엽니다. MM Modbus TCP FC를 Network 1로 드래그합니다.

    download configuration 1
  2. MM ModbusTCP[DB3] 데이터 블록을 더블 클릭하여 엽니다. expand 아이콘을 클릭하고 RemoteAddress/ADDR의 4개 16진수가 IPC의 IP 주소(이 예에서는 192.168.1.20)와 일치하는지 확인하고, RemotePort의 숫자가 Mech-Vision에 설정된 포트 번호(이 예시에서는 2000)와 일치하는지 확인합니다.

    download configuration 2
  3. System block  Program resources를 선택하고 MB_CLIENT_DB[DBB] 데이터 블록을 더블 클릭하여 엽니다. expand 아이콘을 클릭하고 Static/TDIAG_Status/MB_Unit_ID의 16진수가 (이 예에서는 255인) Mech-Vision에 설정된 슬레이브 ID와 일치하는지 확인합니다.

    download configuration 3
  4. Program tree 패널에서 마우스 오른쪽 버튼을 클릭하여 PLC_1[CPU 1211C DC/DC/DC]를 선택하고 순서대로 Download to device  Software (all)을 클릭합니다.

    download configuration 4
  5. 팝업된 Extended download to device 창에서 PG/PC interface를 PLC에 연결한 네트워크 카드 드라이버로, Connection to interface/subnetDirect at slot ‘1 X1’로, Select target deviceShow all compatible devices로 선택합니다. Start search를 클릭하고 검색 결과에 표시되는 CPU를 선택한 후 Load를 클릭합니다.

    download configuration 5
  6. Load results 창이 나타납니다. 다운로드가 완료되면 Finish를 클릭하세요.

    download configuration 6

통신이 성공한지 여부 확인

  1. Program tree 패널에서 MM Modbus TCP Interface 데이터 블록을 더블 클릭하고 monitor 아이콘을 클릭합니다. 연결이 성공하면 Heartbeat 하트비트 신호 모니터링 값은 계속해서 변경됩니다.

    establish communication 1
  2. Mech-Vision 메인 화면에 연결이 성공하면 로그 창의 콘솔 탭에 client connected라는 메시지가 표시됩니다. 해당 로그가 없는 경우 다음 사항이 정상인지 확인해 주시기 바랍니다.

    1. 하드웨어 네트워크 연결이 정상인지 여부

    2. Mech-Vision 인터페이스 서비스가 정상인지 여부

    3. PLC 프로그램이 PLC 하드웨어에 성공적으로 다운로드되었는지 여부

비전 프로젝트 테스트

이 섹션에서는 샘플 프로그램 기능 블록으로 Mech-Vision 프로젝트를 트리거하여 비전 포인트를 획득하고 Mech-Viz 프로젝트를 트리거하여 계획 경로를 획득하는 방법을 소개합니다.

사전 준비

  1. Mech-Vision 소프트웨어로 돌아가서 Mech-Vision 프로젝트를 구축합니다. 창 목록에서 솔루션 이름을 마우스 오른쪽 버튼으로 클릭하고 해당 프로젝트를 자동으로 로드하기를 체크합니다. 해당 솔루션 아래의 프로젝트도 자동으로 로드되도록 설정되며, 프로젝트 이름 앞에 특정 프로젝트 번호가 표시됩니다.

  2. Mech-Viz 프로젝트를 구축합니다. Mech-Viz 프로젝트 리소스 화면에서 프로젝트 명칭을 마우스 오른쪽 버튼으로 클릭하여 해당 프로젝트를 자동으로 로드하기를 선택합니다.

    테스트에 사용된 Mech-Viz 프로젝트에는 아래와 같이 스텝 이름이 1인 분기 스텝이 포함되어야 합니다.

    preparation 4

Mech-Vision에서 비전 포인트를 획득하기

파라미터를 설정하기

  1. TIA Portal 소프트웨어로 돌아가서 Program blocks에서 Main[OB1]을 더블 클릭하여 메인 프로그램을 열고 MM_Start_Vis[FC9]Network 2로 드래그합니다.

    test vision 1
  2. Mech-Vision 프로젝트 번호를 설정합니다. 즉, Mech-Vision 프로젝트 리스트에서 프로젝트 이름 앞의 숫자를 설정합니다. Vision_Proj_Num의 포트 값을 1로 설정합니다. 프로젝트 번호가 1인 Mech-Vision 프로젝트를 실행함을 의미합니다.

  3. Mech-Vision 프로젝트가 반환한 포즈 수량을 설정합니다: Req_Pose_Num의 포트 값을 0으로 설정합니다. Mech-Vision가 모든 포즈 결과를 반환함을 의미합니다.

  4. 로봇이 보내는 이미지 캡처 포즈 유형을 설정합니다. Robot_Pose_Type의 포트 값을 0으로 설정합니다. 프로젝트가 Eye to Hand 모드임을 의미하며 이미지 캡처 포즈를 전송할 필요가 없습니다.

    test vision 2
  5. Project tree/Program blocks에서 Camera_User 데이터 블록을 클릭합니다. 변수의 이름에 따라 세부 보기에서 변수를 "MM_Start_Vis" 입력 포트(즉, 왼쪽)로 드래그합니다.

    test vision 3
  6. MM_Get_VisData 기능 함수를 Network 3으로 드래그합니다.

    test vision 4
  7. Mech-Vision 프로젝트 번호를 설정합니다. 즉, Mech-Vision 프로젝트 리스트에서 프로젝트 이름 앞의 숫자를 설정합니다. Vision_Proj_Num의 포트 값을 1로 설정합니다. 프로젝트 번호가 1인 Mech-Vision 프로젝트의 비전 인식 결과를 획득함을 의미합니다.

  8. Project tree/Program blocks에서 Camera_User 데이터 블록을 클릭합니다. 변수의 이름에 따라 세부 보기에서 변수를 "MM_Get_VisData" 입력 포트(즉, 왼쪽)로 드래그합니다.

    test vision 5
  9. Project tree에서 마우스 오른쪽 버튼을 클릭하여 PLC_1을 선택하고 Download to device ‣ Software (only changes)를 클릭합니다.

    test vision 6
  10. Load preview 창이 나타나면 Load를 클릭하여 PLC에 최신 프로그램을 다운로드합니다.

    test vision 7

Mech-Vision 프로젝트 실행을 트리거하기

  1. Main[OB1] 창에서 Monitoring on/off 아이콘을 클릭합니다.

    test vision 8
  2. "MM_Start_Vis" 입력 측의 변수 "Camera_User".Start_Vis를 마우스 오른쪽 버튼으로 클릭한 후 Modify  Modify to 1을 선택하여 Mech-Vision 프로젝트를 실행한 다음 이 변수를 재설정합니다.

    test vision 9
  3. MM Modbus TCP Interface 데이터 블록의 Status Code 변수의 반환 값이 1102로 변경되어 프로젝트가 정상적으로 시작되었음을 나타냅니다. 반환 값이 10XX인 경우 표준 인터페이스 상태 코드 및 오류 분석 내용을 참조하여 문제를 해결하십시오.

    test vision 10

Mech-Vision에서 계산된 포즈 결과를 획득하기

  1. "MM_Get_VisData" 입력 측의 변수 "Camera_User".Get_VisData를 마우스 오른쪽 버튼으로 클릭한 후 Modify  Modify to 1을 선택하여 비전 포인트를 획득한 다음 이 변수를 재설정합니다.

    test vision 11
  2. MM Modbus TCP Interface 데이터 블록의 Status Code 변수의 반환 값이 1100로 변경되어 비전 포인트를 성공적으로 획득함을 나타냅니다. 반환 값이 10XX인 경우 표준 인터페이스 상태 코드 및 오류 분석 내용을 참조하여 문제를 해결하십시오.

    test vision 12

Number of Pose Sent 값은 1으로, 1개의 포즈 포인트가 획득됨을 나타냅니다. 포즈는 Target Pose에 저장됩니다.

Mech-Vision 자동 컨트롤 로직 샘플 파일

test vision 13
test vision 14

Mech-Viz에서 계획 경로를 획득하기

파라미터를 설정하기

  1. MM_Empty_Target 기능 함수를 Network 4로 드래그합니다.

    test viz 1
  2. 데이터 블록 Camera_UserMM Modbus TCP Interface를 각각 클릭한 후, 상세 보기에서 변수들을 이름에 맞게 “MM_Empty_Target” 입력 포트(왼쪽)로 드래그합니다.

    test viz 2
  3. 기능 함수 MM_Start_Viz, MM_Set_Branch, MM_Get_VizData를 각각 Network 5, Network 6, Network 7로 드래그합니다.

    test viz 3
  4. 로봇이 보내는 이미지 캡처 포즈 유형을 설정합니다. Robot_Pose_Type의 포트 값을 0으로 설정합니다. 프로젝트가 Eye to Hand 모드임을 의미하며 이미지 캡처 포즈를 전송할 필요가 없습니다. Camera_User 데이터 블록을 클릭합니다. 변수의 이름에 따라 세부 보기에서 변수를 "MM_Start_Viz" 입력 포트(즉, 왼쪽)로 드래그합니다.

    test viz 4
  5. Mech-Viz 프로젝트의 분기 파라미터를 설정합니다. Branch_Name, Branch_Exit_Port의 값을 1로 설정합니다. Mech-Viz 프로젝트가 분기 1에 도달했을 때 아웃 포트 1을 따라 계속 실행되도록 제어합니다. Camera_User 데이터 블록을 클릭합니다. 변수의 이름에 따라 세부 보기에서 변수를 "MM_Set_Branch" 입력 포트(즉, 왼쪽)로 드래그합니다.

    test viz 5
  6. 획득할 경로의 포인트의 포즈 유형을 설정합니다. Request_Pose_Type의 포트 값을 1로 설정합니다. 이렇게 하면 Mech-Viz가 관절 각도 데이터를 반환함을 나타냅니다. Camera_User 데이터 블록을 클릭합니다. 변수의 이름에 따라 세부 보기에서 변수를 "MM_Get_VizData" 입력 포트(즉, 왼쪽)로 드래그합니다.

    Request_Pose_Type와 기능 함수 MM_Start_Vis, MM_Start_Viz에 있는 Robot_Pose_Type는 동일한 MM Modbus TCP Interface 데이터 블록의 Pose Type 변수에 해당하므로, 설정할 값이 서로 다를 경우 동시에 적용될 수 없습니다.
    test viz 6
  7. Project tree에서 마우스 오른쪽 버튼을 클릭하여 PLC_1을 선택하고 Download to device ‣ Software (only changes)를 클릭합니다. Load preview 창이 나타나면 PLC에 최신 프로그램을 다운로드합니다.

    test viz 7
  8. Load preview 창이 나타나면 Load를 클릭하여 PLC에 최신 프로그램을 다운로드합니다.

    test viz 8

Mech-Viz 프로젝트 실행을 트리거하기

  1. Main[OB1] 창에서 Monitoring on/off 아이콘을 클릭합니다.

    test viz 9
  2. "MM_Empty_Target" 입력 측의 변수 "Camera_User".Start_Empty를 마우스 오른쪽 버튼으로 클릭한 후 Modify  Modify to 1을 선택하여 마지막으로 획득된 비전 결과를 지우진 다음 이 변수를 재설정합니다.

    test viz 10
  3. MM Modbus TCP Interface 데이터 블록에서 Target Pose, Target Label, Target Tool ID 변수 값이 지워집니다.

    test viz 11
  4. "MM_Start_Viz" 입력 측의 변수 "Camera_User".Start_Viz를 마우스 오른쪽 버튼으로 클릭한 후 Modify  Modify to 1을 선택하여 Mech-Viz 프로젝트를 실행한 다음 이 변수를 재설정합니다.

    test viz 12
  5. MM Modbus TCP Interface 데이터 블록의 Status Code 변수의 반환 값이 2103으로 변경되어 프로젝트가 정상적으로 시작되었음을 나타냅니다. 반환 값이 20XX인 경우 표준 인터페이스 상태 코드 및 오류 분석 내용을 참조하여 문제를 해결하십시오.

    test viz 13

Mech-Viz 분기 아웃 포트를 설정하기

  1. "MM_Set_Branch" 입력 측의 변수 "Camera_User".Set_Branch를 마우스 오른쪽 버튼으로 클릭한 후 Modify  Modify to 1을 선택하여 Mech-Viz 분기 아웃 포트를 선택한 다음 이 변수를 재설정합니다.

    test viz 14
  2. MM Modbus TCP Interface 데이터 블록의 Status Code 변수의 반환 값이 2105로 변경되어 분기를 성공적으로 설정함을 나타냅니다. 반환 값이 20XX인 경우 표준 인터페이스 상태 코드 및 오류 분석 내용을 참조하여 문제를 해결하십시오.

    test viz 15

Mech-Viz에서 계획된 경로를 획득하기

  1. "MM_Get_VizData" 입력 측의 변수 "Camera_User".Get_VizData를 마우스 오른쪽 버튼으로 클릭한 후 Modify  Modify to 1을 선택하여 Mech-Viz의 계획 경로를 획득한 다음 이 변수를 재설정합니다.

    test viz 16
  2. MM Modbus TCP Interface 데이터 블록의 Status Code 변수의 반환 값이 2100로 변경되어 계획 경로를 성공적으로 획득함을 나타냅니다. 반환 값이 20XX인 경우 표준 인터페이스 상태 코드 및 오류 분석 내용을 참조하여 문제를 해결하십시오.

    test viz 17

위 그림에서 Number of Pose Sent 값이 6이라는 것은 6개의 관절 각도 데이터 세트를 획득하여 Target Pose에 저장되었음을 의미합니다. Index of Vision Move 값이 3이면, 비전 포인트(즉, 프로젝트 내의 비전 이동)의 경로 위치 번호가 3임을 의미합니다.

Mech-Viz 자동 컨트롤 로직 샘플 파일

test viz 18
test viz 19
test viz 20

이 페이지가 도움이 되었습니까?

다음 방법을 통해 피드백을 보내주실 수 있습니다:

저희는 귀하의 개인정보를 소중히 다룹니다.

당사 웹사이트는 최상의 사용자 경험을 제공하기 위해 쿠키를 사용하고 있습니다. "모두 수락"을 클릭하시면 쿠키 사용에 동의하시는 것이며, "모두 거부"를 클릭하시면 이 웹사이트 방문 시 귀하의 정보가 추적되거나 기억되지 않도록 단일 쿠키만 사용됩니다.