Python APIリファレンス(docstringから自動生成)
このページのメソッド・プロパティ一覧はSphinx autodocが実コードから生成します。 / Sphinx autodoc generates the method and property lists from the source code.
RobotVarManager
.. py:module:: teaching_manager.robot_var_manager
.. py:class:: RobotVarManager(robot_instance=None, logger=None, filename=None, autosave=False, autoload=False) :module: teaching_manager.robot_var_manager
ベースクラス: :py:class:object
Cobotta だけではなく一般的な Robot 向けの座標マネージャ
.. py:method:: RobotVarManager.add_robot(cobotta) :module: teaching_manager.robot_var_manager
.. py:method:: RobotVarManager.attach_robot(cobotta) :module: teaching_manager.robot_var_manager
.. py:method:: RobotVarManager.delete_var(kind, num) :module: teaching_manager.robot_var_manager
ローカルキャッシュの指定変数のみ削除する。実機には影響しない。
.. py:method:: RobotVarManager.get_robot(varname) :module: teaching_manager.robot_var_manager
Cobotta本体から値を取得し、managerにも反映
.. py:method:: RobotVarManager.get_var(kind_or_combined, num=None, default=False) :module: teaching_manager.robot_var_manager
単一ローカル変数を取得する。
`get_var("P", 10)` と `get_var("P10")` は同じ意味である。
変数が存在しない場合は CobottaCtrl 側の慣例に合わせて False を返す。
.. py:method:: RobotVarManager.list_vars() :module: teaching_manager.robot_var_manager
.. py:method:: RobotVarManager.load(filename=None) :module: teaching_manager.robot_var_manager
.. py:method:: RobotVarManager.read_var_from_robot(kind, num=None) :module: teaching_manager.robot_var_manager
cobotta本体 --> managerに反映
.. py:method:: RobotVarManager.read_vars_from_robot(kind, start, end=None) :module: teaching_manager.robot_var_manager
cobotta本体 --> managerに反映
.. py:property:: RobotVarManager.robot_instance :module: teaching_manager.robot_var_manager :type: ~typing.Any
接続済みロボットを返す。接続がない場合はNone。
.. py:method:: RobotVarManager.save(filename=None) :module: teaching_manager.robot_var_manager
.. py:method:: RobotVarManager.set_var(kind, num, value=None, save=None) :module: teaching_manager.robot_var_manager
単一ローカル変数のセット。
`set_var("P", 10, value)` と `set_var("P10", value)` の両方を受け付ける。
:param kind: 変数種別または結合済み変数名。例: `"P"`, `"P10"`。
:param num: 変数番号、または `kind` が結合済み変数名の場合の値。
:param value: 保存する値。
:param save: JSON保存制御。`None` の場合は `autosave` 設定に従う。
`True` の場合は即保存し、`False` の場合は保存しない。
.. py:method:: RobotVarManager.set_vars(kind, start, end=None, value=None) :module: teaching_manager.robot_var_manager
ローカル変数の一括/範囲セット(cobotta本体には影響しない)
例::
set_vars("P", 10, value=[1,2,3,4,5,6])
set_vars("P", 10, 12, value=[ [1,2,3,4,5,6], ... ])
:param kind:
:param start:
:param end:
:param value:
Returns:
.. py:method:: RobotVarManager.write_all_to_robot() :module: teaching_manager.robot_var_manager
Manager に存在する全変数を robot_instance 本体に一斉反映(超危険)
.. py:method:: RobotVarManager.write_var_to_robot(kind, num=None) :module: teaching_manager.robot_var_manager
end 省略と同じ意味
manager --> cobotta本体へ反映(危険!)
.. py:method:: RobotVarManager.write_vars_to_cobotta(kind, start, end=None) :module: teaching_manager.robot_var_manager
end 省略で var のみ登録(一つだけ)
manager --> cobotta本体へ反映(危険!)
TeachingModel
.. py:module:: teaching_manager.teaching_model
ティーチングGUIのModel。
責務: DeviceProxyの共通APIで指定範囲のP変数をロボットから取得し、 JSONから読み込んだP変数と現在位置を画面表示用に保持する。
責務外: Qt画面の構築、DeviceProxyの生成、ロボット固有APIの変換、 Qt画面の構築とユーザーへの確認ダイアログ。
安全上の制約: 実機への書き込みは指定番号の明示操作に限る。 P変数の値から未使用かどうかを推測しない。
.. py:class:: TeachingModel(manager, filename, logger=None, async_mode=False) :module: teaching_manager.teaching_model
ベースクラス: :py:class:object
ロボットとJSONから読み取ったP変数の表示状態を管理する。
.. py:property:: TeachingModel.async_mode :module: teaching_manager.teaching_model :type: bool
現在位置取得APIを非同期で公開する設定を返す。
.. py:method:: TeachingModel.clear_number(number) :module: teaching_manager.teaching_model
指定P番号を未使用値に変更し、実機から読み戻して反映する。
Cobottaでは実機のP変数を変更する。その他はJSONを更新する。
.. py:property:: TeachingModel.current_position :module: teaching_manager.teaching_model :type: ~typing.Any
最後に読み取ったロボットの現在位置を返す。
.. py:method:: TeachingModel.delete_numbers(numbers) :module: teaching_manager.teaching_model
選択P番号を表示一覧とローカルキャッシュから削除する。
Cobottaでは実機とJSONを変更しない。その他はJSONからも削除する。
.. py:method:: TeachingModel.first_unused(start, end) :module: teaching_manager.teaching_model
未使用判定の仕様が未確定のため、常にNoneを返す。
取得できなかった番号や値だけを根拠に空き番号を判定しない。
.. py:property:: TeachingModel.has_robot_changes :module: teaching_manager.teaching_model :type: bool
Cobotta内部値と表示中のP変数に差があるかを返す。
.. py:property:: TeachingModel.has_unsaved_changes :module: teaching_manager.teaching_model :type: bool
表示内容が最後に保存したJSON相当の状態と異なるかを返す。
.. py:property:: TeachingModel.json_filename :module: teaching_manager.teaching_model :type: str
起動時に指定されたデフォルトJSONファイルのパスを返す。
.. py:method:: TeachingModel.load_file(filename=None) :module: teaching_manager.teaching_model
JSONを読み取って表示状態を更新する。ロボットへは書き込まない。
:param filename: 読み込むJSONファイル。省略時はデフォルトファイル。
任意ファイルを選んでも保存先のデフォルト設定は変更しない。
.. py:property:: TeachingModel.positions :module: teaching_manager.teaching_model :type: ~typing.Dict[str, ~typing.Any]
表示用のP変数一覧のコピーを返す。
.. py:method:: TeachingModel.read_current_position() :module: teaching_manager.teaching_model
現在位置を取得する。
async_mode=False: 同期実行し、座標を返す。
async_mode=True: コルーチンを返す。呼び出し側でawaitする。
ロボット内部変数およびJSONへの書き込みは行わない。
.. py:method:: TeachingModel.read_robot(start, end) :module: teaching_manager.teaching_model
指定したP番号範囲を実機から読み取る。
DeviceProxyの共通API get_var("P", 番号) を利用する。
get_all_var()は変数名一覧を返すため使用しない。
読み取った値はRobotVarManagerのローカルキャッシュにも反映する。
読み取った結果は表示に反映するが、JSONには保存しない。
:param start: 読み取り開始P番号(両端を含む)。
:param end: 読み取り終了P番号(両端を含む)。
:raises RuntimeError: ロボット未接続の場合。
:raises ValueError: 番号範囲が不正な場合。
:raises Exception: 実機からの読み取りに失敗した場合、その例外を伝播する。
.. py:property:: TeachingModel.robot :module: teaching_manager.teaching_model :type: ~typing.Any
マネージャーに接続済みのロボットインスタンスを返す。
.. py:method:: TeachingModel.save_file(allow_empty=False, data=None, filename=None) :module: teaching_manager.teaching_model
現在画面に表示しているP変数をJSONへ保存する。
ロボットには書き込まない。読み取り結果がない場合は既存ファイルを
空のデータで上書きしない。保存成功後にだけ表示元を更新する。
.. py:method:: TeachingModel.save_on_close() :module: teaching_manager.teaching_model
終了時にCobottaへの同期後、デフォルトJSONへ保存する。
.. py:method:: TeachingModel.set_storage_mode(uses_robot_memory) :module: teaching_manager.teaching_model
P変数の保存先を設定する。Controllerがデバイス名から決定する。
:param uses_robot_memory: Trueなら実機P変数、FalseならJSONファイル。
.. py:property:: TeachingModel.source :module: teaching_manager.teaching_model :type: str
現在表示しているP変数の取得元を返す。
.. py:method:: TeachingModel.sync_robot() :module: teaching_manager.teaching_model
表示中の変更されたP変数のみをCobottaに書き込み、読み戻す。
一覧から削除した番号は対象外とし、実機の値を削除しない。
.. py:method:: TeachingModel.teach_first_unused(start, end) :module: teaching_manager.teaching_model
空き番号への自動登録。未使用判定が未確定の間は書き込まない。
.. py:method:: TeachingModel.teach_number(number) :module: teaching_manager.teaching_model
現在位置を指定P番号へ書き込み、実機から読み戻す。
明示的な上書き操作専用。GUI側で番号と上書き確認を行う。
読み戻し成功後、画面表示とローカルキャッシュを更新する。
JSONへの保存は別ボタンで明示的に行う。
TeachingController
.. py:module:: teaching_manager.teaching_controller
ティーチング画面の操作を調整するController。
責務: 起動時の読込元の選択、現在位置取得、P変数の読書き、 クリア、ローカル削除、JSON保存のModelへの委譲。 責務外: Qtウィジェット、確認ダイアログ、ロボット固有APIの実装。
.. py:class:: TeachingController(model, device_name, logger=None) :module: teaching_manager.teaching_controller
ベースクラス: :py:class:object
GUIからの操作をModelへ振り分ける。
.. py:method:: TeachingController.clear_number(number) :module: teaching_manager.teaching_controller
指定P変数を未使用値に変更する。
.. py:method:: TeachingController.clear_numbers(numbers) :module: teaching_manager.teaching_controller
選択したP変数を保存先に応じて順次クリアする。
.. py:method:: TeachingController.delete_numbers(numbers) :module: teaching_manager.teaching_controller
一覧から削除する。JSON管理ではファイルにも反映する。
.. py:property:: TeachingController.device_name :module: teaching_manager.teaching_controller :type: str
DeviceProxy生成時のデバイス名を返す。
.. py:property:: TeachingController.has_robot_changes :module: teaching_manager.teaching_controller :type: bool
Cobotta内部値との不一致があるかを返す。
.. py:property:: TeachingController.has_unsaved_changes :module: teaching_manager.teaching_controller :type: bool
JSON未保存の変更があるかを返す。
.. py:property:: TeachingController.json_filename :module: teaching_manager.teaching_controller :type: str
ファイル選択ダイアログの初期パスとなるJSONファイル名を返す。
.. py:method:: TeachingController.load_file(filename=None) :module: teaching_manager.teaching_controller
指定したJSONを読み込む。省略時はデフォルトファイルを使う。
.. py:method:: TeachingController.load_initial(start, end) :module: teaching_manager.teaching_controller
明示設定に従って初期データを読み込む。
.. py:property:: TeachingController.model :module: teaching_manager.teaching_controller :type: ~teaching_manager.teaching_model.TeachingModel
表示状態を保持するModelを返す。
.. py:method:: TeachingController.read_current_position() :module: teaching_manager.teaching_controller
現在位置を取得する。同期/非同期モードはModel設定に従う。
.. py:method:: TeachingController.read_robot(start, end) :module: teaching_manager.teaching_controller
指定範囲のP変数を実機から読み込む。
.. py:method:: TeachingController.save_file(filename=None) :module: teaching_manager.teaching_controller
指定したJSONへ一覧を保存する。省略時は既定の保存先を使う。
.. py:method:: TeachingController.save_on_close() :module: teaching_manager.teaching_controller
終了時の実機同期とデフォルトJSON保存を実行する。
.. py:method:: TeachingController.teach_first_unused(start, end) :module: teaching_manager.teaching_controller
空き番号への登録をModelへ委譲する。
.. py:method:: TeachingController.teach_number(number) :module: teaching_manager.teaching_controller
現在位置を指定P番号へ書き込む。
.. py:property:: TeachingController.uses_robot_memory :module: teaching_manager.teaching_controller :type: bool
P変数の保存先がロボット内部メモリかどうかを返す。
TeachingWindow (GUI API)
.. py:module:: teaching_manager.teaching_gui
P座標ティーチングGUIのティーチング・JSON保存版。
Qtによる表示とボタン操作を担当する。データ取得と保持はControllerに委譲する。 実機への書き込みはユーザーが確認した指定番号に限定する。
.. py:class:: TeachingWindow(*args, **kwargs) :module: teaching_manager.teaching_gui
ベースクラス: :py:class:~PySide6.QtWidgets.QMainWindow
P変数の読み取り操作と表示を担当するQt画面(View)。
データ取得と操作はControllerへ委譲する。実機への直接書き込みは行わない。
.. py:method:: TeachingWindow.closeEvent(event) :module: teaching_manager.teaching_gui
未保存の変更がある場合に、同期・保存するか確認する。
.. py:method:: TeachingWindow.refresh() :module: teaching_manager.teaching_gui
Modelの保持状態を画面に反映する。