今日は、asyncioの使い方を見直し、できるだけ簡単なわかりやすいコードの使い方で組み込むことにした。

LED安定化待ち時間は、

asyncio.run(asyncio.sleep(4)) # 4秒待ち


DEBUG用の待機時間は、

# DEBUG用wait時間の設定 0(DEBUG無し) or 5(DEBUG用)

debug_time = 5

# DEBUG用待ち時間

asyncio.run(asyncio.sleep(debug_time))


また、USBカメラの露光時間設定を変数に変更


# 反射露光時間設定

r_time = -4

# 透過露光時間設定

s_time = r_time + 2

# 初期設定

cap.set(cv2.CAP_PROP_EXPOSURE, r_time)  # ■■反射撮影の露光時間を設定■■

# 検査ループでの設定

cap.set(cv2.CAP_PROP_EXPOSURE, r_time)  # ■■反射撮影の露光時間を再設定■■

cap.set(cv2.CAP_PROP_EXPOSURE, s_time) # ■■透過撮影の露光時間を再設定■■


これで、

非同期待ち時間を容易に変更できるようになり、

DEBUG用の途中経過表示を1か所でON/OFF制御でき、

2種撮影の露光時間も容易に変更できるようになった。


検査時は時短優先だが、機器トラブルなどの時に止めることで、トラブル原因の解消が早くできるようになる。

コメント

このブログの人気の投稿