Python サンプルプログラム使用ガイド
以下では、Mech-Vision SDK の Python サンプルプログラムの設定および実行方法について説明します。
使用前提
-
SDK の環境設定 が完了していること。
-
Python 3.8 以降がインストールされていること。
-
mmind_visionパッケージがインストールされていること(Python 環境設定 を参照)。 -
Mech-Vision がインストールされ、正常に動作すること。
サンプルプログラム概要
Python サンプルプログラムは development/python/examples/ ディレクトリに格納されており、単一ファイル形式で以下のサンプルが含まれています。
| サンプルファイル | 説明 |
|---|---|
|
ソリューションの開く/閉じる/保存/名前変更、およびソリューション情報とプロジェクト情報一覧の取得 |
|
プロジェクトを実行し、出力データ(把持点など)を取得 |
|
プロジェクトのデータ保存機能を操作し、保存データの読み取りおよび書き込みを実行 |
|
パラメータレシピ一覧の取得および現在のパラメータレシピの切り替え |
|
ソリューションの通信設定(TCP/IP、Modbus など)の取得および変更 |
|
ソリューション内のカメラの接続状態、温度、転送速度などのデバイス状態情報を取得 |
|
ソリューション内のグローバル変数(整数、浮動小数点数、文字列、キューなど)の読み取りおよび書き込み |
|
ステップ情報の取得、ステップ出力ポートの固定、およびプロジェクト実行後のステップ出力データ(位置姿勢など)の取得 |
|
JSON 形式でステップパラメータを読み取りおよび設定 |
サンプルプログラムの実行
-
Mech-Vision が起動していることを確認します。
-
サンプルファイル内のソリューションパスを変更し、デフォルトパスを実際のソリューションパスに置き換えます。
path = "D:/path/to/your/solution" -
コマンドラインでサンプルプログラムを実行します。
python solution_basic.py
コード例
ソリューションを開き、プロジェクト情報を取得(solution_basic.py)
import mmind_vision
from mmind_vision import *
def main():
# Open solution
solution = Solution()
solution.open("D:/data/vision_sdk_example", "", "")
# Get solution information
solution_info = solution.get_info()
print(f"Solution: {solution_info.name}")
print(f"Path: {solution_info.path}")
# Get project information list
project_infos = solution.get_all_project_infos()
for info in project_infos:
print(f" Project: {info.name}, Running: {info.is_running}")
# Save and close solution
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", "", "")
# Get the first project name
project_infos = solution.get_all_project_infos()
project = Project(project_infos[0].name)
# Run project (wait until execution is complete)
project_result = project.run(
ProjectRunWaitState.Finished, "request_1")
# Parse output data (pick points)
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")
# Read step parameters
names_json = json.dumps(["confidenceThreshold"])
props_json = step.get_properties_json(names_json)
props = json.loads(props_json)
print(f"Confidence threshold: {props['confidenceThreshold']}")
# Set step parameters
new_props = json.dumps({"confidenceThreshold": 0.8})
step.set_properties_json(new_props)
if __name__ == '__main__':
mmind_vision.initialize()
main()
mmind_vision.uninitialize()