# ソフトウェア構造 ```text アプリケーション ├─ DobotCtrl ── DobotTcp ── DobotApiExt ── vendor dobot_api.py │ ├─ Dashboard TCP 29999 │ ├─ Motion TCP 30003 │ └─ Feedback TCP 30004 └─ SyncDobotClient / AsyncDobotClient / DeviceProxy │ HTTP / JSON FastApiServer + DeviceRouter │ automatic dispatch DobotCtrl ``` `DobotCtrl` は公開 I/F を保持する薄い委譲クラスです。MG400 固有の変換・状態取得・通信は `DobotTcp` に実装されています。`dobot_api.py` はベンダー API で、追加の logger 処理と通信監視は `dobot_api_ext.py` の派生クラスが担います。 `DobotTcp` は 30004 番ポートから 1440 byte の feedback を専用スレッドで受信します。`DobotErrorManager` はエラー処理、`RobotVarManager` は P/J/I/F/IO 変数のローカル保存を担当します。変数ストアはロボット本体の変数とは区別してください。