SLM8000 API 簡易説明 ============================ | SLM8000のAPI一覧です. | 詳細はAPIリファレンスをご確認下さい. SLM8000との通信開始&終了コマンド ----------------------------------- SLM8000との通信を開始&終了するコマンドです. init_comm ^^^^^^^^^^^^^^^^^^^^ :説明: 通信を開始します. :Args: None :Returns: None quit_comm ^^^^^^^^^^^^^^^^^^^^ :説明: 通信を終了します. :Args: None :Returns: None プログラム読込&書込&編集コマンド -------------------------------------- SLM8000プログラムの読込&書込を行うコマンドです. read_program ^^^^^^^^^^^^^^^^^^^^ :説明: プログラムを読み出します. :Args1: task(int) -- タスク番号 :Args2: pno(int) -- プログラム番号 :Returns: プログラム文字列 save_program ^^^^^^^^^^^^^^^^^^^^ :説明: プログラムを読出しファイルに保存します. :Args1: task(int) -- タスク番号 :Args2: pno(int) -- プログラム番号 :Args3: filepath(str) -- ファイルパス :Returns: None read_onestepprogram ^^^^^^^^^^^^^^^^^^^^ :説明: 選択中のプログラムのステップ命令を読み出します. :Args1: task(int) -- タスク番号 :Args2: step(int) -- ステップ番号(0は現在実行中ステップ) :Returns: ステップ命令文字列 write_program_from_file ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: ファイルからプログラムを書き込みます. :Args1: filepath(str) -- ファイルパス :Args2: task(int) -- タスク番号 :Args3: programblock(int) -- 書き込むプログラムブロック :Args4: code(str) -- コードタイプ("Tcode" or "Gcode") :Returns: なし write_program_from_str ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: プログラムを書き込みます. :Args1: text(str) -- プログラム文字列 :Args2: task(int) -- タスク番号 :Args3: programblock(int) -- 書き込むプログラムブロック :Args4: code(str) -- コードタイプ("Tcode" or "Gcode") :Returns: なし write_dnc_program_from_str ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: DNC運転プログラムを書き込みます. :Args1: text(str) -- プログラム文字列 :Args2: task(int) -- タスク番号 :Args3: code(str) -- コードタイプ("Tcode" or "Gcode") :Args4: cont(bool) -- 書込むDNCプログラムが継続プログラムの場合はTrue :Returns: なし write_dnc_program_from_file ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: DNC運転プログラムファイルを書き込みます. :Args1: filepath(str) -- ファイル名 :Args2: task(int) -- タスク番号 :Args3: code(str) -- コードタイプ("Tcode" or "Gcode") :Args4: cont(bool) -- 書込むDNCプログラムが継続プログラムの場合はTrue :Returns: なし read_programblock_info ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 現在の各プログラムブロック情報を読出します. :Args: None :Returns: [[タスク番号(int), プログラム番号(int), ]...]で要素数が64のプログラムブロックデータリスト read_dnc_info ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 現在のDNCバッファの状態を読出します. :Args1: task(int) -- タスク番号 :Returns: (DNCバッファ使用容量(byte), DNCバッファ空き容量(byte)) move_programblock ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 既にダウンロード済みのプログラムブロックを別ブロックに移動します. :Args1: task(int) -- タスク番号 :Args2: pno(int) -- 移動するプログラム番号 :Args3: blockno(int) -- 移動先先頭ブロック番号 :Returns: None copy_programblock ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 既にダウンロード済みのプログラムを指定し別ブロックにコピーします. :Args1: task(int) -- タスク番号 :Args2: sourcepno(int) -- コピーするプログラム番号 :Args3: dsttask(int) -- コピーした後のタスク番号 :Args4: dstblckno(int) -- コピーした後の先頭ブロック番号 :Args5: dstpno(int) -- コピーした後のプログラム番号 :Returns: None delete_programblock ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: ダウンロード済みのプログラムを指定しそのプログラムを削除します. :Args1: task(int) -- タスク番号 :Args2: pno(int) -- 削除するプログラム番号 :Returns: None プログラム実行コマンド -------------------------------------- SLM8000プログラムの運転&停止&編集を行うコマンドです. start_program ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: プログラム実行の開始/再開を行います. :Args1: task(int) -- タスク番号 :Returns: None stop_program ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: プログラム実行/軸移動の一時停止を行います. :Args1: task(int) -- タスク番号 :Returns: None select_program ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 実行するプログラムを指定します. :Args1: task(int) -- タスク番号 :Args2: program(int) -- 選択プログラム番号 :Returns: None タスク状態設定コマンド ---------------------------------------------------- | タスクの状態をコントロールするタスク操作コマンドの説明をします. set_mode ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 動作モードを設定します. :Args1: task(int) -- タスク番号 :Args2: mode(str) -- 動作モード("setting": セッティングモード, "manual": 手動運転モード, "auto": 自動運転モード, "ot_ignore": OT無視モード, "dnc": DNC運転モード) :Returns: None reset_task ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: タスクのリセットを行います. :Args1: task(int) -- タスク番号 :Returns: None stop_task ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: プログラム実行や移動コマンド発行等によって移動中の軸を停止します. :Args1: task(int) -- タスク番号 :Returns: None restart_task ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 軸移動を再開します. :Args1: task(int) -- タスク番号 :Returns: None change_override ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 送りオーバーライドを0%~200%の範囲で1%刻みで設定します. :Args1: task(int) -- タスク番号 :Args2: override(int) -- オーバーライド設定値(0~200%) :Returns: None change_interpolate_override ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 直線補間/円弧補間動作時のオーバーライドを0%~200%の範囲で1%刻みで設定します. :Args1: task(int) -- タスク番号 :Args2: override(int) -- 補間オーバーライド設定値(0~200%) :Returns: None change_spindle_override ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 主軸/SPIN動作時のオーバーライドを変更します. :Args1: task(int) -- タスク番号 :Args2: override(int) -- 主軸オーバーライド設定値(0~200%) :Returns: None set_singlestep_mode ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: シングルステップモードへの移行と解除を行います. :Args1: task(int) -- タスク番号 :Returns: None set_cycle_mode ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: サイクルモードへの移行と解除を行います. :Args1: task(int) -- タスク番号 :Returns: None 軸状態設定&読出しコマンド ---------------------------------------------------- | 各軸の状態設定&読出しを行うコマンドの説明をします. | 各軸状態設定コマンドへの引数kwargsは各軸への指令を辞書形式で与えます. | 各軸のラベルはそれぞれ第1軸から9軸まで(X, Y, Z, A, B, C, R, Q, T)が割り振られており, | 設定を行う軸にはTrueを与えてください. | また, 設定を解除する軸にはFalseを与えてください. | 引数として与えなかった軸には何も行われません. | また, 引数としてALL=True又はFalseを与えた場合は全軸が設定又はします. read_spindle_rev ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 現在の主軸回転数を読出します. :Args1: task(int) -- タスク番号 :Returns: (主軸指令回転数, 実際の主軸回転数) read_neglected_axis_info ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 各軸の軸指令の有効/無効状態を読出します. :Args1: task(int) -- タスク番号 :Returns: neglectaxislist (list[int]): 第n軸が軸指令の無効の場合, n番目の要素の値が1になります. 有効の場合は0になります. read_interlocked_axis_info ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 各軸のインタロックの有効/無効状態を読出します. :Args1: task(int) -- タスク番号 :Returns: interlockaxislist (list[int]): 第n軸がインタロックの場合, n番目の要素の値が1になります. インタロックでない場合は0になります. read_onoff_axis_info ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 各軸のサーボのON/OFF状態を読出します/ :Args1: task(int) -- タスク番号 :Returns: onoffaxislist (list[int]): 第n軸がONの場合, n番目の要素の値が1になります. OFFの場合は0になります. set_spindle_rev ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 主軸の回転数を指定します :Args1: task(int) -- タスク番号 :Args2: revolution(int) -- 回転数 :Returns: None set_neglected_axis ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 各軸への軸指令の有効無効を設定します :Args1: task(int) -- タスク番号 :Args2: kwargs(dict) -- 有効無効値dict (ex. X=True) :Returns: None :例: 第1軸を有効にする場合 → set_neglected_axis(task, X=True) :例: 第1軸を無効にする場合 → set_neglected_axis(task, X=False) set_interlock ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 各軸のインタロックの有効無効を設定します :Args1: task(int) -- タスク番号 :Args2: kwargs(dict) -- インタロック値dict (ex. X=True) :Returns: None :例: 第1軸をLockする場合 → set_interlock(task, X=True) :例: 第1軸をUnlockする場合 → set_interlock(task, X=False) set_onoff_servo ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 各軸のサーボON/OFFを設定します :Args1: task(int) -- タスク番号 :Args2: kwargs(dict) -- ON/OFFdict :Returns: None :例: 第1軸をOnする場合 → set_onoff_servo(task, X=True) :例: 第1軸をOffする場合 → set_onoff_servo(task, X=False) 軸移動&軸動作コマンド ---------------------------------------------------- | 軸移動コマンドの説明をします. | 軸移動コマンドへの引数kwargsは各軸への指令を辞書形式で与えます. | 各軸のラベルはそれぞれ第1軸から9軸まで(X, Y, Z, A, B, C, R, Q, T)が割り振られており, | それぞれに必要な移動量又は位置(pls)を引数として与えてください. | 引数として与えなかった軸は移動しません. | 例: 第1軸, 第2軸への指令: X=1000, Y=-2000 exec_positioning ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: インクリメンタルモードの位置決め((G91 G00))を実行します. :Args1: task(int) -- タスク番号 :Args2: kwargs(dict) -- インクリメント指令dict :Returns: None exec_abs_positioning ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: アブソリュートモードの位置決め(G90 G00)を実行します. :Args1: task(int) -- タスク番号 :Args2: mode -- ("logical" or "mechanical"): logical"= 論理座標系アブソリュート指定, "mechanical" = 機械座標系アブソリュート指定 :Args3: kwargs(dict) -- PTP位置決め値dict :Returns: None exec_positioning_without_syc ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 同期軸との同期を行わずにインクリメンタルモードの位置決め((G91 G00))を実行します. :Args1: task(int) -- タスク番号 :Args2: kwargs(dict) -- インクリメント指令dict :Returns: None exec_abs_positioning_without_syc ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 同期軸との同期を行わずにアブソリュートモードの位置決め(G90 G00)を実行します. :Args1: task(int) -- タスク番号 :Args2: mode(str) -- ("logical" or "mechanical"): logical"= 論理座標系アブソリュート指定, "mechanical" = 機械座標系アブソリュート指定 :Args3: kwargs(dict) -- PTP位置決め値dict :Returns: None exec_linear_interpolation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: インクリメンタルモードの(G91 G01)直線補間位置決めを行います. :Args1: task(int) -- タスク番号 :Args2: feed(int) -- 補間送り速度 [pls/sec] :Args3: kwargs(dict) -- 直線補間位置決め値dict :Returns: None exec_abs_linear_interpolation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: アブソリュートモード(G90 G01)の直線補間位置決めを行います. :Args1: task(int) -- タスク番号 :Args2: feed(int) -- 補間送り速度 [pls/sec] :Args3: mode(str) -- ("logical" or "mechanical"): logical"= 論理座標系アブソリュート指定, "mechanical" = 機械座標系アブソリュート指定 :Args4: kwargs(dict) -- 直線補間位置決め値dict :Returns: None spin_axis ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 回転軸を回転させます. :Args1: task(int) -- タスク番号 :Args2: override(bool) -- オーバーライドフラグ :Args3: kwargs(dict) -- 回転数値dict (ex. X=100000) :Returns: None on_spindle ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 主軸の回転を開始します. :Args1: task(int) -- タスク番号 :Returns: None off_spindle ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 主軸回転を停止します. :Args1: task(int) -- タスク番号 :Returns: None reverse_spindle ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 主軸を逆回転させます. :Args1: task(int) -- タスク番号 :Returns: None start_jog ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: JOG移動を開始します. :Args1: task(int) -- タスク番号 :Args2: kwargs(dict) -- JOG方向値dict :Returns: None :追加説明: **kwargsには各軸の移動方向を設定します. +方向の場合1を, -方向の場合は-1を設定して下さい.** :例: start_jog(task, X=1, Y=-1) stop_jog ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: JOG移動を停止します. :Args1: task(int) -- タスク番号 :Returns: None 原点復帰コマンド ---------------------------------------------------- | 軸状態を設定するコマンドの説明をします. | 原点復帰コマンドへの引数kwargsは各軸への指令を辞書形式で与えます. | 各軸のラベルはそれぞれ第1軸から9軸まで(X, Y, Z, A, B, C, R, Q, T)が割り振られており, | 原点復帰を行う軸にはTrueを与えてください | 引数として与えなかった軸は移動しません. | また, 引数としてALL=Trueを加えた場合は全軸が原点復帰します. | 例: 第1軸, 第2軸を原点復帰: X=True, Y=True | 例: 全軸を原点復帰: ALL=True return_to_reference ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 全軸の原点復帰を行います. :Args1: task(int) -- タスク番号 :Returns: None return_to_home ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 設定されたホーム位置へ移動します. :Args1: task(int) -- タスク番号 :Returns: None return_to_axisreference ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 逃げ動作を行ってから指定した軸を自動原点復帰させます. :Args1: task(int) -- タスク番号 :Args2: kwargs(dict)-- 各論理軸原点復帰指令dict :Returns: None :例: return_to_reference(task=0, X=True, Y=True) return_to_axisreference_manually ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 逃げ動作を行わずに指定した軸を自動原点復帰させます. :Args1: task(int) -- タスク番号 :Args2: kwargs(dict)-- 各論理軸原点復帰指令dict :Returns: None :例: return_to_axisreference_manually(task=0, X=True, Y=True) 座標設定コマンド ---------------------------------------------------- | 座標を設定するコマンドの説明をします. | 座標設定コマンドへの引数kwargsは各軸の座標指定を辞書形式で与えます. | 各軸のラベルはそれぞれ第1軸から9軸まで(X, Y, Z, A, B, C, R, Q, T)が割り振られており, | それぞれの座標値(pls)を引数として与えてください. | 引数として与えなかった軸は設定しません. set_origin ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 現在の軸指令位置を指令座標の原点として設定します. :Args1: task(int) -- タスク番号 :Returns: None set_coordination ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 各軸の現在位置を指定の論理座標値に設定します. :Args1: task(int) -- タスク番号 :Args2: kwargs(dict) -- 各論理座標値dict :Returns: None set_abs_position ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 各軸のアブソリュートポジション(機械座標系)を指定値に設定します. :Args1: task(int) -- タスク番号 :Args2: kwargs(dict) -- アブソリュートポジション(機械座標系)値dict :Returns: None set_feedback_counters ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: FBカウンタ積算値を変更します(FBを割り当てている軸の座標には影響しません). :Args1: kwargs(dict) -- FBカウンタ積算値値dict :Returns: None :追加説明: FBカウンタ積算値はFB1からFB10までFB1=XX, FB2=YY, FB10=ZZの形式で与えてください :例: set_feedback_counters(FB1=1000, FB2=-1000) バックアップ&初期化コマンド ---------------------------------------------------- | 全体操作コマンドの説明をします. reflect_program ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: ダウンロード済みの全プログラムデータを保存領域に保存します. :Args: None :Returns: None reflect_pointdata ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: ダウンロード済みの全ポイントデータを保存領域に保存します. :Args: None :Returns: None erase_memory ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: バックアップメモリのデータを初期化します. :Args1: param(bool) -- パラメーターを初期化するか? :Args2: abspos (bool): -- アブソリュートポジションを初期化するか? :Args3: macro (bool): -- マクロ変数を初期化するか? :Args4: pointtable (bool) -- ポイントテーブルを初期化するか? :Args5: all (bool): -- 全てのパラメータを初期化するか? :Returns: None マクロ変数情報読出し&書込みコマンド ---------------------------------------------------- | マクロ変数の書込み&読込を行うコマンドの説明をします. read_macrovariable ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 指定された番号のマクロ変数を読み出します. :Args1: task(int) -- タスク番号 :Args2: macronum(int) -- マクロ変数番号 :Returns: マクロ変数値 read_macrovariables ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: マクロ変数を一括して読み出します. :Args1: task(int) -- タスク番号 :Args2: startmacronum(int) -- 読み出しを開始するマクロ変数番号 :Args3: size(int) -- 読み込むマクロ変数数 :Returns: 長さがsizeで各要素がintのマクロ変数リスト write_macrovariable ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 指定された番号のマクロ変数に対する書込みを行います. :Args1: task(int) -- タスク番号 :Args2: macronum(int) -- マクロ変数番号 :Args3: value(int) -- マクロ変数値 :Returns: None write_macrovariables ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: マクロ変数値を一括で書き込みます. :Args1: task(int) -- タスク番号 :Args2: startmacronum(int) -- 書込みを開始するマクロ変数番号 :Args3: size(int) -- 書き込むマクロ変数数 :Args4: macrovariables(int) -- 長さがsizeで各要素がintのマクロ変数リスト :Returns: None ポイントテーブル情報読出し&書込みコマンド ---------------------------------------------------- | ポイントテーブルの書込み&読込を行うコマンドの説明をします. read_pointtables ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: ポイントテーブルの読込を行います. :Args1: task(int) -- タスク番号 :Args2: startpointnum(int) -- 読込開始ポイントテーブル番号(0~400) :Args3: size(int) -- 読み込むポイントデータ数(0~400) :Returns: pointtables([[int]]) -- 1~9軸までのポイントテーブルデータ*ポイントデータ数の二次元リスト.無効ポイントテーブルの値はNone write_pointtable ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: イントテーブルの書込みを行います. :Args1: task(int) -- タスク番号 :Args2: pointnum(int) -- 書込みポイントテーブル番号 :Args3: kwargs(dict) -- 各軸ポイントデータdict (ex. X=1000). 引数として与えない軸のデータについては, 無効値となります. :Returns: None 入出力情報読出し&設定コマンド ---------------------------------------------------- | 入出力の読込&設定を行うコマンドの説明をします. | 入出力信号は入出力レジスタの指定ビットを操作することでONOFFします. | 各入出力の割付についてはマニュアル<3-2.標準入出力チャンネル表>(TB00-1130C)を参照してください. read_io_status ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: SLM8000の汎用入出力の状態を読出します. :Args: None :Returns: 汎用入力リスト(list[int: 要素数4]):index=0がi#00, index=4がi#04, 汎用出力リスト (list[int: 要素数3]): 汎用出力リスト index=0がo#00, index=3がo#03 read_forcedio_status ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: SLM8000の強制入出力の状態を読出します. :Args: None :Returns: 汎用入力リスト(list[int: 要素数4]):index=0がi#00, index=4がi#04, 汎用出力リスト (list[int: 要素数3]): 汎用出力リスト index=0がo#00, index=3がo#03 out_mcode ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 指定したMコードを出力します. :Args1: mcode(int) -- 出力Mコード :Returns: None onoff_outputs ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 出力を直接一括ON/OFFします. :Args1: outputs (list[int])-- 要素数3のリスト :Returns: None :追加説明: **このコマンドは引数が複雑です. 詳細APIをご確認下さい** onoff_output ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 出力を直接ON/OFFします. :Args1: port(int) -- 出力するポート先(0~3). :Args2: bitnum(int) -- 操作するポートのビット番号(0~15) :Args3: flag(int) -- 操作する強制命令コマンド(0:無変更, 1:強制指定解除, 2:強制ON指定, 3:強制OFF指定) :Returns: None force_inputs ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 任意の入力の強制的なON/OFFを一括して指定します. :Args1: inputs(list[[list[int]]]) --要素がintの二次元リスト :Returns: None :追加説明: **このコマンドは引数が複雑です. 詳細APIをご確認下さい** force_outputs ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 任意の出力の強制的なON/OFFを一括して指定します. :Args1: outputs(list[[list[int]]]) --要素がintの二次元リスト :Returns: None :追加説明: **このコマンドは引数が複雑です. 詳細APIをご確認下さい** force_io ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 任意の出力の強制的なON/OFFを一括して指定します. :Args1: io(int) -- 強制入力, 強制出力どちらを操作するかのフラグ. 強制入力では"input", 強制出力では"output"を指定 :Args2: port(int) -- 出力するポート先です. inputは0~4, outputは0~3 :Args3: bitnum(int) -- 操作するポートのビット番号(0~15) :Args4: flag(int) -- 操作する強制命令コマンド(0:無変更, 1:強制指定解除, 2:強制ON指定, 3:強制OFF指定) :Returns: None 機械操作パネル情報読出し&設定コマンド ---------------------------------------------------- | 入出力の読込&設定を行うコマンドの説明をします. | 機械操作パネルの詳細については「SLM8000 ユーザーズマニュアル」<Ⅲ機能編 7.機械操作パネル>(TB00-1130G)を参照下さい read_machinepanel_io_info ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 機械操作パネルの入力チャンネルの状態を読出します. :Args1: task(int) -- タスク番号 :Returns: mpinfo (list[int]) : 機械パネル入力のリスト. 要素数8 要素[0]が機械パネルCH1, 要素[7]が機械パネルCH8 read_forced_machinepanel_io_info ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 機械操作パネルの強制入力状態を読出します. :Args1: task(int) -- タスク番号 :Returns: mpinfo (list[int]) : 機械パネル入力のリスト. 要素数8 要素[0]が機械パネルCH1, 要素[7]が機械パネルCH8 内部情報読出し&設定コマンド説明 ---------------------------------------------------- | SLM8000内部の情報を読み出すコマンドの説明をします. read_status ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: ステータスデータを読み出します. :Args: None :Returns: slm8000ステータスクラス :追加説明: slm8000ステータスクラスの詳細はステータス確認コマンド説明をご確認下さい. read_servoparams ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: サーボパラメータの読み出しを行います. :Args: None :Returns: ServoParam(物理軸サーボパラメータクラス) read_feedback_counts ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: FBカウンタ1~10の積算値を読出します. :Args: None :Returns: feedbackcounts(要素数10のリスト): n番目の要素がn番目のFBカウンタの積算値 read_assigned_axis_info ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 現在の各軸タスク割り付け情報を読出します. :Args: None :Returns: (list[task, logicalaxis])要素n番目が第(n+1)番目の物理軸の割り当て. 各要素の0番目がタスク番号, 1番目が論理軸番号. 無効軸の場合両方の要素がNone. read_rtc_time ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 内部にて実測した制御周期毎の内部処理時間を読出します. :Args: None :Returns: (最大処理時間[us], 現在処理時間[us]) read_foreground_time ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: フォアグランドループの処理時間を読出します. :Args: None :Returns: (最大処理時間[us], 現在処理時間[us]) read_version ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: システムのバージョン情報を読出します. :Args: None :Returns: ROMバージョン情報dict reset_timer ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 制御周期内処理時間最大値とフォアグランド周期計測最大値をクリアします. :Args: None :Returns: None TPCロギング操作コマンド ------------------------------------------------------- | TPCロギングの設定, 操作, データ取得を行うコマンドです. | TPCロギング項目を設定し, 実際にTPCロギングを開始する手順は | 1. Slm8000TPCSettingsをインスタンス化 | 2. TPCロギング項目をロードまたは設定 | 2. SLM8000クラスのwrite_tpc_settingsでモーションコントローラーへロギング項目を通知 | 3. start_tpcでTPCロギングを開始 | 4. get_tpc_dataで適宜データ取得 | 5. stop_tpcでTPCロギングを終了 | の流れで行います. | 詳細はAPIリファレンスをご確認下さい. | なお, TPCロギングデータはSlm8000クラスに保存されていきます. | ロギングを短い周期で長時間行うと, メモリを使い切る可能性があるのでご注意下さい. write_tpc_settings ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: TPCロギング設定を書込みます. :Args1: tpcsettings(Slm8000TPCSettings) -- Slm8000TPCSettingsのインスタンス :Args2: task(int) -- ロギングするタスク番号 :Args3: frequency(int) -- ロギング周期(msec) 0の時は毎周期 :Returns: None :注意: Slm8000TPCSettingsクラスの説明もお読み下さい. start_tpc ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: TPCロギングを開始します. :Args1: fetch_interval(float) -- データ読出し周期 :Returns: なし :注意: Slm8000クラスのTPCロギングデータは初期化されるのでご注意下さい. stop_tpc ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: TPCロギングを終了します. :Args: None :Returns: 取得したTPCデータのDataFrame read_tpc_state ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 現在のTPCロギング状態を取得します. :Args: None :Returns: (flag -- TPCデータロギングフラグ(0:未実行,1:実行中), バッファ使用容量(Byte), バッファ空き容量(Byte)) get_tpc_data ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: ロギングデータを取得します. :Args: None :Returns: 取得したTPCデータのpandas.DataFrame erase_tpc_data ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: Slm8000クラス内のTPCロギングデータを消去します. :Args: None :Returns: 取得したTPCデータのpandas.DataFrame :追加説明: start_tpcからstop_tpcまでの間隔が長時間でSlm8000内のロギングデータが大量になり,メモリを使い切る可能性がある場合は適宜呼び出してください. 補助コマンド --------------------------------------------------------------- | 補助コマンドの説明をします. set_feedunit ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 補間移動時のF指定の単位を設定します. :Args1: pulse(int) -- 単位時間あたりの移動量 1~200000パルス :Args2: timeflag(str) -- "minutes"=秒単位, "seconds"=分単位 :Returns: None set_positionunit ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 座標/移動量指定, 円弧半径指定の小数点単位を指定します.("X1." や "R1."と記述時の倍率指定) :Args1: pulse (int): 座標/移動量倍率[1, 10, 100, 1000, 10000, 100000]から選択 :Returns: None :追加説明: デフォルト値は1000倍です. change_axislabels ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 軸指令コマンドに対する対象軸名を変更します. :Args1: axislabels(list[str])-- 要素9の文字列リスト. [0]が第1論理軸ラベル,[8]が第9論理軸のラベル :Returns: None :追加説明: デフォルトの軸名は第1軸から["X", "Y", "Z", "A", "B", "C", "R", "Q", "T"]です. SLM8000 TPCロギング項目設定 ============================================================== | Slm8000TPCSettingsはTPCロギングの設定をPythonから行えるクラスです. | セッティングPCで作成した設定の読込とPythonからの設定に対応しています. | TPCロギング項目を設定し, 実際にTPCロギングを開始する手順は | 1. Slm8000TPCSettingsをインスタンス化 | 2. TPCロギング項目をロードまたは設定 | 2. SLM8000クラスのwrite_tpc_settingsでモーションコントローラーへロギング項目を通知 | 3. start_tpcでTPCロギングを開始 | 4. get_tpc_dataで適宜データ取得 | 5. stop_tpcでTPCロギングを終了 | の流れで行います. | 詳細はAPIリファレンスをご確認下さい. TPCロギング設定ロード&保存 --------------------------------------------------------------- | 補助コマンドの説明をします. load_settings ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: ロギング項目設定ファイルを読み出します. :Args1: filepath(str) -- 設定ファイルパス :Returns: None load_tlsfile ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: セッティングPCで作成したtpcロギング設定ファイルを読み込みます. :Args1: filepath(str) -- tlsファイルのパス :Returns: None save_settings ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: ロギング項目設定をファイルに保存します. :Args1: filepath(str) -- 設定保存ファイル名 :Returns: None TPCロギング項目設定&表示 --------------------------------------------------------------- | 補助コマンドの説明をします. show_usage ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: set_tpc_itemでロギング項目を設定する際に必要な引数の説明を表示します. :Args: None :Returns: None set_tpc_item ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: ロギング項目を追加します. :Args1: logtype(int) -- ロギング項目番号 :Args2: task(int) -- タスク番号 :Args3: axis(int) -- 論理軸番号 :Args4: IOnum(int) -- IO番号 :Args5: macronum(int) -- マクロ変数番号 :Returns: None :追加説明: **ロギング項目ごとに必要な引数が異なります. show_usageから確認して下さい.** get_datalabel ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: ロギング項目の説明をリストで返します. :Args: None :Returns: ロギングする項目のリスト SLM8000 ステータス確認コマンド説明 ==================================== | read_statusコマンドで得られるSlm8000statusステータスクラスのコマンドを説明します. | 全体ステータス, タスクごとのステータス, 各軸のステータスを確認できます. | また, タスクごとにタスクの情報とそのタスクに割り当てられている軸の情報をまとめて確認できます. | 詳細はAPIリファレンスをご確認下さい. ステータス一括確認 ---------------------------------------- | SLM8000のステータスを確認するコマンドです. get_allinfo ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 現在のSLM8000の状態と全タスクの状態を返します. タスクの状態にはそのタスクに割り付けられている軸の情報も含まれます. :Args: None :Returns: 全情報のdict get_taskinfo ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: タスクの状態を返します. タスクの状態にはそのタスクに割り付けられている軸の情報も含まれます. :Args: task(int) -- タスク番号 :Returns: 全情報のdict SLM8000のステータス確認 ---------------------------------------- | SLM8000の状態を確認するコマンドです. | Slm8000status.mcstatusでアクセスできます. check_status ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 現在のSLM8000の全体ステータスを文字列のリストで返します. :Args: None :Returns: 全体ステータス文字列のリスト check_alarm ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 現在発生しているSLM8000の全体アラームを文字列のリストで返します. :Args: None :Returns: 全体アラーム文字列のリスト クラス変数一覧 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: **以下はメソッドではなくクラス変数です** :is_alarm: アラーム発生中(bool) :is_all_task_setting_mode: 全タスクセッティングモード(bool) :is_sensor_latch_finished: 高速センサーラッチ完(bool) :is_program_changed: 運転プログラムデータ変更(bool) :is_rtc_time_warning: 制御周期負荷ワーニング(bool) :is_rtc_time_excess: 制御周期負荷過大(bool) :is_battery_low: バッテリー電圧低下ワーニング(bool) :alarm_buckup_error: バックアップエラー(bool) :alarm_parameter_unset: パラメータ未設定エラー(bool) :alarm_rom_buckup_error: ROMSWバックアップエラー(bool) :alarm_mode_error: 特殊モード中エラー(bool) :alarm_system_error: システムエラー(bool) タスクのステータス確認 ---------------------------------------- | SLM8000の各タスクごとの情報を確認するコマンドです. | Slm8000status.taskstatus[タスク番号]でアクセスできます. check_taskstatus ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 現在のタスクステータスを文字列のリストで返します. :Args: None :Returns: タスクステータス文字列のリスト check_taskalarm ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 現在発生しているタスクアラームを文字列のリストで返します. :Args: None :Returns: タスクアラーム文字列のリスト クラス変数一覧 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: **以下はメソッドではなくクラス変数です** :override: 送りオーバーライド設定(int) :interpolateoverride: 補間オーバーライド設定(int) :spindleoverride: 主軸オーバーライド設定(int) :programno: 選択・実行プログラム番号(int) :stepno: 実行ステップ番号(int) :mode: モード情報("setting", "manual", "auto", "ot_ignore", "dnc")(str) :is_alarm_exist: アラーム発生中(bool) :is_programstep_finished: FG完了(bool) :is_programstep_stopping: FG中断中(bool) :is_programstep_analysing: FG分配中(bool) :is_program_runnnig: プログラム運転中(bool) :is_program_stopping: プログラム停止中(bool) :is_program_paused: ブロック途中停止(bool) :is_all_sequence_done: 各種シーケンス完了(bool) :is_singlestep_mode: シングルステップモード(bool) :is_teaching_mode: ティーチングモード(bool) :is_cycle_mode: サイクル運転モード(bool) :is_machined_locked: マシンロック(bool) :is_servo_in_position: 割り当て軸 インポジション(bool) :is_servo_moving: 割り当て軸 加減速たまり有り(bool) :is_servo_on: 割り当て軸 サーボON(bool) :is_servo_returned_to_reference: 割り当て軸 原点復帰完了(bool) :is_sensor_latch_finished: 高速センサーラッチ完(bool) :is_tangent_control_on: Z軸接線制御ON(bool) :is_final_widing_laryer_warning: 最終層巻数異常警告(bool) :is_point_table_changed: ポイントテーブル変更フラグ(bool) :alarm_program_executin: プログラム実行エラー(bool) :alarm_mcode_execution: Mコード実行エラー(bool) :alarm_assignedaxis_error: 割り当て軸エラー(bool) :alarm_step_calculation_error: FG内部演算エラー(bool) :alarm_servo_off: サーボOFFエラー(bool) :alarm_exteral_a: 外部アラームAエラー(bool) :alarm_external_b: 外部アラームBエラー(bool) :alarm_external_c: 外部アラームCエラー(bool) :alarm_emergency_stop: 非常停止(bool) :alarm_spindle: 主軸アラーム(bool) 各軸のステータス確認 ------------------------------------------------------------------ | SLM8000の各軸ごとの情報を確認するコマンドです. | Slm8000status.axisstatus[物理軸番号]でアクセスできます. check_axisstatus ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 現在の各軸ステータスを文字列のリストで返します. :Args: None :Returns: 各軸ステータス文字列のリスト check_axisalarm ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: 現在発生している各軸アラームを文字列のリストで返します. :Args: None :Returns: 各軸アラーム文字列のリスト クラス変数一覧 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ :説明: **以下はメソッドではなくクラス変数です** :demand_position: 指令位置(int) :actual_position: 機械位置(int) :postion_deviation: 偏差量(int) :latest_pulse: 最新ブロック払い出し量(int) :absolute_deviation: 絶対位置(int) :is_inposition: インポジション(bool) :is_moving: 加減速たまり有り(bool) :is_servo_on: サーボON(bool) :is_returned_to_reference: 原点復帰完了(bool) :is_c_phase_on: C相信号状態(bool) :is_spinning: SPIN動作中(bool) :is_spin_stopped: SPIN停止中(bool) :is_reference_found: 原点確定済み(bool) :alarm_deviation_excess_plus: +方向偏差過大アラーム(bool) :alarm_deviation_excess_minus: -方向偏差過大アラーム(bool) :alarm_servo_amp: サーボアンプアラーム(bool) :alarm_softlimit_plus: +方向ソフトリミットアラーム(bool) :alarm_softlimit_minus: -方向ソフトリミットアラーム(bool) :alarm_hardlimit_plus: +方向ハードリミットアラーム(bool) :alarm_hardlimit_minus: -方向ハードリミットアラーム(bool) :alarm_pulse_excess_plus: +方向パルス発生過大アラーム(bool) :alarm_pulse_excess_minus: -方向パルス発生過大アラーム(bool) :alarm_abs_reading: アブソリュートリードエラーアラーム(bool)