Python 예제 사용 가이드

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

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

이 절에서는 Mech-Vision SDK의 Python 예제를 구성하고 실행하는 방법을 설명합니다.

사용 전 준비

  • SDK 환경 구성을 완료해야 합니다.

  • Python 3.8 이상.

  • mmind_vision 패키지가 설치되어 있어야 합니다(Python 환경 구성 참조).

  • Mech-Vision가 설치되어 있고 정상적으로 실행 가능해야 합니다.

예제 소개

Python 예제는 development/python/examples/ 디렉터리에 있으며, 단일 파일 형태로 다음 예제를 포함합니다.

예제 파일 설명

solution_basic.py

솔루션 열기/닫기/저장/이름 변경을 수행하고, 솔루션 정보 및 프로젝트 정보 목록을 가져옵니다.

project_basic.py

프로젝트를 실행하고 출력 데이터(픽 포인트 포즈)를 가져옵니다.

project_data_storage.py

프로젝트 데이터 저장소를 조작하고 저장 데이터를 읽고 씁니다.

project_param_recipe.py

파라미터 레시피 목록을 가져오고 현재 파라미터 레시피를 전환합니다.

solution_comm_config.py

솔루션의 통신 구성(TCP/IP, Modbus 등)을 가져오고 수정합니다.

solution_device_status.py

솔루션 내 카메라의 연결 상태, 온도, 전송 속도 등 장치 상태 정보를 가져옵니다.

solution_global_variable.py

솔루션 내 전역 변수(정수형, 부동소수점형, 문자열, 큐 등)를 읽고 씁니다.

step_basic.py

스텝 정보를 가져오고, 스텝 출력 포트를 고정한 후 프로젝트 실행 뒤 스텝 출력 데이터(예: 포인트 포즈)를 가져옵니다.

step_props.py

JSON 형식으로 스텝 파라미터를 읽고 설정합니다.

예제 실행

  1. Mech-Vision가 시작되어 있는지 확인합니다.

  2. 예제 파일의 솔루션 경로를 수정하여 기본 경로를 실제 솔루션 경로로 바꿉니다.

    path = "D:/path/to/your/solution"
  3. 명령줄에서 예제를 실행합니다.

    python solution_basic.py

코드 예제

솔루션 열기 및 프로젝트 정보 가져오기(solution_basic.py)

import mmind_vision
from mmind_vision import *

def main():
    # 솔루션 열기
    solution = Solution()
    solution.open("D:/data/vision_sdk_example", "", "")

    # 솔루션 정보 가져오기
    solution_info = solution.get_info()
    print(f"Solution: {solution_info.name}")
    print(f"Path:     {solution_info.path}")

    # 프로젝트 정보 목록 가져오기
    project_infos = solution.get_all_project_infos()
    for info in project_infos:
        print(f"  Project: {info.name}, Running: {info.is_running}")

    # 솔루션 저장 및 닫기
    solution.save()
    solution.close()

if __name__ == '__main__':
    mmind_vision.initialize()
    main()
    mmind_vision.uninitialize()

프로젝트 실행 및 출력 데이터 가져오기(project_basic.py)

import mmind_vision
from mmind_vision import *
import json

def main():
    solution = Solution()
    solution.open("D:/data/vision_sdk_example", "", "")

    # 첫 번째 프로젝트 이름 가져오기
    project_infos = solution.get_all_project_infos()
    project = Project(project_infos[0].name)

    # 프로젝트 실행(프로젝트 실행 완료까지 대기)
    project_result = project.run(
        ProjectRunWaitState.Finished, "request_1")

    # 출력 데이터 파싱(피킹 포인트 포즈)
    output = json.loads(project_result.output_json)
    pick_points = output.get("workobject_data", {}).get("pick_points", [])
    print(f"Pick points count: {len(pick_points)}")

if __name__ == '__main__':
    mmind_vision.initialize()
    main()
    mmind_vision.uninitialize()

스텝 파라미터 읽기 및 설정(step_props.py)

import mmind_vision
from mmind_vision import *
import json

def main():
    solution = Solution()
    solution.open("D:/data/vision_sdk_example", "", "")

    step = Step("3D Matching_1", "Matching")

    # 스텝 파라미터 읽기
    names_json = json.dumps(["confidenceThreshold"])
    props_json = step.get_properties_json(names_json)
    props = json.loads(props_json)
    print(f"Confidence threshold: {props['confidenceThreshold']}")

    # 스텝 파라미터 설정
    new_props = json.dumps({"confidenceThreshold": 0.8})
    step.set_properties_json(new_props)

if __name__ == '__main__':
    mmind_vision.initialize()
    main()
    mmind_vision.uninitialize()

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

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

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

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