戻り値・通信異常・アラーム判定の実装照合
このページは source_reference/dobot_core/dobot_ctrl.py、dobot_tcp.py、dobot_error.py の静的照合結果である。実機での動作保証ではない。
戻り値の意味
API |
正常系 |
異常系・注意点 |
|---|---|---|
|
DIがHIGHなら |
Dashboardの非正常応答、解析失敗、値なし、例外も |
|
Feedbackの |
|
|
Dashboard |
それ以外は |
|
|
それ以外は |
|
|
|
|
|
Sync応答失敗または検出アラームで |
|
アラームIDのリスト |
Dashboard不在、GetErrorIDの異常応答、空・解析不能データは |
|
先頭ID / 件数 |
上記の障害時にも |
|
|
GetErrorID取得失敗でも |
Feedbackとアラーム取得の境界
_state() は初回の有効なFeedback到着をEventで待ち、タイムアウト時に RuntimeError を送出する。ただし、初回受信後のタイムスタンプや最終更新からの経過時間は判定しない。motion_error_active() は _state_getter("ErrorStatus", timeout=0.1) の RuntimeError を捕捉して error_status=False とする。GetErrorID() が取得できず空のアラーム一覧になった場合、実際には確認できていないのに「アラームなし」と同じ判定に到達する経路がある。
運用上の帰結: False / 0 / [] / True を単独で通信健全性や動作安全の証明として扱わない。これは実装上の制約の記録であり、APIの動作を変更したものではない。
照合範囲と未検証事項
確認したのは提供されたPythonソースコードの分岐と戻り値である。実機のアラーム発生、通信断、I/O配線、TCPタイムアウト、Sphinx HTML生成の動作試験は実施していない。