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)