RTMC64-EC API 詳細

各クラスのメソッドの詳細を説明します.
※コマンドの説明にある(REQ_XXXやDAT_XXX)は,
RTMC64-EC送受信データマニュアル(TB00-1044)に記載されているコマンド番号です.
クラス概略
クラス名 概略
pyfinemotion.rt64ec 統合クラス
pyfinemotion.rt64eccomm 通信コマンド発行
pyfinemotion.rt64ectpclogging TPCロギング項目設定&取得データ変換
pyfinemotion.rt64ecstatus ステータス確認
pyfinemotion.rt64ecparam パラメーター確認
pyfinemotion.rt64iniParser iniファイル読込
pyfinemotion.rt64tcnv テクノコードプログラム変換
pyfinemotion.rt64gcnv Gコードプログラム変換
pyfinemotion.rt64ecconst モーションコントローラ内部定数定義
pyfinemotion.rt64ecdata 通信データフォーマット定義
pyfinemotion.commerror 通信エラー定義
pyfinemotion.prgconverror プログラム変換エラー定義

pyfinemotion.rt64ec

RTMC64-ECを操作するクラスです. このクラスをインスタンス化して下さい.
rt64eccommを継承しています.
またrt64ectpclogging ,rt64tcnv,rt64gcnvをインスタンス化しています.
ほとんどのメソッドはrt64eccommのメソッドを継承しているだけですが,
プログラム読込&書込,TPCロギングなど,
プログラム変換クラスやTPCロギングクラスのメソッドを使用する必要がある処理については,
このクラスで実装してます.
class pyfinemotion.rt64ec.Rt64ec(inifilepath='./rt64ecdrv.ini')

Bases: pyfinemotion.rt64eccomm.Rt64ecComm

RTMC64-ECを操作するライブラリです.

Rt64ecCommを継承し通信コマンドの発行及び

Tコード, Gコード変換クラスをインスタンス化し運転プログラムの変換を行います.

_commlibpath

モーションライブラリのパス

Type:str
_inifilepath

設定ファイルのパス

Type:str
_MAXTASK

モーションコントローラーの最大タスク数

Type:int
_MAXAXIS

モーションコントローラーの物理軸数

Type:int
_TIMERCLOCK

モーションコントローラーの処理時間カウントクロック

Type:int
_BUFSIZE

プログラム格納用のバッファサイズ

Type:int
_programbuf

プログラム格納用のバッファ

Type:ctypes.c_char_p
_isconnected

通信ハンドラ開放フラグ

Type:bool
erase_tpc_data()

ロギング開始からRt64ecクラス内にバッファされるデータを初期化します.

fetch_tpc_data()

TPCロギングデータを取り出します.

取得するデータサイズは実行時のTPCバッファにある全データです.

このメソッドはstart_tpc()メソッドで発行されたTPC取得用スレッドが呼び出します.

Returns:tpcsettingsの項目名がキー, そのデータのnp.Arrayが要素になった辞書
Return type:dict_array (dict)
get_tpc_data()

TPCロギングデータを返します.

Returns:tpcsettingsの項目名がカラムのpandasデータフレーム
Return type:tpc_df (df)
init_comm(trials=5)

Rt64ecとの通信を開始します.

通信ビジーエラーの場合trials回接続を試行します.

Parameters:trials (int) -- 試行回数
quit_comm()

通信の接続を切断します.

通信終了時は必ず呼び出して下さい.

このメソッドを出さないまま別インスタンスからの接続を増やしていくと,

RTMC64-ECが空き通信ハンドル無しエラーを発行します.

read_onestepprogram(task, step)

現在選択されているプログラム番号の任意のステップの運転プログラムを読出します.

[読み込み実行条件]

  • 選択されているプログラム番号に運転プログラムダウンロード済み
Parameters:
  • task (int) -- タスク番号
  • step (int) -- ステップ番号(0:は現在実行中のステップ番号になります)
Returns:

選択したステップのプログラム文字列

read_program(task, pno)

指定したタスクのプログラム番号のプログラムを読み出し文字列で返します.

Parameters:
  • task (int) -- タスク番号
  • pno (int) -- プログラム番号
read_tpc_state()

TPCロギング拡張情報読出(DAT_TPCINFO_EX=0x2A)

TPCデータのロギング情報を読出します.

Returns:TPCデータロギングフラグ(0:未実行,1:実行中) usedbufsize (int): バッファ使用容量(Byte) emptybufsize (int): バッファ空き容量(Byte)
Return type:flag (int)
read_tpc_state_simple()

TPCロギング情報読出(DAT_TPCINFO=0x24)

TPCデータのロギング情報を読出します.

Returns:TPCデータロギングフラグ(0:未実行,1:実行中) num (int): TPCデータロギングポイント数(0~4095)
Return type:flag (int)
save_program(task, pno, filepath)

指定したタスクのプログラム番号のプログラムを読み出しファイルに保存します.

Parameters:
  • task (int) -- タスク番号
  • pno (int) -- プログラム番号
  • filepath (string) -- ファイルパス
set_axismultiplier(pulses)

各軸の小数点位置を指定します.

Parameters:pulses (list[int]) -- 要素数9, 各要素の値が1~100000[パルス]のリスト
set_feedunit(pulse, timeflag='minutes')

補間移動時のF指定の単位を設定します.(デフォルトは[pps(パルス/秒)

Tコード, Gコード双方の単位を変更します.

Parameters:
  • pulse (int) -- 単位時間あたりの移動量 1~200000パルス
  • timeflag (string) -- minutes=秒単位, seconds=分単位
set_positionunit(pulse)

全軸の座標/移動量指定、円弧半径指定の小数点単位を指定します.("X1." や "R1."と記述時の倍率指定)

全ての軸指定の小数点位置を変更するためset_axismultiplier関数の後で呼び出すと,

set_axismultiplier関数で設定した軸毎の小数点位置がset_positionunit関数で指定した小数点位置に置き換わってしまいます.

set_axismultiplier関数は必ずset_positionunit関数の後で呼び出すようにしてください.

Parameters:pulse (int) -- 座標/移動量単位 (1, 10, 100, 1000, 10000, 100000)
set_zx_plane(plane='XZ')

X軸/Z軸円弧を行う際の平面の選択を行います.

Parameters:plane (str) -- "XZ"=XZ平面, "ZX"=XZ平面
start_tpc(fetch_interval=1)

TPCロギングを開始コマンドを発行します.

また, 1秒ごとにTPCロギングデータを取得し内部バッファに格納するスレッドを発行します.

start_tpcを呼ぶとそれまでSLm8000クラスにバッファされていたTPCデータは初期化されます.

Parameters:fetch_interval (float) -- TPCデータ取得周期(/秒)
stop_tpc()

TPCロギングを停止します.

TPCデータ取得スレッドを停止させた後, 取得したデータを返します.

tpc_thread()

TPCロギングデータ取得スレッドです.

self.__tpc_fetch_interval秒ごとにself.__fetch_tpc_dataメソッドを呼び出し

取得したデータをself.__tpc_dfに格納します.

self.__stoptpcがTrueになるとスレッドを終了します.

write_dnc_program_from_file(filepath, task, code='Tcode', cont=False)

渡したファイル名のDNC運転用プログラムをコントローラーに書込みます.

プログラムがRTMC64-EC内のDNC用バッファ以上の場合,

書き込める分だけをはじめに書込んだ後,

DNCバッファがプログラム実行により一定以上の空き容量が空くまで待ちつづけます.

プログラムを最後まで書き込めたらメソッドが終了します.

他の動作を行いながらDNC運転をする際にはスレッドを分けてください.

Parameters:
  • filepath (str) -- ファイル名
  • task (int) -- タスク番号
  • code (str) -- プログラムコード("Tcode"または"Gcode")
  • cont (bool) -- 渡すテキストがDNCプログラムの続きか
write_dnc_program_from_str(text, task, code='Tcode', cont=False)

渡した文字列のDNC運転用プログラムをコントローラーに書込みます.

Parameters:
  • text (str) -- プログラム文字列
  • task (int) -- タスク番号
  • code (str) -- プログラムコード("Tcode"または"Gcode")
  • cont (bool) -- 渡すテキストがDNCプログラムの続きか
write_program_from_file(filepath, task, programblock, code='Tcode')

ファイルに保存されたプログラムをコントローラーに書込みます.

Parameters:
  • filepath (str) -- プログラム文字列
  • task (int) -- タスク番号
  • programblock (int) -- 書き込むプログラムブロック
  • code (str) -- プログラムコード("Tcode"または"Gcode")
write_program_from_str(text, task, programblock, code='Tcode')

渡した文字列のプログラムをコントローラーに書込みます.

Parameters:
  • text (str) -- プログラム文字列
  • task (int) -- タスク番号
  • programblock (int) -- 書き込むプログラムブロック
  • code (str) -- プログラムコード("Tcode"または"Gcode")
write_tpc_settings(tpcsettings, task, frequency=0)

TPCロギング設定を書き込みます.

Parameters:
  • tpcsettings (Rt64ecTPClogging) -- Rt64ecTPCloggingのインスタンス
  • task (int) -- タスク番号
  • frequency (int) -- ロギング周期(msec) 0の時は毎周期

pyfinemotion.rt64eccomm

RTMC64-ECとの通信コマンドを実装したクラスです. rt64ecクラスが継承します.
通信ライブラリコマンド番号と適切なデータを渡してコマンドを発行し,
戻り値をPython型として受け取るための処理が実装されています.
各コマンドの詳細については[RTMC64-EC送受信データマニュアル:TB00-1044]内の,
対応する通信コマンド番号(例:DAT_PROGRAM=0x01)をご確認ください.
class pyfinemotion.rt64eccomm.Rt64ecComm

Bases: object

RTMC64-ECとの通信を実装したクラスです.

Plecexクラスに継承されます.

phcom

通信ハンドル番号

Type:int
change_axislabels(axislabels)

論理軸指定を引数として与えるコマンドを使用する際の軸ラベルを変更します.

Parameters:axislabels (list[str]) -- 要素9の文字列リスト. [0]が第1論理軸ラベル, [8]が第9論理軸のラベル
change_interpolate_override(task, spinoverride)

補間送りオーバーライド%変更コマンド(REQ_COVRDCHGP=0x85)

直線補間/円弧補間動作時のオーバーライドを変更します.

ROMSW設定で補間オーバーライドを無効にした場合は,通信エラーになります. [コマンド実行条件]

  • 機械パネルのオーバーライド選択が無効
Parameters:
  • task (int) -- タスク番号
  • spinoverride (int) -- 主軸オーバーライド設定値(0~200)
change_override(task, override)

送りオーバーライド%変更コマンド(REQ_OVRDCHGP=0x2D)

送りオーバーライドを0%~200%の範囲で1%刻みで設定します.

[コマンド実行条件]

  • 機械パネルのオーバーライド選択が無効
Parameters:
  • task (int) -- タスク番号
  • override (int) -- オーバーライド設定値(0~200)
change_spindle_override(task, spindleoverride)

主軸オーバーライド%変更コマンド(REQ_SOVRDCHGP=0x86)

主軸/SPIN動作時のオーバーライドを変更します.

ROMSW設定で主軸オーバーライドを無効にした場合は,通信エラーになります. [コマンド実行条件]

  • 機械パネルのオーバーライド選択が無効
Parameters:
  • task (int) -- タスク番号
  • spindleoverride (int) -- 主軸オーバーライド設定値(0~200)
copy_programblock(task, sourcepno, dsttask, dstblckno, dstpno)

プログラムブロックコピーコマンド(REQ_PRGBLKCPY=0x6C)

既にダウンロード済みのプログラムを指定し別ブロックにコピーします.

別ブロックにコピーしたプログラムにはプログラム番号とタスクを設定可能です.

[コマンド実行条件]

-コピー元とコピー先が重ならない場合.

-コピーする際にプログラムブロック領域外にならない場合.

-コピーするプログラム番号が使用中でない場合.

-コピー先に既にプログラムが設定されている場合は,そのブロックが使用中でない場合.

(コピー先にあるプログラムは消去しますのでご注意下さい.)

Parameters:
  • task (int) -- タスク番号
  • sourcepno (int) -- コピーするプログラム番号
  • dsttask (int) -- コピーした後のタスク番号
  • dstblckno (int) -- コピーした後の先頭ブロック番号
  • dstpno (int) -- コピーした後のプログラム番号
delete_programblock(task, pno)

プログラムブロック削除コマンド(REQ_PRGBLKDEL=0x6D)

既にダウンロード済みのプログラムを指定しそのプログラムを削除します.

[コマンド実行条件]

-削除するプログラム番号が使用中でない場合.

Parameters:
  • task (int) -- タスク番号
  • pno (int) -- 削除するプログラム番号
erase_memory(param=False, program=False, abspos=False, macro=False, all=False)

バックアップメモリ初期化コマンド(REQ_GENE=0x14)

バックアップメモリのデータを初期化します.

バックアップされているデータは以下です.

  • パラメータ

    • サーボパラメータデータ
    • ピッチエラー補正パラメータ
    • 工具長補正データ
    • 工具径補正データ
    • 補間前加減速パラメータ
  • 運転プログラム

  • アブソポジション

  • マクロ変数

パラメータを初期化すると,パラメータ未設定エラーになります.

パラメータ未設定エラーは,各パラメータを再設定する事により解除できます.

(無効のオプションに対する設定は不要です.)

[コマンド実行条件] - 全タスクセッティングモード

Parameters:
  • param (bool) -- パラメーターを初期化するか
  • abspos (bool) -- アブソポジションを初期化するか
  • macro (bool) -- マクロ変数を初期化するか
  • all (bool) -- 全てのパラメータを初期化するか
exec_abs_linear_interpolation(task, feed, mode='logical', **kwargs)

アブソ直線補間位置決めコマンド(REQ_LINASTART=0x18, REQ_LINBSTART=0x35)

アブソモードの直線補間決めを実行します.

有効軸以外の軸指定は,無効です.

[コマンド実行条件]

  • サーボON状態
  • 動作モードが手動運転モードか自動運転モード
  • 運転プログラム未実行 又は ティーチング中
  • 移動中の軸がない
  • 手動パルサー選択無効
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • 指定軸が回転速度指令中(SPIN中)でない
Parameters:
  • task (int) -- タスク番号
  • mode ("logical" or "mechanical") --

    logical"= 論理座標系アブソ指定

    "mechanical" = 機械座標系アブソ指定

  • kwargs (dict) -- 直線補間位置決め値dict (ex. X=100000) 値の範囲は-1000000000~1000000000[pulse]
exec_abs_positioning(task, mode='logical', **kwargs)

アブソPTP位置決めコマンド(REQ_PTPASTART=0x16, REQ_PTPBSTART=0x34)

アブソモードのPTP位置決めを実行します.

有効軸以外の軸指定は,無効です.

[コマンド実行条件]

  • サーボON状態
  • 動作モードが手動運転モードか自動運転モード
  • 運転プログラム未実行 又は ティーチング中
  • 移動中の軸がない
  • 手動パルサー選択無効
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • 指定軸が回転速度指令中(SPIN中)でない
Parameters:
  • task (int) -- タスク番号
  • mode ("logical" or "mechanical") --

    logical"= 論理座標系アブソ指定

    "mechanical" = 機械座標系アブソ指定

  • kwargs (dict) -- PTP位置決め値dict (ex. X=100000) 値の範囲は-1000000000~1000000000[pulse]
exec_abs_positioning_without_syc(task, mode='logical', **kwargs)

同期軸無視アブソPTP位置決めコマンド(REQ_SYNEGPTPASTART=0x4A, REQ_SYNEGPTPBSTART=0x4B)

同一指令2軸制御の同期軸で基準軸または従属軸を同期軸指定を無視して,

独立にアブソモードのPTP位置決めを行います.有効軸以外の軸指定は無効です.

[コマンド実行条件]

  • サーボON状態
  • 動作モードが手動運転モードか自動運転モード
  • 運転プログラム未実行 又は ティーチング中
  • 移動中の軸がない
  • 手動パルサー選択無効
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • 指定軸が回転速度指令中(SPIN中)でない
Parameters:
  • task (int) -- タスク番号
  • mode ("logical" or "mechanical") --

    logical"= 論理座標系アブソ指定

    "mechanical" = 機械座標系アブソ指定

  • kwargs (dict) -- PTP位置決め値dict (ex. X=100000) 値の範囲は-1000000000~1000000000[pulse]
exec_abs_servo_positioning(task, mode='logical', **kwargs)

絶対座標独立位置決めコマンド(REQ_AXMV=0x69, 0x6A)

絶対座標への独立位置決め移動を開始します.

メカトロリンクの位置決め命令を使用することにより,

RTMC64-ECの移動/運転プログラム実行とは別に(非同期に)移動を行います. [コマンド実行条件]

  • 指定した軸がサーボONしている
  • 全体アラームや指定したタスクがエラーでない
  • セッティングモードでない
  • 独立位置決め命令以外の移動指令で動いていないもしくは, 移動指令での移動停止中でない
  • 手動操作中(JOG移動中や手パ軸選択中)でない軸
  • 原点復帰中でない
  • オーバライドが0%でない
  • 指定軸がトルク指令中でない
Parameters:
  • task (int) -- タスク番号
  • mode ("logical" or "mechanical") -- logical"= 論理座標系アブソ指定, "mechanical" = 機械座標系アブソ指定
  • kwargs (dict) -- 各軸インクリメント独立位置決めdictのdict, keyはpulse(移動量)とfeed(送り速度)

Example

第1軸を論理座標系アブソ指定で1000の位置, 送り速度1000で動作させる場合

→ exec_abs_servo_positioning(task=0, mode="logical", X={"pulse": 1000, "feed":1000}) 第2軸を機械座標系アブソ指定で-1000の位置, 送り速度1000で動作させる場合

→ exec_servo_positioning(task=0, mode="mechanical", Y={"pulse": -1000, "feed":1000})

exec_linear_interpolation(task, feed, **kwargs)

インクレ直線補間位置決めコマンド(REQ_LINSTART=0x17)

インクレモードの直線補間位置決めを実行します.

有効軸以外の軸指定は無効です.

[コマンド実行条件]

  • サーボON状態
  • 動作モードが手動運転モードか自動運転モード
  • 運転プログラム未実行 又は ティーチング中
  • 移動中の軸がない
  • 手動パルサー選択無効
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • 指定軸が回転速度指令中(SPIN中)でない
Parameters:
  • task (int) -- タスク番号
  • feed (int) -- 補間送り速度 [pls/sec]
  • kwargs (dict) -- PTP位置決め値dict (ex. X=100000) 値の範囲は-1000000000~1000000000[pulse]
exec_positioning(task, **kwargs)

インクレPTP位置決めコマンド(REQ_PTPSTART=0x15)

インクレモードのPTP位置決めを実行します.

有効軸以外の軸指定は,無効です.

[コマンド実行条件]

  • サーボON状態
  • 動作モードが手動運転モードか自動運転モード
  • 運転プログラム未実行 又は ティーチング中
  • 移動中の軸がない
  • 手動パルサー選択無効
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • 指定軸が回転速度指令中(SPIN中)でない
Parameters:
  • task (int) -- タスク番号
  • kwargs (dict) -- インクリメント指令dict (ex. X=100000) 値の範囲は-1000000000~1000000000[pulse]
exec_positioning_without_syc(task, **kwargs)

同期軸無視インクレPTP位置決めコマンド(REQ_SYNEGPTPSTART=0x49)

同一指令2軸制御の同期軸で,基準軸または従属軸を同期軸指定を無視して,

独立にインクレモードのPTP位置決めを行います.有効軸以外の軸指定は無効です.

[コマンド実行条件]

  • サーボON状態
  • 動作モードが手動運転モードか自動運転モード
  • プログラム運転未実行またはティーチング中
  • 移動中の軸がない
  • 原点復帰中でない
  • ホーム戻り中でない
  • 手動パルサー選択無効
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • 指定軸が回転速度指令中(SPIN中)でない
Parameters:
  • task (int) -- タスク番号
  • kwargs (dict) -- PTP位置決め値dict (ex. X=100000) 値の範囲は-1000000000~1000000000[pulse]
exec_servo_positioning(task, **kwargs)

独立位置決めコマンド(REQ_AXMV=0x68)

インクリメント独立位置決め移動を開始します.

メカトロリンクの位置決め命令を使用することにより,

RTMC64-ECの移動/運転プログラム実行とは別に(非同期に)移動を行います. [コマンド実行条件]

  • 指定した軸がサーボONしている
  • 全体アラームや指定したタスクがエラーでない
  • セッティングモードでない
  • 独立位置決め命令以外の移動指令で動いていないもしくは, 移動指令での移動停止中でない

(但し, 通信コマンド/運転プログラムに関わらず独立位置決め命令で動いている軸に対しては本コマンドで指令可能)

  • 手動操作中(JOG移動中や手パ軸選択中)でない軸
  • 原点復帰中でない
  • オーバライドが0%でない
  • 指定軸がトルク指令中でない
Parameters:
  • task (int) -- タスク番号
  • kwargs (dict) -- 各軸インクリメント独立位置決めdictのdict, keyはpulse(移動量)とfeed(送り速度)

Example

第1軸を1000パルス, 送り速度1000で動作させる場合 → exec_servo_positioning(task=0, X={"pulse": 1000, "feed":1000}) 第2軸を-1000パルス, 送り速度1000で動作させる場合 → exec_servo_positioning(task=0, Y={"pulse": -1000, "feed":1000})

force_inputs(inputs)

汎用入力強制制御コマンド(REQ_COMPINPUT=0x2A)

任意の入力の強制的なON/OFFを一括して指定します.

Parameters:inputs (list[[list[int]]]) --

要素がintの二次元リストです.

要素0がI#0000レジスタ, 要素1がI#0001レジスタ,要素2がI#0002レジスタ 要素115がI#0115レジスタの強制入力命令リストです.

強制入力命令リストは要素数16コで各要素の値が強制入力命令です.

強制入力命令は(0:無変更, 1:強制ON指定, 2:強制OFF指定, 3:強制制御解除)です.

force_io(io, port, bitnum, flag)

汎用入出力ビット強制制御コマンド(REQ_COMPIOBIT=0x2C)

任意の入出力の強制的なON/OFFを指定します.

Parameters:
  • ioport (str) --

    強制入力, 強制出力どちらを操作するかのフラグです.

    強制入力では"input", 強制出力では"output"を入れてください

  • port (int) -- 出力するポート先です. inputは0~115, outputは0~63になります.
  • bitnum (int) -- 操作するポートのビット番号(0~15)です.
  • flag (int) -- 操作する強制命令コマンドです(0:無変更, 1:強制指定解除, 2:強制ON指定, 3:強制OFF指定)
force_outputs(outputs)

汎用出力強制制御コマンド(REQ_COMPOUTPUT=0x2B)

任意の出力の強制的なON/OFFを一括して指定します.

Parameters:inputs (list[[list[int]]]) --

要素が64コのintの二次元リストです.

要素0がI#0000レジスタ, 要素1がI#0001レジスタ,要素2がI#0002レジスタ 要素63がI#0063レジスタの強制出力命令リストです.

強制出力命令リストは要素数16コで各要素の値が強制出力命令です.

強制出力命令は(0:無変更, 1:強制ON指定, 2:強制OFF指定, 3:強制制御解除)です.

classmethod get_tpc_data()

モーションコントローラーからTPCデータを読み込みます.

classmethod init_comm()

モーションライブラリとの通信を開始します.

load_commlib(path)

通信ライブラリを読み込みます.

Parameters:path (str) -- 通信ライブラリのパス
move_programblock(task, pno, blockno)

プログラムブロック移動コマンド(REQ_PRGBLKMV=0x6B)

既にダウンロード済みのプログラムブロックを別ブロックに移動します.

[コマンド実行条件]

  • 移動するプログラム番号が使用中でない場合.

  • 移動先に既にプログラムが設定されている場合はそのブロックが使用中でない場合.

    (移動先にあるプログラムは消去しますのでご注意下さい.)

Parameters:
  • task (int) -- タスク番号
  • pno (int) -- 移動するプログラム番号
  • blockno (int) -- 移動先先頭ブロック番号
off_spindle(task)

主軸回転ON/OFFコマンド(REQ_SPCMND=0x50)

主軸回転を停止させます.

[コマンド実行条件]

  • サーボON状態
  • アラーム未発生
  • 動作モードが手動運転モード/自動運転モード/DNC運転モード
  • 移動中の軸がない
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • Mコード出力中でない
Parameters:task (int) -- タスク番号
on_spindle(task)

主軸回転ON/OFFコマンド(REQ_SPCMND=0x50)

主軸回転を開始します.

[コマンド実行条件]

  • サーボON状態
  • アラーム未発生
  • 動作モードが手動運転モード/自動運転モード/DNC運転モード
  • 移動中の軸がない
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • Mコード出力中でない
Parameters:task (int) -- タスク番号
onoff_output(port, bitnum, flag)

汎用出力ビット直接制御コマンド(REQ_OUTPUTBIT=0x44)

任意の汎用出力のON/OFFを指定します.

(汎用出力以外の出力への設定は無視されます)

Parameters:
  • port (int) -- 出力するポート先です. outputは0~63になります.
  • bitnum (int) -- 操作するポートのビット番号(0~15)です.
  • flag (int) -- 操作する強制命令コマンドです(0:無変更, 1:強制指定解除, 2:強制ON指定, 3:強制OFF指定)
onoff_outputs(outputs)

汎用出力直接制御コマンド(REQ_OUTPUT=0x1D)

出力を直接ON/OFFします.変更出来る出力は汎用出力(Ro1856~Ro2367)です

但し運転プログラムにて出力命令を実行すると変更されます.

(後に指定された方が有効になります.)

本コマンドは全ての汎用出力を制御します.

運転プログラムで使用している汎用出力指令と干渉しないように注意が必要です.

なるべく任意の信号のみを制御できる「4-2-24.汎用出力ビット直接制御」(REQ_OUTPUTBIT)コマンドをご使用ください.

Parameters:
  • outputs (list[int]) -- 要素数12のリストです.
  • [1]がo#0001レジスタ, [63]が#0063レジスタの出力となります. ([0]がo#0000レジスタ,) --
  • 各要素は各レジスタの出力したいビットに1を立てた整数値として下さい. --
onoff_servo(task, **kwargs)

各軸サーボON/OFFコマンド(REQ_SVONOFF=0x3A)

各軸のサーボON/OFFを設定します.

各軸サーボON/OFFコマンドはサーボON状態の時に強制的にサーボOFFするためのコマンドです.

エラーが発生しているときなど,サーボONできない状態の時にはサーボON出来ません.

サーボOFF指定を行うと対象軸に対してインターロックが設定されます.

サーボOFF指定を解除してもインターロック設定は解除されませんので,

必要に応じてインターロック設定も解除して下さい.

[コマンド実行条件]

  • 移動中の軸がない
  • ACCたまりなし
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • 指定軸が回転速度指令中(SPIN中)でない
Parameters:
  • task (int) -- タスク番号
  • kwargs (dict) -- ON/OFF値dict (ex. X=True)

Example

第1軸をOnする場合 → onoff_servo(task, X=True)

第1軸をOffする場合 → onoff_servo(task, X=False)

全軸をOnにする場合 → onoff_servo(task, ALL=True)

全軸をOffにする場合 → onoff_servo(task, ALL=False)

out_mcode(mcode)

Mコード出力コマンド(REQ_MCDOUT=0x3D)

指定したMコードを出力するように指令します.

Mコード出力コマンドでは,M03(主軸正転)のような内部Mコード処理は行いません.

[コマンド実行条件]

  • サーボON状態
  • 動作モードが手動運転モード/自動運転モード/DNC運転モード
  • 運転プログラム未実行 又は ティーチング中
  • 移動中の軸がない
  • 手動パルサー選択無効
Parameters:mcode (int) -- 出力Mコード(0~255)
quit_comm()

モーションライブラリとの通信を終了します.

read_assigned_axis_info()

軸割り当て情報読出(DAT_ASSAXISTBL=0x3C)

現在の各軸タスク割り付け情報を読出します.

各物理軸がどのタスクのどの論理軸に割り当てられているかを取得します.

Returns:要素n番目が第(n+1)番目の物理軸の割り当てを示します.
各要素の0番目がタスク番号, 1番目が論理軸番号となっています.

無効軸の場合両方の要素にNoneが入ります.

Return type:axassignments (list[task, logicalaxis])
read_dnc_info(task)

DNCバッファ情報データ読出(DAT_DNCBUFI=0x0F)

現在のDNCバッファの状態を読出します.

Parameters:task (int) -- タスク番号
Returns:DNCバッファ使用容量 dncfree (int): DNCバッファ空き容量
Return type:dncsize (int)
read_forcedio_status()

強制入出力状態データ読出(DAT_FORCEIO=0x13)

RTMC64-ECの強制入出力の状態を読出します.

※各入出力の割付については,

「ユーザーズマニュアル<機能編> 2-3 標準入出力チャンネル表」を参照して下さい

Returns:要素数116]): 汎用入力リスト index=0がi#0000, index=115がi#0115 Outputs (list[int: 要素数64]): 汎用出力リスト index=0がo#0000, index=63がo#0063
Return type:Inputs (list[int
read_foreground_time()

フォアグランド周期計測データ読出(DAT_FORGROUND=0x90)

フォアグランドループの処理時間を読出します.

Returns:最大処理時間[us] foregroundnow (int): 現在処理時間[us]
Return type:foregroundMax (int)
read_interlocked_axis_info(task)

軸インタロック設定データ読出(DAT_AXINTLOCK=0x29)

各軸のインタロックの有効/無効状態を読出します.

Returns:第n軸がインタロックの場合, n番目の要素の値が1になります.
インタロックでない場合は0になります
Return type:interlockaxislist (list[int])
read_io_status()

入出力状態データ読出(DAT_IODATA=0x03)

RTMC64-ECの汎用入出力の状態を読出します.

※各入出力の割付については

「ユーザーズマニュアル<機能編> 2-3 標準入出力チャンネル表」を参照して下さい.

Returns:要素数116]): 汎用入力リスト index=0がi#0000, index=115がi#0115 Outputs (list[int: 要素数64]): 汎用出力リスト index=0がo#0000, index=63がo#0063
Return type:Inputs (list[int
read_macrovariable(task, macronum)

マクロ変数読出(DAT_MCRREG=0x33)

指定された番号のマクロ変数に対する読出を行います.

読出し不可のマクロ変数に対する読み出しを行うことはできずエラーになります.

Parameters:
  • task (int) -- タスク番号
  • macronum (int) -- マクロ変数番号
Returns:

マクロ変数値

Return type:

value (int)

read_macrovariables(task, startmacronum, size)

マクロ変数(一般レジスタ)読出(DAT_VARIABLE=0x19)

マクロ変数値を一括で読み出します.

先頭マクロ変数番号(startmacronum)からsize個のマクロ変数を読み出します.

タスクはローカルマクロ変数指定時のみ有効です.

パラメータ指定には異なるマクロ変数範囲にまたがるような指定をする事はできませんので御注意下さい.

例: 先頭が#1180で取り出すデータが50コ

マクロ変数の範囲は以下になります.

マクロ変数範囲 | 最大データ数 | 説明

#1000~#1199 | 200 | グローバルマクロ変数

#1200~#1299 | 100 | ラダー共有マクロ変数(PLMC->FA-ECR)

#1300~#1399 | 100 | ラダー共有マクロ変数(PLMC<-FA-ECR)

#1400~#1499 | 100 | ローカルマクロ変数

#5500~#5699 | 100 | グローバルマクロ変数

#5700~#5799 | 50 | ラダー共有マクロ変数(PLMC->FA-ECR)

#5800~#5899 | 50 | ラダー共有マクロ変数(PLMC<-FA-ECR)

#5900~#5999 | 50 | ローカルマクロ変数

#5500以降のマクロ変数は #1000~#1499(16bit単位)を32bit単位でアクセスしたものになります.

(前のマクロ変数番号が下位, 後ろのマクロ変数が上位)として使用します.

本メソッドではビット結合を行いますが, 先頭マクロ変数番号が奇数の場合ビット結合の結果正しい値にならないので注意して下さい.

Parameters:
  • task (int) -- タスク番号
  • startmacronum (int) -- 先頭マクロ変数番号
  • size (int) -- マクロ変数数
Returns:

長さがsizeで各要素がintのリスト

なお#5500以降のマクロ変数の場合は要素数はsize/2(sizeが奇数の場合余りは切り捨て)

Return type:

macrovariables (list[int])

read_neglected_axis_info(task)

軸ネグレクト設定データ読出(DAT_AXNEGLECT=0x28)

各軸の軸指令の有効/無効状態を読出します.

Returns:第n軸が軸指令の無効の場合, n番目の要素の値が1になります.
有効の場合は0になります
Return type:neglectaxislist (list[int])
read_onoff_axis_info(task)

各軸サーボON/OFF設定データ読出(DAT_AXSVONEN=0x31)

各軸のインタロックのON/OFF状態を読出します.

Returns:第n軸がONの場合, n番目の要素の値が1になります.
OFFの場合は0になります
Return type:onoffaxislist (list[int])
read_pointtables(task, startpointnum, size)

ポイントテーブル読出[DAT_POINTTABLE=0x3B]

ポイントテーブルデータを読み込みます.

Args: task (int): タスク番号 startpointnum (int): 読込開始ポイントテーブル番号 size (dict): 読み込むポイントデータ数
Returns:1~9軸までのポイントテーブルデータ*ポイントデータ数の二次元リスト

無効ポイントテーブルの値はNone

Return type:pointtables([[int]])
read_programblock_info()

プログラムブロック情報読出(DAT_PRGBLKINFO=0x1B)

現在の各プログラムブロック情報を読出します.

返されるプログラムブロック情報は

[[タスク番号(int), プログラム番号(int), ]...]で要素数が64の二次元リストです.

Returns:プログラムブロックデータリスト
Return type:blkinfo_list ([[task(int), prognp(int)]])
read_rtc_time()

制御周期内処理時間計測データ読出(DAT_RTC=0x21)

内部にて実測した制御周期毎の内部処理時間を読出します.

Returns:最大処理時間[us] rtcnow (int): 現在処理時間[us]
Return type:rtcMax (int)
read_servoparams()

サーボパラメータ読出(DAT_PARAMETER=0x00)

サーボパラメータの読み出しを行います.

Returns:物理軸サーボパラメータクラス
Return type:servoparams (ServoParams)
read_status()

ステータスデータ読出(DAT_STATUS=0x02)

動作状態(アラーム状態を含む)や各軸の現在値などのデータを読出します.

有効軸以外の各軸のデータは無効データです.

Returns:plecexステータスクラス
Return type:plecexstatus (Plecexstatus)
read_version()

ROMバージョン情報読出(DAT_VERSION=0x27)

システムのバージョン情報を読出します. :returns: ROMバージョン情報dict :rtype: romversion_dict (dict)

reflect_program()

Flashメモリへのプログラム反映コマンド(REQ_REFMEM=0x6E)

ダウンロード済みの全プログラムデータを保存領域に保存します.

ROMSWのユーザフリーオプションにて"運転プログラムバックアップ方法"を

"手動バックアップ"に設定した場合に限りFlashメモリへのプログラム反映コマンドは有効です.

("自動バックアップ"の場合:処理をせずにOKを返します.

"バックアップ無し"の場合:通信エラーを返します.)
reset_task(task)

リセットコマンド(REQ_RESET=0x1A)

リセットを行います.

リセット処理にて以下の動作を行います.

[リセット動作]

  • プログラム実行中の場合は,プログラム実行を終了させる.
  • 移動中の軸がある場合は,移動を終了させる.
  • アラーム発生中の場合は,アラーム解除/サーボONを行う.

(但し,アラーム要因が解除されていない場合,再びアラームになります.)

[コマンド実行条件]

動作モードや動作状態に関わらず常時実行可能です.

Parameters:task (int) -- タスク番号
reset_timer()

周期計測値クリアコマンド(REQ_TIMERRESET=0x42)

制御周期内処理時間最大値とフォアグランド周期計測最大値をクリアします.

restart_task(task)

軸移動再開コマンド(REQ_RESTART=0x1B)

軸移動停止コマンドにて,停止中の軸の移動を再開します.

軸移動再開は,以下のような移動を軸移動停止コマンドにて停止させた場合に実行可能です.

[コマンド実行条件]

  • インクレPTP位置決めコマンドによる軸移動が停止中
  • アブソPTP位置決めコマンドによる軸移動が停止中
  • インクレ補間位置決めコマンドによる軸移動が停止中
  • アブソ補間位置決めコマンドによる軸移動が停止中

[データフォーマット]

コマンド付加データは有りません.

Parameters:task (int) -- タスク番号
return_to_axisreference(task, **kwargs)

各軸原点復帰コマンド(REQ_AXAUTOZRN=0x33)

逃げ動作を行い各軸自動原点復帰します. 有効軸以外の軸指定は無効です.

[コマンド実行条件]

  • サーボON状態
  • 動作モードが手動運転モードか自動運転モード
  • 運転プログラム未実行
  • 移動中の軸がない
  • 手動パルサー選択無効
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • 指定軸が回転速度指令中(SPIN中)でない
Parameters:
  • task (int) -- タスク番号
  • kwargs (dict) -- 各論理軸原点復帰指令dict (ex. X=True)

Example

第1軸のみ動作させる場合 → return_to_axisreference(task, X=True)

第1,2軸を動作させる場合 → return_to_axisreference(task, X=True, Y=True)

全軸動作させる場合 → return_to_axisreference(task, ALL=True)

return_to_axisreference_manually(task, **kwargs)

各軸原点復帰コマンド(REQ_ZRNSTART=0x12)

逃げ動作を行わずに各軸手動原点復帰します. 有効軸以外の軸指定は無効です.

[コマンド実行条件]

  • サーボON状態
  • 動作モードが手動運転モードか自動運転モード
  • 運転プログラム未実行
  • 移動中の軸がない
  • 手動パルサー選択無効
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • 指定軸が回転速度指令中(SPIN中)でない
Parameters:
  • task (int) -- タスク番号
  • kwargs (dict) -- 各論理軸原点復帰指令dict (ex. X=True)

Example

第1軸のみ動作させる場合 → return_to_axisreference_manually(task, X=True)

第1,2軸を動作させる場合 → return_to_axisreference_manually(task, X=True, Y=True)

全軸動作させる場合 → return_to_axisreference_manually(task, ALL=True)

return_to_home(task)

ホームポジション位置決めコマンド(REQ_HOME=0x83)

設定されたホーム位置へ移動します.

[コマンド実行条件]

  • サーボON状態
  • アラーム未発生
  • 動作モードが手動運転モード/自動運転モード/DNC運転モード
  • 運転プログラム未実行 又は ティーチング中
  • 移動中の軸がない
  • 手動パルサー選択無効
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • 回転速度指令中(SPIN中)の軸がない
Parameters:task (int) -- タスク番号
return_to_reference(task)

全軸原点復帰開始コマンド(REQ_ALLZRN=0x24)

全軸の原点復帰を行います.

全軸原点復帰開始コマンドにてRTMC64-ECが実行する全軸原点復帰処理は,

原点復帰入力による全軸原点復帰処理と同じです. [コマンド実行条件]

  • サーボON状態
  • 動作モードが手動運転モード/自動運転モード/DNC運転モード
  • 運転プログラム未実行 又は ティーチング中
  • 移動中の軸がない
  • 手動パルサー選択無効
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • 指定軸が回転速度指令中(SPIN中)でない
Parameters:task (int) -- タスク番号
reverse_spindle(task)

主軸回転ON/OFFコマンド(REQ_SPCMND=0x50)

主軸回転を逆転させます.

[コマンド実行条件]

  • サーボON状態
  • アラーム未発生
  • 動作モードが手動運転モード/自動運転モード/DNC運転モード
  • 移動中の軸がない
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • Mコード出力中でない
Parameters:task (int) -- タスク番号
select_program(task, program)

"実行プログラム選択コマンド(REQ_PROGSLCT=0x22)

実行するプログラムを指定します.

プログラム選択コマンドは,動作モード-状態に関わらず実行可能です.

[コマンド実行条件]

常時実行可能です.

ただし,プログラム実行中 又は 機械パネルにてプログラム番号選択中は,

ステータスデータの現在プログラム選択番号に反映されません.

プログラム未実行かつ機械パネルのプログラム番号選択無効の時に設定した番号が反映されます.

Parameters:
  • task (int) -- タスク番号
  • program (int) -- 選択プログラム番号
set_abs_position(task, **kwargs)

通信コマンド番号(REQ_MABSCOORDSET=0x90)

各軸のアブソポジション(機械座標系)を指定値に設定します.

[コマンド実行条件]

対象のタスクがセッティングモードの時に実行可能です.

Parameters:
  • task (int) -- タスク番号
  • kwargs (dict) -- アブソポジション(機械座標系)値dict (ex. X=100000) 値の範囲は-1000000000~1000000000[pulse]
set_coordination(task, **kwargs)

座標系設定コマンド(REQ_COORDSET=0x37)

各軸の現在位置を指定の論理座標値に設定します.

[コマンド実行条件]

  • サーボON状態
  • 動作モードが手動運転モードか自動運転モード
  • 運転プログラム未実行
  • 移動中の軸がない
  • 手動パルサー選択無効
Parameters:
  • task (int) -- タスク番号
  • kwargs (dict) -- 各論理軸原点復帰指令dict (ex. X=100000) 値の範囲は-1000000000~1000000000[pulse]
set_cycle_mode(task, mode=0)

サイクル運転モード設定コマンド(REQ_CYCLE=0x36)

サイクルモードへの移行と解除を行います.

Parameters:
  • task (int) -- タスク番号
  • mode (int) -- サイクルモードフラグ(0: 無効, 1: 有効)
set_interlock(task, **kwargs)

軸インタロック設定コマンド(REQ_AXISINTLK=0x38)

各軸のインタロックの有効無効を設定します.

インタロック有効軸に対して指令を行うと,エラーになります.

[コマンド実行条件]

  • 移動中の軸がない
  • ACCたまりなし
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • 指定軸が回転速度指令中(SPIN中)でない
Parameters:
  • task (int) -- タスク番号
  • kwargs (dict) -- インタロック値dict (ex. X=True)

Example

第1軸をLockする場合 → set_interlock(task, X=True)

第1軸をUnlockする場合 → set_interlock(task, X=False)

全軸をLockにする場合 → set_interlock(task, ALL=True)

全軸をUnlockにする場合 → set_interlock(task, ALL=False)

set_mode(task, mode='auto')

動作モード変更コマンド(REQ_MODECHG=0x10)

動作モードを設定します.

スタンドアロン状態では動作モードの変更はできません.

電源投入後のデフォルト動作モードは,自動運転モードです.

[コマンド実行条件]

動作モード設定は,プログラム実行中または軸移動中は実行できません.

  • プログラム実行中でない
  • 移動中の軸がない
  • 独立位置決め中の軸がない

-トルク指令中の軸がない

Parameters:
  • task (int) -- タスク番号
  • mode (int) --

    動作モード

    ("setting": セッティングモード, "manual": 手動運転モード, "auto": 自動運転モード, "ot_ignore": OT無視モード, "dnc": DNC運転モード)

set_neglected_axis(task, **kwargs)

軸ネグレクト設定コマンド(REQ_AXISNEG=0x39)

各軸の軸指令の有効無効を設定します.

軸指令を無効にした軸に対する指令は無視します.

[コマンド実行条件]

  • 移動中の軸がない
  • ACCたまりなし
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • 指定軸が回転速度指令中(SPIN中)でない
Parameters:
  • task (int) -- タスク番号
  • kwargs (dict) -- 有効無効値dict (ex. X=True)

Example

第1軸を有効にする場合 → set_neglected_axis(task, X=True)

第2軸を無効にする場合 → set_neglected_axis(task, Y=False)

全軸を有効にする場合 → set_neglected_axis(task, ALL=True)

全軸を無効にする場合 → set_neglected_axis(task, ALL=False)

set_origin(task)

原点設定コマンド(REQ_ORGSET=0x19)

現在の軸指令位置を指令座標の原点として設定します.

原点設定は全ての軸が停止しているときのみ実行可能です.

[コマンド実行条件]

  • サーボON状態
  • 動作モードが手動運転モードか自動運転モード
  • 運転プログラム未実行
  • 移動中の軸がない
  • 手動パルサー選択無効
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • 指定軸が回転速度指令中(SPIN中)でない
Parameters:task (int) -- タスク番号
set_singlestep_mode(task)

シングルステップモード設定コマンド(REQ_SINGLE=0x60)

シングルステップモードへの移行と解除を行います.

シングルステップモードでない場合はシングルステップモードへ,

シングルステップモードの時はシングルステップモードが解除されます.

[コマンド実行条件]

  • 機械パネルのモード選択無効
Parameters:task (int) -- タスク番号
set_spindle_rev(task, revolution)

主軸回転数設定コマンド(REQ_SPREVSET=0x51)

主軸の回転数を指定します.

主軸回転中に主軸回転数設定コマンドにて主軸回転を変更した場合は,

直ちに指定された回転数に変わります.

Parameters:
  • task (int) -- タスク番号
  • revolution (int) -- 回転数( 0 ~ 最高主軸回転数(パラメータ))
spin_axis(task, override=False, **kwargs)

回転軸回転動作コマンド(REQ_SPINAX=0x52)

任意の無限回転軸を定速回転運動の開始及び停止を行います.

回転動作の実行中に再度回転指令を行う事により,停止することなく回転速度の変更が行えます.

尚,回転動作中の軸に対して,他の移動命令(位置決め等)を行うことは出来ません.

《コマンド実行条件》

  • サーボON状態
  • アラーム未発生
  • 動作モードが手動運転モード/自動運転モード/DNC運転モード
  • 指定した軸が移動中の軸でない
  • 指定軸が独立位置決め中でない
  • 指定軸がトルク指令中でない
  • 指定した軸が無限回転軸
Parameters:
  • task (int) -- タスク番号
  • override (bool) -- オーバーライドフラグ
  • kwargs (dict) -- 回転数値dict (ex. X=100000) 値の範囲は{0~(MAXpps*600/1回転パルス数)
start_generating_torque(task, **kwargs)

トルク指令コマンド(REQ_TRQCMD=0x46)

各軸モータをトルク制御します.

オプションで「トルク指令有効」でのみ実行可能です.

有効軸以外の軸指定は無効です.

[コマンド実行条件]

  • サーボON状態
  • 動作モードが手動運転モードか自動運転モード
  • 運転プログラム未実行又はティーチング中
  • 移動中の軸がない(指定軸以外の独立位置決めは可能)
  • 原点復帰/ホーム位置決め中でない
  • 手動パルサー選択無効
Parameters:
  • task (int) -- タスク番号
  • kwargs (dict) --

    トルク値, 速度制限値dict(keyは"torque"(%)と"limit_pps"(pulse/sec))です.

    トルク値の範囲は-800~800%. マイナスの値の場合, マイナス方向のトルクを発生(-移動)します.

    速度制限値は1~1000000000(pps)です.速度制限値はモータのエンコーダの一周パルス数に関係なくpls/sec単位で指定します.

Example

第1軸をトルク10%, 速度制限10000ppsで動作させる場合

→ start_generating_torque(task=0, X={"torque":10, "limit_pps":10000}) 第2軸をトルク-200%, 速度制限100000ppsで動作させる場合

→ start_generating_torque(task=0, X={"torque":200, "limit_pps":100000})

start_jog(task, **kwargs)

JOG移動コマンド(REQ_JOGSTART=0x11)

任意の論理軸のJOG移動を開始します.

JOG移動はstop_jogで停止できます.

有効軸以外の軸指定は,無効です.

JOGで移動中の軸が有る場合は,新たに他の軸へのJOG動作を実行できません.

JOG移動は,以下の条件が満たされているときに実行可能です.

[コマンド実行条件]

  • サーボON状態
  • 動作モードが手動運転モードか自動運転モードかOT無視モード
  • 運転プログラム未実行 又は ティーチング中 又は "M0" 停止中
  • 移動中の軸がない
  • 原点復帰中でない
  • ホーム戻り中でない
  • 手動パルサー選択無効
Parameters:
  • task (int) -- タスク番号
  • kwargs (dict) -- JOG方向値dict(1: +方向, -1: -方向) (ex. X=1)

Example

第1軸を+方向に動作させる場合 → start_jog(task, X=1)

第1軸を+方向に, 第2軸を-方向に動作させる場合 → start_jog(task, X=1, Y=-1)

start_program(task)

プログラム実行開始コマンド(REQ_PROGSTRT=0x20)

プログラム実行の開始/再開を行います.

[コマンド実行条件]

  • サーボON状態
  • アラーム未発生
  • 動作モードが自動運転モードかDNC運転モード

(自動運転モードなら,現在のプログラム番号に運転プログラムダウンロード済み)

  • 運転プログラム未実行(開始時) 又は 停止中(再開時)
  • 移動中の軸がない
  • 手動パルサー選択無効
  • 原点復帰無効の軸を除く,全ての軸が原点復帰済み
Parameters:task (int) -- タスク番号
stop_generating_torque(task, **kwargs)

start_generating_torqueで開始したトルク発生を終了します.

オプションで「トルク指令有効」でのみ実行可能です.

Parameters:
  • task (int) -- タスク番号
  • kwargs (dict) -- トルク制御を終了する軸にTrueを指定して下さい. 全軸停止する場合はALL=Trueで停止します.

Example

トルク発生中の第1軸を停止させる場合 → stop_generating_torque(X=True)

全軸のトルク発生を停止させる場合  → stop_generating_torque(ALL=True)

stop_jog(task, **kwargs)

実行中のJOG移動を停止します.

Parameters:task (int) -- タスク番号
stop_program(task)

プログラム実行停止コマンド(REQ_PROGSTOP=0x21)

プログラム実行/軸移動の一時停止を行います.

プログラム実行停止コマンドにて,一時停止したプログラム実行は, プログラム実行開始コマンドにて再開できます.

プログラム未実行で軸移動中だった場合は,軸移動再開コマンドにて再開できます.

[コマンド実行条件]

常時実行可能です.ただし,プログラム実行中/軸移動中でないときはなにもしません.

Parameters:task (int) -- タスク番号
stop_task(task)

軸移動停止コマンド(REQ_STOP=0x13)

プログラム実行や移動コマンド発行等によって移動中の軸を停止します.

軸移動停止は,動作モードや動作状態に関わらず実行可能です.

[コマンド実行条件]

  • サーボON状態
Parameters:task (int) -- タスク番号
write_macrovariable(task, macronum, value)

マクロ変数書込通信コマンド番号(DAT_MCRREG=0x33)

指定された番号のマクロ変数に対する書込みを行います.

書き込み不可のマクロ変数に対する書き込みを行うことはできません.

Parameters:
  • task (int) -- タスク番号
  • macronum (int) -- マクロ変数番号
  • value (int) -- マクロ変数値
write_macrovariables(task, startmacronum, size, macrovariables)

マクロ変数(一般レジスタ)書込(DAT_VARIABLE=0x19)

マクロ変数値を一括で書込みます.

先頭マクロ変数番号(startmacronum)からsize個のマクロ変数を書込みます.

タスクはローカルマクロ変数指定時のみ有効です.

パラメータ指定には異なるマクロ変数範囲にまたがるような指定をする事はできませんので御注意下さい.

例: 先頭が#1180で取り出すデータが50コ

マクロ変数の範囲は以下になります.

マクロ変数範囲 | 最大データ数 | 説明

#1000~#1199 | 200 | グローバルマクロ変数

#1200~#1299 | 100 | ラダー共有マクロ変数(PLMC->FA-ECR)

#1300~#1399 | 100 | ラダー共有マクロ変数(PLMC<-FA-ECR)

#1400~#1499 | 100 | ローカルマクロ変数

#5500~#5699 | 100 | グローバルマクロ変数

#5700~#5799 | 50 | ラダー共有マクロ変数(PLMC->FA-ECR)

#5800~#5899 | 50 | ラダー共有マクロ変数(PLMC<-FA-ECR)

#5900~#5999 | 50 | ローカルマクロ変数

#5500以降のマクロ変数は #1000~#1499(16bit)を32bit単位でアクセスしたものになります.

(前のマクロ変数番号が下位, 後ろのマクロ変数が上位)として使用します.

書込みを行う場合は可能な限り#1000~#1499から行ってください

#5500以降のマクロ変数を書き込む場合

先頭マクロ変数番号が奇数の場合32bit単位でのアクセスの結果正しい値にならない可能性があるので注意して下さい.

Parameters:
  • task (int) -- タスク番号
  • startmacronum (int) -- 先頭マクロ変数番号
  • size (int) -- マクロ変数数
Returns:

長さがsizeで各要素がintのリスト

Return type:

macrovariables (list[int])

write_pointtable(task, pointnum, **kwargs)

ポイントテーブル書込[DAT_POINTTABLE=0x3B]

ポイントテーブルデータを書き込みます.

引数として与えない軸のデータについては, 無効値となります.

[書き込み実行条件]

-対象タスクがプログラム運転未実行

Args: task (int): タスク番号 pointnum (int): 書込みポイントテーブル番号 kwargs (dict): 各軸ポイントデータdict (ex. X=1000)

pyfinemotion.rt64ectpclogging

TPCロギングでRTMC64-ECからデータを取得する際に使用するモジュールです.
ロギング項目の設定及び取得したデータをPythonで使用できる型に変換します.
class pyfinemotion.rt64ectpclogging.Rt64ecTPCSettings

Bases: object

TPCitemを配列として格納しTPCロギングの設定を保持します.

get_datalabel()

tpc.itemsにあるdatalabelをリストで返します.

Returns:ロギングするデータのラベル
Return type:datalabels (list)
classmethod load_settings(filepath)

設定ファイルを読み出します.

Parameters:filepath (str) -- 設定ファイルパス
classmethod load_tlsfile(filepath)

セッティングPCで作成したtpcロギング設定ファイルを読み込み,設定に反映します.

メカトロリンク通信データのロギング設定をしていた場合にはエラーとなります.

Parameters:filepath (str) -- tlsファイルのパス
save_settings(filepath)

ロギング項目設定をファイルに保存します.

Parameters:filepath (str) -- 設定保存ファイル名
set_tpc_item(logtype, task=None, axis=None, IOnum=None, macronum=None)

tpcitemインスタンスを作成しリストに追加します.

ロギング項目ごとに必要なパラメータを引数として与えます.

Parameters:
  • logtype (int) -- ロギング項目番号
  • task (int) -- タスク番号
  • axis (int) -- 論理軸番号
  • IOnum (int) -- IO番号
  • macronum (int) -- マクロ変数番号
static show_usage()

ロギング項目の設定をprintします.

class pyfinemotion.rt64ectpclogging.Rt64ecTPCitem(logtype, task=None, axis=None, IOnum=None, macrnum=None)

Bases: object

TPCロギング時のロギング項目内容を保持するクラスです.

check_axis(axis)

物理軸の指定が必要なロギング項目に対し,axisのチェックと格納を行います.

Parameters:axis (int) -- 論理軸番号
check_io_num(IOnum)

IO番号の指定が必要なロギング項目に対し,IONumのチェックと格納を行います.

Parameters:IOnum (int) -- 入出力番号
check_macro_num(macronum)

マクロ変数番号の指定が必要なロギング項目に対し,macronumのチェックと格納を行います.

Parameters:macronum (int) -- マクロ変数番号
check_task(task)

タスク番号の指定が必要なロギング項目に対し,taskのチェックと格納を行います.

Parameters:task (int) -- タスク番号
make_datalabel()

TPCitemの項目名を作成します.

class pyfinemotion.rt64ectpclogging.Rt64ecTPClogging(tpcsettings)

Bases: object

モーションライブラリから取得したデータをPython形式に変換するライブラリです.

compile_data(tpcdatasize, tpcbuf)

TPCバッファからデータを取得し,Pythonで取り扱えるデータに変換します.

Parameters:
  • tpcdatasize (int) -- 取得したTPCデータサイズ
  • tpcbuf (c_char_p) -- TPCバッファへのポインタ
Returns:

キーにロギング項目名, 要素にデータのnp.arrayを入れた辞書

Return type:

data_dict (dict)

exception pyfinemotion.rt64ectpclogging.TPCitemError

Bases: Exception

TPCロギング項目エラー

pyfinemotion.rt64ectpclogging.check_value(string)

テキストデータをチェックするための関数です.

Parameters:string (str) -- テキストデータ

pyfinemotion.rt64ecstatus

RTMC64-ECのステータス情報をPythonクラスとして定義しています.
class pyfinemotion.rt64ecstatus.AxisStatus(axisstatus)

Bases: object

PLMC-ECのタスク状態を格納,表示するクラスです.

_axstatus

軸ステータス

Type:int
_axisalarm

軸アラーム

Type:int
demand_position

指令位置

Type:int
actual_position

機械位置

Type:int
postion_deviation

偏差量

Type:int
latest_pulse

最新ブロック払い出し量

Type:int
absolute_deviation

絶対位置

Type:int
is_inposition

インポジション

Type:bool
is_moving

加減速たまり有り

Type:bool
is_servo_on

サーボON

Type:bool
is_returned_to_reference

原点復帰完了

Type:bool
is_servo_positioning

独立位置決め中

Type:bool
is_servo_positioning_stopped

独立位置決め停止中

Type:bool
is_spinning

SPIN動作中

Type:bool
is_spin_stopped

SPIN停止中

Type:bool
is_torque_control

トルク制御中

Type:bool
is_reference_found

原点確定済み

Type:bool
alarm_deviation_excess_plus

+方向偏差過大

Type:bool
alarm_deviation_excess_minus

-方向偏差過大

Type:bool
alarm_servo_amp

サーボアンプアラーム

Type:bool
alarm_softlimit_plus

+方向ソフトリミット

Type:bool
alarm_softlimit_minus

-方向ソフトリミット

Type:bool
alarm_hardlimit_plus

+方向ハードリミット

Type:bool
alarm_hardlimit_minus

-方向ハードリミット

Type:bool
alarm_pulse_excess_plus

+方向パルス発生過大

Type:bool
alarm_pulse_excess_minus

-方向パルス発生過大

Type:bool
alarm_servo_off

サーボ主電源OFF

Type:bool
alarm_ethercat_comm

EtherCAT各軸通信エラー

Type:bool
alarm_ethercat_multcommand

EtherCAT多重コマンド

Type:bool
alarm_ethercat_command_unsupported

EtherCAT未対応コマンドエラー

Type:bool
check_axisalarm()

現在の各軸アラームを各軸アラーム文字列のリストで返します.

Returns:各軸アラーム文字列のリスト
Return type:axisalarmlist (list[str])
check_axisstatus()

現在の各軸ステータスを各軸ステータス文字列のリストで返します.

Returns:各軸ステータス文字列のリスト
Return type:axstatuslist (list[str])
class pyfinemotion.rt64ecstatus.MCStatus(mcstatus)

Bases: object

PLMC-ECの全体ステータスを格納, 表示するクラスです.

_status

全体ステータス

Type:int
_alarm

全体アラーム

Type:int
is_alarm

アラーム発生中

Type:bool
is_all_task_setting_mode

全タスクセッティングモード

Type:bool
is_sensor_latch_finished

高速センサーラッチ完

Type:bool
is_program_changed

運転プログラムデータ変更

Type:bool
is_rtc_time_warning

制御周期負荷ワーニング

Type:bool
is_rtc_time_excess

制御周期負荷過大

Type:bool
is_fdtfile_reading_waring

FDT読込ワーニング

Type:bool
is_enable_cycletime

サイクルタイム有効

Type:bool
alarm_emergency_stop

非常停止

Type:bool
alarm_buckup_error

バックアップエラー

Type:bool
alarm_parameter_unset

パラメータ未設定エラー

Type:bool
alarm_rom_buckup_error

ROMSWバックアップエラー

Type:bool
alarm_ethercat_initialize

EtherCAT初期化エラー

Type:bool
alarm_ethercat_comm

EtherCAT全体通信エラー

Type:bool
alarm_fdtfile_reading_error

FDT読込エラー

Type:bool
alarm_ethercat_io_error

EtherCAT IO通信エラー

Type:bool
alarm_system_error

システムエラー

Type:bool
check_alarm()

現在のアラーム状態をアラーム文字列のリストで返します.

Returns:アラーム文字列のリスト
Return type:alarmlist (list[str])
check_status()

現在のステータスをステータス文字列のリストで返します.

Returns:ステータス文字列のリスト
Return type:statuslist (list[str])
class pyfinemotion.rt64ecstatus.Rt64ecStatus(status, axis_info)

Bases: object

PLMCEC-EXの全体ステータスを格納,表示するクラスです.

__status

PLMCEC-EXから返ってきた生のステータスデータ

Type:STATUS
mcstatus

モーションコントロールのステータス

Type:list[MCStatus]
taskstatus

タスク数分のステータス状態

Type:list[TaskStatus]
axisstatus

物理軸数分のステータス状態

Type:list[AxisStatus]
get_allinfo()

PLMC-ECの情報と全タスクの情報を取り出し, dict形式で返します.

Returns:全ステータス情報(dict)
get_taskinfo(task)

各タスクの情報を取り出し, dict形式で返します.

Parameters:task (int) -- タスク番号
Returns:タスク情報(dict)
class pyfinemotion.rt64ecstatus.TaskStatus(taskstatus)

Bases: object

PLMC-ECのタスク状態を格納,表示するクラスです.

_taskstatus

タスクステータス

Type:int
_taskalarm

タスクアラーム

Type:int
override

送りオーバーライド設定

Type:int
interpolateoverride

補間オーバーライド設定

Type:int
spindleoverride

主軸オーバーライド設定

Type:int
programno

選択・実行プログラム番号

Type:int
stepno

実行ステップ番号

Type:int
mode

モード情報("setting", "manual", "auto", "ot_ignore", "dnc")

Type:str
is_alarm_exist

アラーム発生中

Type:bool
is_programstep_finished

FG完了

Type:bool
is_programstep_stopping

FG中断中

Type:bool
is_programstep_analysing

FG分配中

Type:bool
is_program_runnnig

プログラム運転中

Type:bool
is_program_stopping

プログラム停止中

Type:bool
is_program_paused

ブロック途中停止

Type:bool
is_all_sequence_done

各種シーケンス完了

Type:bool
is_singlestep_mode

シングルステップモード

Type:bool
is_teaching_mode

ティーチングモード

Type:bool
is_cycle_mode

サイクル運転モード

Type:bool
is_machined_locked

マシンロック(未対応)

Type:bool
is_servo_in_position

割り当て軸 インポジション

Type:bool
is_servo_moving

割り当て軸 加減速たまり有り

Type:bool
is_servo_on

割り当て軸 サーボON

Type:bool
is_servo_returned_to_reference

割り当て軸 原点復帰完了

Type:bool
is_servo_positioning

割り当て軸 独立位置決め中

Type:bool
is_servo_positioning_stopped

割り当て軸 独立位置決め停止中

Type:bool
is_sensor_latch_finished

高速センサーラッチ完

Type:bool
is_tangent_control_on

Z軸接線制御ON

Type:bool
is_final_widing_laryer_warning

最終層巻数異常警告(巻線)

Type:bool
alarm_program_executin

プログラム実行エラー

Type:bool
alarm_mcode_execution

Mコード実行エラー

Type:bool
alarm_assignedaxis_error

割り当て軸エラー

Type:bool
alarm_step_calculation_error

FG内部演算エラー

Type:bool
alarm_servo_off

サーボOFFエラー

Type:bool
alarm_exteral_a

外部アラームAエラー

Type:bool
alarm_external_b

外部アラームBエラー

Type:bool
alarm_external_c

外部アラームCエラー

Type:bool
alarm_emergency_stop

非常停止

Type:bool
check_taskalarm()

現在のタスクアラームをタスクアラーム文字列のリストで返します.

Returns:タスクアラーム文字列のリスト
Return type:taskstatuslist (list[str])
check_taskstatus()

現在のタスクステータスをタスクステータス文字列のリストで返します.

Returns:タスクステータス文字列のリスト
Return type:taskstatuslist (list[str])

pyfinemotion.rt64ecparam

RTMC64-ECで使用するパラメータ設定をPythonクラスとして定義しています.
class pyfinemotion.rt64ecparam.ServoParam

Bases: object

物理軸各軸のサーボパラメーターを格納するクラスです.

inpos

INPOS量 [pls]

Type:int
ermax

偏差上限値 [pls]

Type:int
mposermax

MPOS偏差上限値 [pls]

Type:int
ka

補間時定数 [msec]

Type:int
ska

S字補間時定数 [msec]

Type:int
dx

PTP時定数 [msec]

Type:int
ptpfeed

PTP速度 [pls/sec]

Type:int
jogfeed

JOG送り速度 [pls/sec]

Type:int
softlimplus

ソフトリミット+側 [pls]

Type:int
softlimminus

ソフトリミット-側 [pls]

Type:int
orgdirection

原点復帰方向

Type:int
orgenable

原点復帰有効

Type:int
orgoffsets

原点距離 [pls]

Type:int
orgpos

原点復帰逃げ位置 [pls]

Type:int
orgfeed

原点復帰早送り速度 [pls/sec

Type:int
aprfeed

原点復帰アプローチ速度 [pls/sec]

Type:int
srchfeed

原点復帰最終サーチ速度 [pls/sec]

Type:int
orgpri

原点復帰順位

Type:int
homepos

ホームポジション位置 [pls]

Type:int
homepri

ホームポジション順位

Type:int
backl

バックラッシュ補正量 [pls]

Type:int
revise

形状補正係数

Type:int
orgcsetofs

原点復帰時論理座標

Type:int
handlemax

ジョイスティック/ハンドル最大送り速度

Type:int
handleka

ジョイスティック/ハンドル加減速時定数

Type:int
class pyfinemotion.rt64ecparam.ServoParams

Bases: object

物理軸のサーボパラメーターを格納するクラスです.

servo

ServoParamインスタンスのリスト

物理軸順に格納します

Type:list[ServoParam]
servo = []

pyfinemotion.rt64iniparser

セッティングPCソフトで作成したrt64ecdrv.iniファイルをPythonで読み込み,
rt64ecクラス内で使用できる形式にパースするクラスです.
class pyfinemotion.rt64iniparser.Rt64iniParser(fpath, machine)

Bases: object

セッティングPCで作成したRTMC64-M3/ECの設定ファイルを読み込み,

Rt64me3, Rt64ecクラスに渡せる形式に変換します.

config

configparserインスタンス

Type:configparser
platfrom

実行環境(32bit or 64bit)

Type:stirng
get_commsettings()

モーションコントローラーライブラリとの通信に必要な設定を読み込みます.

Returns:設定項目をkey, 設定値をvalueとしたdictを返す
Return type:Commsettings (dict)
get_libpath()

設定ファイルからロードするライブラリのパスを取得します

get_programsettings()

モーションコントローラーのプログラム設定を読み込みます.

return
programsettings (dict): 設定項目をkey,設定値をvalueとしたdictを返す

pyfinemotion.rt64tcnv

Tコードで作成した運転プログラムをRTMC64-EC用のバイナリに変換,
またはRTMC64-EC内のバイナリプログラムをTコードのテキストプログラムに変換するモジュールです.
RTMC64-ECインスタンスがプログラムを変換する際に使用します.
class pyfinemotion.rt64tcnv.Rt64TCnv(path, bufsize)

Bases: object

Tコードテキスト変換ライブラリを使用するクラスです.

_tcodeconvlib

DLLライブラリ

Type:dll
_BUFSIZE

プログラム格納用バッファサイズ

Type:int
_binarybuf

バイナリプログラム格納用バッファ(1000kB)

Type:buffer
_textbuf

テキストプログラム格納用バッファ(1000kB)

Type:buffer
_binarysize

バイナリバッファ中のプログラムのサイズ

Type:int
convert_dnc_str(text, mode)

受け取ったテキストをDNC運転用のバイナリプログラムに変換し、バッファに格納します.

渡すテキストがDNC運転の続きの場合はcontにTrueを渡します.

Parameters:
  • text (str) -- DNC運転用プログラム
  • cont (bool) -- 渡したプログラムが継続するプログラムか
Returns:

バイナリプログラムサイズ

Return type:

binarysize (int)

convert_file(filepath, task)

プログラムファイルをバイナリ形式プログラムに変換します.

Parameters:
  • filepath (str) -- Tコードプログラムファイルパス
  • task (int) -- タスク番号
Returns:

バイナリプログラムサイズ pnp (ctypes.c_short): プログラム番号

Return type:

binaysize (ctypes.c_ulong)

convert_str(text, task)

プログラム文字列をバイナリ形式プログラムに変換します.

Parameters:
  • filepath (str) -- Tコードプログラムファイルパス
  • task (int) -- タスク番号
Returns:

バイナリプログラムサイズ pno (ctypes.c_short): プログラム番号

Return type:

binaysize (ctypes.c_ulong)

load_binary(filepath)

バイナリ形式プログラムをテキスト形式プログラムに変換します.

Parameters:filepath (str) -- バイナリファイルパス
Returns:テキストプログラムサイズ
Return type:binarysize (int)
load_lib()

コード変換ライブラリを読み込みます.

Parameters:path (str) -- 通信ライブラリのパス
revert_binary_to_string()

バイナリバッファのプログラムをテキスト形式に変換し文字列で返します.

save_program(filepath)

バイナリバッファのプログラムをテキスト形式に変換し保存します.

Parameters:filepath (str) -- 保存ファイルパス

pyfinemotion.rt64gcnv

Gコードで作成した運転プログラムをRTMC64-EC用のバイナリに変換,
またはRTMC64-EC内のバイナリプログラムをGコードのテキストプログラムに変換するモジュールです.
RTMC64-ECインスタンスがプログラムを変換する際に使用します.
class pyfinemotion.rt64gcnv.Rt64GCnv(path, bufsize)

Bases: object

Gコードテキスト変換ライブラリを使用するクラスです.

_gcodeconvlib

DLLライブラリ

Type:dll
_BUFSIZE

プログラム格納用バッファサイズ

Type:int
_binarybuf

バイナリプログラム格納用バッファ(1000kB)

Type:buffer
_textbuf

テキストプログラム格納用バッファ(1000kB)

Type:buffer
_binarysize

バイナリバッファ上のプログラムサイズ

Type:int
convert_dnc_str(text, mode)

受け取ったテキストをDNC運転用のバイナリプログラムに変換し、バッファに格納します.

渡すテキストがDNC運転の続きの場合はcontにTrueを渡します.

Parameters:
  • text (str) -- DNC運転用プログラム
  • cont (bool) -- 渡したプログラムが継続するプログラムか
Returns:

バイナリプログラムサイズ

Return type:

binarysize (int)

convert_file(filepath, task)

プログラムファイルをバイナリ形式プログラムに変換します.

Parameters:
  • filepath (str) -- Gコードプログラムファイルパス
  • task (int) -- タスク番号
Returns:

バイナリプログラムサイズ pnp (ctypes.c_short): プログラム番号

Return type:

binaysize (ctypes.c_ulong)

convert_str(text, task)

プログラム文字列をバイナリ形式プログラムに変換します.

Parameters:
  • filepath (str) -- Gコードプログラムファイルパス
  • task (int) -- タスク番号
Returns:

バイナリプログラムサイズ pno (ctypes.c_short): プログラム番号

Return type:

binaysize (ctypes.c_ulong)

load_binary(filepath)

バイナリ形式プログラムをテキスト形式プログラムに変換します.

Parameters:filepath (str) -- バイナリファイルパス
Returns:テキストプログラムサイズ
Return type:binarysize (int)
load_lib()

コード変換ライブラリを読み込みます.

Parameters:path (str) -- 通信ライブラリのパス
revert_binary_to_string()

バイナリバッファのプログラムをテキスト形式に変換し文字列で返します.

save_program(filepath)

バイナリバッファのプログラムをテキスト形式に変換し保存します.

Parameters:filepath (str) -- 保存ファイルパス

pyfinemotion.rt64ecconst

RTMC64-ECの内部定数をPythonクラスとして定義しています.
直接操作する必要はありませんが, カスタムクラスを作成する際に参考として下さい.
exception pyfinemotion.rt64ecconst.ConstError

Bases: TypeError

定数に値が再代入された場合のエラーです.

class pyfinemotion.rt64ecconst.Rt64ecCommandConst

Bases: object

RT64ECの通信コマンド定数を設定するクラスです.

値を再代入するとエラーになります.

exception ConstError

Bases: TypeError

定数に値が再代入された場合のエラー

DAT_ASSAXISTBL = 60

軸割り当て情報読出

DAT_AXINTLOCK = 41

軸インタロック設定データ読出

DAT_AXNEGLECT = 40

軸ネグレクト設定データ読出

DAT_AXSVONEN = 49

各軸サーボON/OFF設定データ読出

DAT_DNCBUFI = 15

DNCバッファ情報データ読出<オプション>

DAT_DNCDATA = 14

DNCデータ書込<オプション>

DAT_FORCEIO = 19

入出力状態データ読出

DAT_FORGROUND = 144

#フォアグランド周期計測データ読出

DAT_IODATA = 3

入出力状態データ読出

DAT_MCRREG = 51

マクロ変数書込/読出(オプション)

DAT_ONEBLOCK = 48

プログラム1ステップデータ読出

DAT_PARAMETER = 0

サーボパラメータ書込/読出

DAT_POINTTABLE = 59

ポイントテーブル書込/読出(オプション)

DAT_PRGBLKINFO = 27

プログラムブロック情報読出

DAT_PROGRAM = 1

運転プログラム書込/読出

DAT_RTC = 33

制御周期内処理時間計測データ読出

DAT_STATUS = 2

ステータスデータ読出

DAT_TPCDATA = 37

TPCロギングデータ読出

DAT_TPCINFO = 36

TPCロギング情報読出

DAT_TPCINFO_EX = 42

TPCロギング拡張情報読出

DAT_VARIABLE = 25

マクロ変数(一般レジスタ)書込/読出<オプション>

DAT_VERSION = 39

ROMバージョン情報読出

REQ_ALLZRN = 36

全軸原点復帰開始コマンド

REQ_AXAUTOZRN = 51

各軸原点復帰コマンド

REQ_AXISINTLK = 56

軸インタロック設定コマンド

REQ_AXISNEG = 57

軸ネグレクト設定コマンド

REQ_AXMV = 104

独立位置決めコマンド

REQ_COMPINPUT = 42

汎用入力強制制御コマンド

REQ_COMPIOBIT = 44

汎用入出力ビット強制制御コマンド

REQ_COMPOUTPUT = 43

汎用出力強制制御コマンド

REQ_COORDSET = 55

座標系設定コマンド

REQ_COVRDCHGP = 134

送りオーバーライド%変更コマンド

REQ_CYCLE = 54

サイクル運転モード設定コマンド

REQ_GENE = 20

バックアップメモリ初期化コマンド

REQ_HOME = 131

ホームポジション位置決めコマンド

REQ_JOGSTART = 17

JOG移動コマンド

REQ_LINASTART = 24

アブソ直線補間位置決めコマンド

REQ_LINBSTART = 53

アブソ直線補間位置決めコマンド

REQ_LINSTART = 23

インクレ直線補間位置決めコマンド

REQ_MABSCOORDSET = 144

アブソ座標設定コマンド

REQ_MCDOUT = 61

Mコード出力コマンド

REQ_MODECHG = 16

動作モード変更コマンド

REQ_ORGSET = 25

原点設定コマンド

REQ_OUTPUT = 29

汎用出力直接制御コマンド

REQ_OUTPUTBIT = 68

汎用出力ビット直接制御コマンド

REQ_OVRDCHGP = 45

送りオーバーライド%変更コマンド

REQ_PRGBLKCPY = 108

プログラムブロックコピーコマンド

REQ_PRGBLKDEL = 109

プログラムブロック削除コマンド

REQ_PRGBLKMV = 107

プログラムブロック移動コマンド

REQ_PROGSLCT = 34

実行プログラム選択コマンド

REQ_PROGSTOP = 33

プログラム実行停止コマンド

REQ_PROGSTRT = 32

プログラム実行開始コマンド

REQ_PTPASTART = 22

アブソPTP位置決めコマンド

REQ_PTPBSTART = 52

アブソPTP位置決めコマンド

REQ_PTPSTART = 21

インクレPTP位置決めコマンド

REQ_REFMEM = 110

Flashメモリへのプログラム反映コマンド

REQ_RESET = 26

リセットコマンド

REQ_RESTART = 27

軸移動再開コマンド

REQ_SINGLE = 96

シングルステップモード設定コマンド

REQ_SOVRDCHGP = 134

送りオーバーライド%変更コマンド

REQ_SPCMND = 80

主軸回転ON/OFFコマンド(オプション)

REQ_SPINAX = 82

回転軸回転動作コマンド

REQ_SPREVSET = 81

主軸回転数設定コマンド(オプション)

REQ_STOP = 19

軸移動停止コマンド

REQ_SVONOFF = 58

各軸サーボON/OFFコマンド

REQ_SYNEGPTPASTART = 74

同期軸無視アブソPTP位置決めコマンド

REQ_SYNEGPTPBSTART = 75

同期軸無視アブソPTP位置決めコマンド

REQ_SYNEGPTPSTART = 73

同期軸無視インクレPTP位置決めコマンド

REQ_TIMERRESET = 66

周期計測値クリアコマンド

REQ_TPCLOG = 50

TPCロギング開始コマンド

REQ_TPCSEL_EX = 62

TPCデータ選択拡張コマンド

REQ_TRQCMD = 70

トルク指令コマンド<オプション>

REQ_ZRNSTART = 18

各軸原点復帰コマンド

class pyfinemotion.rt64ecconst.Rt64ecConst

Bases: object

Rt64ec内の定数を定義するクラスです.

定数に値を再代入するとエラーになります.

S_MCS_ALM

アラーム発生中

Type:0x0001
S_MCS_SETTING

全タスクセッティングモード

Type:0x0002
S_MCS_SENSE

高速センサーラッチ完

Type:0x0010
S_MCS_PRGCHG

動作プログラムデータ変更

Type:0x0040
S_MCS_RTCWARN

制御周期負荷ワーニング(87.5%)

Type:0x0080
S_MCS_RTCFAIL

制御周期負荷過大

Type:0x0100
S_MCS_FDTWARN

FDT読込ワーニング

Type:0x0200
S_MCS_CYCLETIME_EN

サイクルタイム有効

Type:0x0400
S_MCA_EMS

非常停止

Type:0x0001
S_MCA_BACKUP

バックアップエラー

Type:0x0002
S_MCA_PARAMETER

パラメータ未設定エラー

Type:0x0004
S_MCA_ROMSW_BKUP

ROMSWバックアップエラー

Type:0x0008
S_MCA_ECT_INIT

EtherCAT初期化エラー

Type:0x0010
S_MCA_ECT_WCOM

EtherCAT全体通信エラー

Type:0x0020
S_MCA_FDTFAIL

FDT読込エラー

Type:0x0080
S_MCA_ECT_IO_COMM

EtherCAT IO通信エラー

Type:0x0200
S_MCA_SYSTEM

システムエラー

Type:0x8000
S_AXS_INPOS

インポジション

Type:0x0001
S_AXS_ACC_NZE

加減速たまり有り

Type:0x0002
S_AXS_SVON

サーボON

Type:0x0004
S_AXS_ZRN

原点復帰完了

Type:0x0008
S_AXS_AXMV

独立位置決め中

Type:0x0010
S_AXS_AXMVSTP

独立位置決め停止中

Type:0x0020
S_AXS_SPIN

SPIN動作中

Type:0x0040
S_AXS_SPINSTP

SPIN停止中

Type:0x0080
S_AXS_TRQCTRL

トルク制御中

Type:0x0100
S_AXS_ORGFIX

原点確定済み

Type:0x0200
S_AXA_ERALM_P

+方向偏差過大

Type:0x0001
S_AXA_ERALM_M

-方向偏差過大

Type:0x0002
S_AXA_SALM

サーボアンプアラーム

Type:0x0004
S_AXA_SLIMIT_P

+方向ソフトリミット

Type:0x0008
S_AXA_SLIMIT_M

-方向ソフトリミット

Type:0x0010
S_AXA_HLIMIT_P

+方向ハードリミット

Type:0x0020
S_AXA_HLIMIT_M

-方向ハードリミット

Type:0x0040
S_AXA_COMLIMIT_P

+方向パルス発生過大

Type:0x0080
S_AXA_COMLIMIT_M

-方向パルス発生過大

Type:0x0100
S_AXA_SPWOFF

サーボ主電源OFF

Type:0x0200
S_AXA_ECT_AXCOM

EtherCAT各軸通信エラー

Type:0x0400
S_AXA_ECT_MLTCMD

EtherCAT多重コマンド

Type:0x0800
S_AXA_ECT_USCMD

EtherCAT未対応コマンドエラー

Type:0x1000
S_TKS_ALM

アラーム発生中

Type:0x00000001
S_TKS_FG_END

FG完了

Type:0x00000002
S_TKS_FG_STOP

FG中断中

Type:0x00000004
S_TKS_FG_BUN

FG分配中

Type:0x00000008
S_TKS_EXEC

プログラム運転中

Type:0x00000010
S_TKS_STOP

プログラム停止中

Type:0x00000020
S_TKS_BLKS

ブロック途中停止

Type:0x00000040
S_TKS_SEQ_END

各種シーケンス完了

Type:0x00000080
S_TKS_SINGLE

シングルステップモード

Type:0x00000100
S_TKS_TEACH

ティーチングモード

Type:0x00000200
S_TKS_CYCLE

サイクル運転モード

Type:0x00000400
S_TKS_MLK_STS

マシンロック(未対応)

Type:0x00000800
S_TKS_MODE

モード情報エリア

Type:0x0000f000
S_TKS_INPOS

割り当て軸 インポジション

Type:0x00010000
S_TKS_ACC_NZE

割り当て軸 加減速たまり有り

Type:0x00020000
S_TKS_SVON

割り当て軸 サーボON

Type:0x00040000
S_TKS_ZRN

割り当て軸 原点復帰完了

Type:0x00080000
S_TKS_AXMV

割り当て軸 独立位置決め中

Type:0x00100000
S_TKS_AXMVSTP

割り当て軸 独立位置決め停止中

Type:0x00200000
S_TKS_SENSE

高速センサーラッチ完

Type:0x01000000
S_TKS_TANG

Z軸接線制御ON

Type:0x02000000
S_TKS_REEL_END

最終層巻数異常警告(巻線)

Type:0x04000000
S_TKA_PRGERR

プログラム実行エラー

Type:0x0001
S_TKA_MOUTERR

Mコード実行エラー

Type:0x0002
S_TKA_AXIS

割り当て軸エラー

Type:0x0004
S_TKA_FGERR

FG内部演算エラー

Type:0x0008
S_TKA_POWEROFF

サーボOFFエラー

Type:0x0010
S_TKA_EXTALMA

外部アラームAエラー

Type:0x0020
S_TKA_EXTALMB

外部アラームBエラー

Type:0x0040
S_TKA_EXTALMC

外部アラームCエラー

Type:0x0080
S_TKA_EMS

非常停止

Type:0x0100
VARW_GLB_STR

先頭アドレス

Type:1000
VARW_GLB_NUM

データ数

Type:200
VARW_LDW_STR

先頭アドレス

Type:1200
VARW_LDW_NUM

データ数

Type:100
VARW_LDR_STR

先頭アドレス

Type:1300
VARW_LDR_NUM

データ数

Type:100
VARW_LOC_STR

先頭アドレス

Type:1400
VARW_LOC_NUM

データ数

Type:100
VARL_GLB_STR

先頭アドレス

Type:5500
VARL_GLB_NUM

データ数

Type:100
VARL_LDW_STR5

先頭アドレス

Type:700
VARL_LDW_NUM

データ数

Type:50
VARL_LDR_STR

先頭アドレス

Type:5800
VARL_LDR_NUM

データ数

Type:50
VARL_LOC_STR

先頭アドレス

Type:5900
VARL_LOC_NUM

データ数

Type:50/2
ACO_TMMIN

補間前加減速時定数最小値

Type:0
ACO_TMMAX

補間前加減速時定数最大値

Type:16383
ACO_ACCMIN

補間前加減速切換加速度最小値

Type:0
ACO_ACCMAX

補間前加減速切換加速度最大値

Type:2000000000
ACO_OVRMIN

補間前加減速オーバライド最小値

Type:1
ACO_OVRMAX

補間前加減速オーバライド最大値

Type:100
T_TEACH

ティーチングモード

Type:0x01
T_TEACHSTP

ティーチング開始ステップ

Type:0x02
T_TEACHEN

ティーチング可能ステップ

Type:0x04
T_TEACHSTPPRV

ティーチング開始ステップの前ステップ

Type:0x08
HDL_MD_HANDLE

手パモード

Type:1
HDL_MD_JOYSTICK

ジョイスティックモード

Type:2
HDL_MD_ENABLE

手パ/ジョイスティック有効

Type:0x1000
SID_BKIND

シリアルナンバー(機種ID)

Type:30
SID_BKIND_STR

シリアルナンバー(機種ID)表示文字列

Type:"RT64EC"
TDERR_STATE_ANOMALY

正体不明エラー(内部状態異常)

Type:1 << 0
TDERR_DCHG_CIR

円弧指令での径補正モード変更エラー

Type:1 << 1
TDERR_INHB_COMMAND

径補正中の禁止命令指定エラー

Type:1 << 2
TDERR_MACRO

マクロ変数エラー

Type:1 << 3
TDERR_D_RANGE

径指定範囲外エラー

Type:1 << 4
TDERR_LIN_NOMOVE

移動量なしエラー

Type:1 << 5
TDERR_LIN_SE_SAME

始点/終点一致エラー

Type:1 << 6
TDERR_CIR_CENT_IL

円弧中心点演算エラー

Type:1 << 7
TDERR_LINLIN_NOCP

交点なしエラー (LIN → LIN)

Type:1 << 8
TDERR_LINCIR_NOCP

交点なしエラー (LIN → CIR, CIR → LIN)

Type:1 << 9
TDERR_CIRCIR_NOCP

交点なしエラー (CIR → CIR)

Type:1 << 10
TDERR_LIN_REVERSE

移動方向反転エラー(LIN)

Type:1 << 11
TDERR_CIR_REVERSE

移動方向反転エラー(CIR)

Type:1 << 12
POINTTBLMAX

位置決めポイントテーブル最大数

Type:400
GEN_PARAM

パラメータ初期化指定

Type:0x0001
GEN_PROGRAM

動作プログラム初期化指定

Type:0x0002
GEN_POSITION

アブソ座標初期化指定

Type:0x0004
GEN_VARIABLE

マクロ変数初期化指定

Type:0x0008
INPORT

入力ポート指定

Type:0x0000
OUTPORT

出力ポート指定

Type:0x8000
IONOTCARE

状態変更無し

Type:0
IORELEASE

強制ON/OFF終了

Type:1
IOSET

強制ON

Type:2
IORESET

強制OFF

Type:3
TPCH_LOG_POS

ポジション・入出力

Type:0
TPCH_LOG_ECT

EtherCAT PDO

Type:1
TPCH_LOG_64CH

64CH

Type:2
TPCS_ECT_DT_16BYTE

16byteデータロギング

Type:0
TPCS_ECT_DT_32BYTE

32byteデータロギング

Type:1
TPCS_ECT_DT_48BYTE

48byteデータロギング

Type:2
TPCS_ECT_DT_64BYTE

64byteデータロギング

Type:3
TPCS_ECT_RS_ALL

送受信

Type:0
TPCS_ECT_RS_SEND

送信のみ

Type:1
TPCS_ECT_RS_RECEIVE

受信のみ

Type:2
TPCS_64_I_COMREG

指令位置

Type:0
TPCS_64_I_POSREG

機械位置

Type:1
TPCS_64_I_ERRREG

偏差量

Type:2
TPCS_64_I_BLOCKSEG

最新ブロック払い出し量

Type:3
TPCS_64_I_ABSREG

絶対位置

Type:4
TPCS_64_I_TRQ

トルク

Type:5
TPCS_64_I_MCSTATUS

全体ステータス

Type:6
TPCS_64_I_MCALARM

全体アラーム

Type:7
TPCS_64_I_AXSTATUS

軸ステータス

Type:8
TPCS_64_I_AXALARM

軸アラーム

Type:9
TPCS_64_I_TASKSTATUS

タスクステータス

Type:10
TPCS_64_I_TASKALARM

タスクアラーム

Type:11
TPCS_64_I_MACRO

マクロ変数

Type:12
TPCS_64_I_DI

入力信号

Type:13
TPCS_64_I_DO

出力信号

Type:14
TPCS_64_I_PDO_OBJ

PDOデータ(オブジェクト指定)

Type:15
TPCS_64_I_RXPDO_DAT

RxPDOデータ(オフセット指定)

Type:16
TPCS_64_I_TXPDO_DAT

TxPDOデータ(オフセット指定)

Type:17
TPCS_64_I_TIME

時計

Type:18
TPCS_64_I_VCOMREG

仮想指令位置

Type:19
TPCS_64_A_TASK

タスク番号

Type:0
TPCS_64_A_AXIS

軸番号

Type:1
TPCS_64_A_MACRO

マクロ変数番号

Type:2
TPCS_64_A_IO

IO信号番号

Type:3
TPCS_64_A_PDO_IDX

PDOオブジェクトIndex

Type:4
TPCS_64_A_PDO_SUBIDX

PDOオブジェクトSubindex

Type:5
TPCS_64_A_PDO_DAT_OFS

PDOデータオフセット

Type:6
TPCS_64_A_PDO_DAT_SZ

PDOデータサイズ(1-4[byte] )

Type:7
TASKMAX

タスク最大数(0~7)

Type:8
ACO_ACCMAX = 2000000000
ACO_ACCMIN = 0
ACO_OVRMAX = 100
ACO_OVRMIN = 1
ACO_TMMAX = 16383
ACO_TMMIN = 0
GEN_PARAM = 1
GEN_POSITION = 4
GEN_PROGRAM = 2
GEN_VARIABLE = 8
HDL_MD_ENABLE = 4096
HDL_MD_HANDLE = 1
HDL_MD_JOYSTICK = 2
INPORT = 0
INPUTNUM = 4
INVALIDPOINT = -2147483648
IONOTCARE = 0
IORELEASE = 1
IORESET = 3
IOSET = 2
LOGICALAXISMAX = 9
OUTPORT = 32768
OUTPUTNUM = 3
PHYSICALAXISMAX = 64
POINTTBLMAX = 400
PROGRAMBLOCK = 64
SID_BKIND = 30
SID_BKIND_STR = 'RT64EC'
S_AXA_COMLIMIT_M = 256
S_AXA_COMLIMIT_P = 128
S_AXA_ECT_AXCOM = 1024
S_AXA_ECT_MLTCMD = 2048
S_AXA_ECT_USCMD = 4096
S_AXA_ERALM_M = 2
S_AXA_ERALM_P = 1
S_AXA_HLIMIT_M = 64
S_AXA_HLIMIT_P = 32
S_AXA_SALM = 4
S_AXA_SLIMIT_M = 16
S_AXA_SLIMIT_P = 8
S_AXA_SPWOFF = 512
S_AXS_ACC_NZE = 2
S_AXS_AXMV = 16
S_AXS_AXMVSTP = 32
S_AXS_INPOS = 1
S_AXS_ORGFIX = 512
S_AXS_SPIN = 64
S_AXS_SPINSTP = 128
S_AXS_SVON = 4
S_AXS_TRQCTRL = 256
S_AXS_ZRN = 8
S_MCA_BACKUP = 2
S_MCA_ECT_INIT = 16
S_MCA_ECT_IO_COMM = 512
S_MCA_ECT_WCOM = 32
S_MCA_EMS = 1
S_MCA_FDTFAIL = 128
S_MCA_PARAMETER = 4
S_MCA_ROMSW_BKUP = 8
S_MCA_SYSTEM = 32768
S_MCS_ALM = 1
S_MCS_CYCLETIME_EN = 1024
S_MCS_FDTWARN = 512
S_MCS_PRGCHG = 64
S_MCS_RTCFAIL = 256
S_MCS_RTCWARN = 128
S_MCS_SENSE = 16
S_MCS_SETTING = 2
S_TKA_AXIS = 4
S_TKA_EMS = 256
S_TKA_EXTALMA = 32
S_TKA_EXTALMB = 64
S_TKA_EXTALMC = 128
S_TKA_FGERR = 8
S_TKA_MOUTERR = 2
S_TKA_POWEROFF = 16
S_TKA_PRGERR = 1
S_TKS_ACC_NZE = 131072
S_TKS_ALM = 1
S_TKS_AXMV = 1048576
S_TKS_AXMVSTP = 2097152
S_TKS_BLKS = 64
S_TKS_CYCLE = 1024
S_TKS_EXEC = 16
S_TKS_FG_BUN = 8
S_TKS_FG_END = 2
S_TKS_FG_STOP = 4
S_TKS_INPOS = 65536
S_TKS_MLK_STS = 2048
S_TKS_MODE = 61440
S_TKS_REEL_END = 67108864
S_TKS_SENSE = 16777216
S_TKS_SEQ_END = 128
S_TKS_SINGLE = 256
S_TKS_STOP = 32
S_TKS_SVON = 262144
S_TKS_TANG = 33554432
S_TKS_TEACH = 512
S_TKS_ZRN = 524288
TASKMAX = 8
TDERR_CIRCIR_NOCP = 1024
TDERR_CIR_CENT_IL = 128
TDERR_CIR_REVERSE = 4096
TDERR_DCHG_CIR = 2
TDERR_D_RANGE = 16
TDERR_INHB_COMMAND = 4
TDERR_LINCIR_NOCP = 512
TDERR_LINLIN_NOCP = 256
TDERR_LIN_NOMOVE = 32
TDERR_LIN_REVERSE = 2048
TDERR_LIN_SE_SAME = 64
TDERR_MACRO = 8
TDERR_STATE_ANOMALY = 1
TIMERCLOCK = 1
TPCH_LOG_64CH = 2
TPCH_LOG_ECT = 1
TPCH_LOG_POS = 0
TPCS_64_A_AXIS = 1
TPCS_64_A_IO = 3
TPCS_64_A_MACRO = 2
TPCS_64_A_PDO_DAT_OFS = 6
TPCS_64_A_PDO_DAT_SZ = 7
TPCS_64_A_PDO_IDX = 4
TPCS_64_A_PDO_SUBIDX = 5
TPCS_64_A_TASK = 0
TPCS_64_I_ABSREG = 4
TPCS_64_I_AXALARM = 9
TPCS_64_I_AXSTATUS = 8
TPCS_64_I_BLOCKSEG = 3
TPCS_64_I_COMREG = 0
TPCS_64_I_DI = 13
TPCS_64_I_DO = 14
TPCS_64_I_ERRREG = 2
TPCS_64_I_MACRO = 12
TPCS_64_I_MCALARM = 7
TPCS_64_I_MCSTATUS = 6
TPCS_64_I_PDO_OBJ = 15
TPCS_64_I_POSREG = 1
TPCS_64_I_RXPDO_DAT = 16
TPCS_64_I_TASKALARM = 11
TPCS_64_I_TASKSTATUS = 10
TPCS_64_I_TIME = 18
TPCS_64_I_TRQ = 5
TPCS_64_I_TXPDO_DAT = 17
TPCS_64_I_VCOMREG = 19
TPCS_ECT_DT_16BYTE = 0
TPCS_ECT_DT_32BYTE = 1
TPCS_ECT_DT_48BYTE = 2
TPCS_ECT_DT_64BYTE = 3
TPCS_ECT_RS_ALL = 0
TPCS_ECT_RS_RECEIVE = 2
TPCS_ECT_RS_SEND = 1
T_TEACH = 1
T_TEACHEN = 4
T_TEACHSTP = 2
T_TEACHSTPPRV = 8
VARL_GLB_NUM = 100
VARL_GLB_STR = 5500
VARL_LDR_NUM = 50
VARL_LDR_STR = 5800
VARL_LDW_NUM = 50
VARL_LDW_STR = 5700
VARL_LOC_NUM = 50
VARL_LOC_STR = 5900
VARW_GLB_NUM = 200
VARW_GLB_STR = 1000
VARW_LDR_NUM = 100
VARW_LDR_STR = 1300
VARW_LDW_NUM = 100
VARW_LDW_STR = 1200
VARW_LOC_NUM = 100
VARW_LOC_STR = 1400

pyfinemotion.rt64ecdata

RTMC64-ECの内部データをPythonクラスとして定義しています.
直接操作する必要はありませんが, カスタムクラスを作成する際に参考として下さい.

Rt64ECの通信ライブラリとやり取りを行うデータの型を定義します.

class pyfinemotion.rt64ecdata.ACO_PRM

Bases: _ctypes.Structure

補間前加減速用パラメータ情報構造体です.(48Byte)

aco_acot

補間前加減速時定数 [msec]

Type:ctypes.c_long
aco_accdat

補間前加減速切換加速度 [pls/sec2]

Type:ctypes.c_long * 7
aco_ovrdat

補間前加減速オーバライドデータ [%]

Type:ctypes.c_short * 7
Reserved

未使用

Type:ctypes.c_ushort
Reserved

Structure/Union member

aco_accdat

Structure/Union member

aco_acot

Structure/Union member

aco_ovrdat

Structure/Union member

class pyfinemotion.rt64ecdata.ADD_PARAMETER

Bases: _ctypes.Structure

特殊パラメータ共用体です.(120Byte)

Reserved

特殊パラメータ未定義

Type:ctypes.c_ubyte*160
Reserved

Structure/Union member

class pyfinemotion.rt64ecdata.ADSC

Bases: _ctypes.Structure

ADサンプリングデータロギングコマンドパラメータ構造体です.

sc

ADサンプリング周期

Type:ctypes.c_ushort
sc

Structure/Union member

class pyfinemotion.rt64ecdata.AD_POS

Bases: _ctypes.Structure

AD&ポジション情報構造体です.

Ad

AD値

Type:ctypes.c_short * 4
Pos

論理座標系機械位置

Type:ctypes.c_long * 9
Ad

Structure/Union member

Pos

Structure/Union member

class pyfinemotion.rt64ecdata.ASSAXISTBL

Bases: _ctypes.Structure

軸割り当てテーブル構造体です.

axis_en

有効軸フラグ

Type:ctypes.c_int64
ass_axis

軸割り当てテーブル

Type:ASS_AXIS * 9
ass_axis

Structure/Union member

axis_en

Structure/Union member

class pyfinemotion.rt64ecdata.ASS_AXIS

Bases: _ctypes.Structure

軸割り当て情報構造体です.

tsk

タスク番号

Type:ctypes.c_byte
axn

論理軸番号

Type:ctypes.c_byte
axn

Structure/Union member

tsk

Structure/Union member

class pyfinemotion.rt64ecdata.AXCTRLCHG

Bases: _ctypes.Structure

各軸制御モード変更コマンドパラメータ構造体です.

CtrlSw

制御モード指定スイッチ

Type:ctypes.c_ushort * 9
CtrlSw

Structure/Union member

class pyfinemotion.rt64ecdata.AXINTLK

Bases: _ctypes.Structure

軸インタロック設定コマンドパラメータ構造体です.

IntlkSw

各軸インタロック指定スイッチ

Type:ctypes.c_ushort * 9
IntlkSw

Structure/Union member

class pyfinemotion.rt64ecdata.AXIS_PARAMETER

Bases: _ctypes.Structure

パラメータデータ構造体です.

InPos

INPOS量 [pls]

Type:ctypes.c_long
ErMax

偏差上限値 [pls]

Type:ctypes.c_long
Reserved0

未使用

Type:ctypes.c_ubyte*4
Ka

補間時定数 [msec]

Type:ctypes.c_long
SKa

S字補間時定数 [msec]

Type:ctypes.c_long
Dx

PTP時定数 [msec]

Type:ctypes.c_long
PtpFeed

PTP速度 [pls/sec]

Type:ctypes.c_long
JogFeed

JOG送り速度 [pls/sec]

Type:ctypes.c_long
SoftLimP

ソフトリミット+側 [pls]

Type:ctypes.c_long
SoftLimM

ソフトリミット-側 [pls]

Type:ctypes.c_long
OrgDir

原点復帰方向

Type:ctypes.c_long
OrgOfs

原点距離 [pls]

Type:ctypes.c_long
OrgPos

原点復帰逃げ位置 [pls]

Type:ctypes.c_long
OrgFeed

原点復帰早送り速度 [pls/sec]

Type:ctypes.c_long
AprFeed

原点復帰アプローチ速度 [pls/sec]

Type:ctypes.c_long
SrchFeed

原点復帰最終サーチ速度 [pls/sec]

Type:ctypes.c_long
OrgPri

原点復帰順位

Type:ctypes.c_long
Homepos

ホームポジション位置 [pls]

Type:ctypes.c_long
Homepri

ホームポジション順位

Type:ctypes.c_long
BackL

バックラッシュ補正量 [pls]

Type:ctypes.c_long
Revise

形状補正係数

Type:ctypes.c_long
OrgCsetOfs

原点復帰時論理座標

Type:ctypes.c_long
handle_max

ジョイスティック/ハンドル最大送り速度

Type:ctypes.c_long
handle_ka

ジョイスティック/ハンドル加減速時定数

Type:ctypes.c_long
Reserved1

未使用

Type:ctypes.c_ubyte*44
AprFeed

Structure/Union member

BackL

Structure/Union member

Dx

Structure/Union member

ErMax

Structure/Union member

Homepos

Structure/Union member

Homepri

Structure/Union member

InPos

Structure/Union member

JogFeed

Structure/Union member

Ka

Structure/Union member

OrgCsetOfs

Structure/Union member

OrgDir

Structure/Union member

OrgFeed

Structure/Union member

OrgOfs

Structure/Union member

OrgPos

Structure/Union member

OrgPri

Structure/Union member

PtpFeed

Structure/Union member

Reserved0

Structure/Union member

Reserved1

Structure/Union member

Revise

Structure/Union member

SKa

Structure/Union member

SoftLimM

Structure/Union member

SoftLimP

Structure/Union member

SrchFeed

Structure/Union member

handle_ka

Structure/Union member

handle_max

Structure/Union member

class pyfinemotion.rt64ecdata.AXIS_POINT

Bases: _ctypes.Structure

位置決めポイントテーブルデータ構造体です.(36Byte固定長)

AxisPos

各軸アブソ位置

Type:ctypes.c_long * 9
AxisPos

Structure/Union member

class pyfinemotion.rt64ecdata.AXMV

Bases: _ctypes.Structure

独立位置決めコマンドパラメータ構造体です.

AxisFlg

軸フラグ

Type:ctypes.c_long
PosAxis

移動量/目標位置

Type:ctypes.c_long*9
Feed

移動速度 [pls/sec]

Type:ctypes.c_long*9
AxisFlg

Structure/Union member

Feed

Structure/Union member

PosAxis

Structure/Union member

class pyfinemotion.rt64ecdata.AXNGLCT

Bases: _ctypes.Structure

軸ネグレクト設定コマンドパラメータ構造体です.

NeglectSw

各軸ネグレクト指定スイッチ

Type:ctypes.c_ushort * 9
NeglectSw

Structure/Union member

class pyfinemotion.rt64ecdata.AXSTATUS

Bases: _ctypes.Structure

各軸情報構造体です. (48Byte)

AxStatus

軸ステータス

Type:ctypes.c_long
AxAlarm

軸アラーム

Type:ctypes.c_long
ComReg

指令位置

Type:ctypes.c_long
PosReg

機械位置

Type:ctypes.c_long
ErrReg

偏差量

Type:ctypes.c_long
BlockSeg

最新ブロック払い出し量

Type:ctypes.c_long
AbsReg

絶対位置

Type:ctypes.c_long
Reserved

予約

Type:ctypes.c_byte * 20
AbsReg

Structure/Union member

AxAlarm

Structure/Union member

AxStatus

Structure/Union member

BlockSeg

Structure/Union member

ComReg

Structure/Union member

ErrReg

Structure/Union member

PosReg

Structure/Union member

Reserved

Structure/Union member

Trq

Structure/Union member

class pyfinemotion.rt64ecdata.BINPRG_BLOCK

Bases: _ctypes.Structure

プログラム1ブロックデータ構造体です.(104Byte固定長)

Reserved1

予約

Type:ctypes.c_ubyte * 101
PrgType

プログラムコードタイプ(0:T、 1:G)

Type:ctypes.c_ubyte
Reserved2

未使用

Type:ctypes.c_ubyte * 2
PrgType

Structure/Union member

Reserved1

Structure/Union member

Reserved2

Structure/Union member

class pyfinemotion.rt64ecdata.BINPRG_LABEL

Bases: _ctypes.Structure

プログラムボリュームラベル構造体です.(104Byte固定長)

BINPRG_LABEL

予約

Type:ctypes.c_ubyte * 2
BlockNumber

有効ブロック長

Type:ctypes.c_ushort
Reserved2

予約

Type:ctypes.c_ubyte * 22
ProgramType

プログラムコードタイプ(0:T、 1:G)

Type:ctypes.c_ushort
Reserved3

予約

Type:ctypes.c_ubyte * 76
BINPRG_LABEL

Structure/Union member

BlockNumber

Structure/Union member

ProgramType

Structure/Union member

Reserved2

Structure/Union member

Reserved3

Structure/Union member

class pyfinemotion.rt64ecdata.BLKCPYDATA

Bases: _ctypes.Structure

プログラムブロック コピーコマンドパラメータ構造体です.

SrcPno

コピー元P番号(1-32767)

Type:ctypes.c_short
DstBlk

コピー先先頭BLOCK番号(0~63)

Type:ctypes.c_short
DstPno

コピー後P番号(1-32767)

Type:ctypes.c_short
DstTask

コピー後タスク番号(0-7)

Type:ctypes.c_short
DstBlk

Structure/Union member

DstPno

Structure/Union member

DstTask

Structure/Union member

SrcPno

Structure/Union member

class pyfinemotion.rt64ecdata.BLKDLDATA

Bases: _ctypes.Structure

プログラムブロック 削除コマンドパラメータ構造体です.

Pno

削除対象のP番号(1-32767)

Type:ctypes.c_short
Pno

Structure/Union member

class pyfinemotion.rt64ecdata.BLKMVDATA

Bases: _ctypes.Structure

プログラムブロック 移動コマンドパラメータ構造体です.

SrcPno

移動対象P番号(1-32767)

Type:ctypes.c_short
DstBlk

移動先先頭BLOCK番号(0~63)

Type:ctypes.c_short
DstBlk

Structure/Union member

SrcPno

Structure/Union member

class pyfinemotion.rt64ecdata.COMPINPUT

Bases: _ctypes.Structure

汎用入力強制制御コマンドパラメータ構造体です.

InCmd
Type:IO_CMD * 116
InCmd

Structure/Union member

class pyfinemotion.rt64ecdata.COMPIOBIT

Bases: _ctypes.Structure

汎用入出力強制制御コマンドパラメータ構造体です.

Pno

入出力ポート番号

Type:ctypes.c_ushort
Bno

制御ビット番号

Type:ctypes.c_ushort
Flg

制御フラグ

Type:ctypes.c_ushort
Bno

Structure/Union member

Flg

Structure/Union member

Pno

Structure/Union member

class pyfinemotion.rt64ecdata.COMPOUTPUT

Bases: _ctypes.Structure

汎用出力強制制御コマンドパラメータ構造体です.

OutCmd
Type:IO_CMD * 64
OutCmd

Structure/Union member

class pyfinemotion.rt64ecdata.COORDSET

Bases: _ctypes.Structure

座標系設定コマンドパラメータ構造体です.

AxisFlag

設定軸選択フラグ

Type:ctypes.c_ulong
PosAxis

第1~第9軸設定座標

Type:ctypes.c_long * 9
AxisFlag

Structure/Union member

PosAxis

Structure/Union member

class pyfinemotion.rt64ecdata.CYCLECHG

Bases: _ctypes.Structure

サイクル運転モード変更コマンドパラメータ構造体です.

cycle

サイクル運転有効フラグ

Type:ctypes.c_short
cycle

Structure/Union member

class pyfinemotion.rt64ecdata.CYCLETIME

Bases: _ctypes.Structure

通信周期設定値構造体です.

CycleTime

制御周期[us]

Type:ctypes.c_ulong
CycleTime

Structure/Union member

CycleTimeNow

Structure/Union member

class pyfinemotion.rt64ecdata.DNCBUFI

Bases: _ctypes.Structure

DNCバッファ情報構造体です.

Size

バッファ使用容量(Byte)

Type:ctypes.c_long
Free

バッファ空き容量(Byte)

Type:ctypes.c_long
Free

Structure/Union member

Size

Structure/Union member

class pyfinemotion.rt64ecdata.ECT_AXSTATUS

Bases: _ctypes.Structure

EtherCAT軸ステータス情報構造体です.

mst_axNotifiCode

EtherCATマスター通知コード

Type:ctypes.c_ulong
mst_axcom_errc

EtherCATマスター通知エラーコード

Type:ctypes.c_ulong
ControlWord

ControlWord(6040h)

Type:ctypes.c_ushort
StatusWord

StatusWord(6041h)

Type:ctypes.c_ushort
ModesOfOpe

ModesOfOperation(6060h)

Type:ctypes.c_byte
ModesOfOpeDisp

ModesOfOperationDisplay(6061h)

Type:ctypes.c_byte
Alignment
Type:ctypes.c_byte
TouchProbeFunc

TouchProbeFunction(60B8h)

Type:ctypes.c_ushort
TouchProbeStat

TouchProbeStatus(60B9h)

Type:ctypes.c_ushort
DigitalInputs

Digital inputs(60FDh)

Type:ctypes.c_ulong
Reserved

予約

Type:ctypes.c_byte
Alignment

Structure/Union member

ControlWord

Structure/Union member

DigitalInputs

Structure/Union member

ModesOfOpe

Structure/Union member

ModesOfOpeDisp

Structure/Union member

Reserved

Structure/Union member

StatusWord

Structure/Union member

TouchProbeFunc

Structure/Union member

TouchProbeStat

Structure/Union member

mst_axNotifiCode

Structure/Union member

mst_axcom_errc

Structure/Union member

class pyfinemotion.rt64ecdata.ECT_INFO64ALL

Bases: _ctypes.Structure

EtherCAT軸情報構造体64軸です.

WholeStat
Type:ECT_WHOLESTATUS
AxStat
Type:ECT_AXSTATUS*9
AxStat

Structure/Union member

WholeStat

Structure/Union member

class pyfinemotion.rt64ecdata.ECT_INFOALL

Bases: _ctypes.Structure

EtherCAT軸情報構造体9軸です.

WholeStat
Type:ECT_WHOLESTATUS
AxStat
Type:ECT_AXSTATUS*9
AxStat

Structure/Union member

WholeStat

Structure/Union member

class pyfinemotion.rt64ecdata.ECT_INFOAX

Bases: _ctypes.Structure

EtherCAT軸情報構造体です.

WholeStat
Type:ECT_WHOLESTATUS
AxStat
Type:ECT_AXSTATUS
AxStat

Structure/Union member

WholeStat

Structure/Union member

class pyfinemotion.rt64ecdata.ECT_MON

Bases: _ctypes.Structure

EtherCAT送受信データ構造体です.

dat
Type:ctypes.c_byte*64
dat

Structure/Union member

class pyfinemotion.rt64ecdata.ECT_WHOLESTATUS

Bases: _ctypes.Structure

EtherCAT全体ステータス情報構造体です.

mst_init_errc

EtherCATマスター初期化エラーコード

Type:ctypes.c_short
mst_ESM

EtherCAT ESM(EtherCAT State Machine)

Type:ctypes.c_short
Alignment

送りオーバーライド設定

Type:ctypes.c_byte
mst_NotifiCode

EtherCATマスター通知コード

Type:ctypes.c_ulong
mst_whcom_errc

EtherCATマスター全体エラーコード

Type:ctypes.c_ulong
mst_axcom_err

選択・実行EtherCATマスターエラー発生軸フラグプログラム番号

Type:ctypes.c_int64
no_rcv_err

データ受信エラー発生軸フラグ

Type:ctypes.c_int64
time_out_err

タイムアウトエラー発生軸フラグ

Type:ctypes.c_int64
watchdog_err

WDTエラー発生軸フラグ

Type:ctypes.c_int64
Reserved

予約

Type:ctypes.c_byte*16
Alignment

Structure/Union member

Reserved

Structure/Union member

mst_ESM

Structure/Union member

mst_NotifiCode

Structure/Union member

mst_axcom_err

Structure/Union member

mst_init_errc

Structure/Union member

mst_whcom_errc

Structure/Union member

no_rcv_err

Structure/Union member

time_out_err

Structure/Union member

watchdog_err

Structure/Union member

class pyfinemotion.rt64ecdata.FORTIME

Bases: _ctypes.Structure

フォアグランド処理時間格納構造体です.

ForMax

最大処理時間[us]

Type:ctypes.c_ulong
ForNow

現在処理時間[us]

Type:ctypes.c_ulong
ForMax

Structure/Union member

ForNow

Structure/Union member

class pyfinemotion.rt64ecdata.GENERATION

Bases: _ctypes.Structure

バックアップメモリ初期化コマンドパラメータ構造体です.

InitCmnd

初期化データ選択フラグ

Type:ctypes.c_ushort
InitCmnd

Structure/Union member

class pyfinemotion.rt64ecdata.HANDLEAXIS

Bases: _ctypes.Structure

手パ軸パラメータ構造体です.

axis

手パ有効軸

Type:ctypes.c_long
axis

Structure/Union member

class pyfinemotion.rt64ecdata.HANDLEKP

Bases: _ctypes.Structure

手パ倍率パラメータ構造体です.

kp

手パ倍率

Type:ctypes.c_long
kp

Structure/Union member

class pyfinemotion.rt64ecdata.HANDLEMODE

Bases: _ctypes.Structure

手パモード構造体です.

mode

手パモード

Type:ctypes.c_short
mode

Structure/Union member

class pyfinemotion.rt64ecdata.HANDLESTS

Bases: _ctypes.Structure

手パ操作情報構造体です.

handle_mode

手パ有効フラグ

Type:ctypes.c_short
kp

手パ設定倍率

Type:ctypes.c_short
ax1

手パ第1軸

Type:ctypes.c_short
ax2

手パ第2軸

Type:ctypes.c_short
ax1

Structure/Union member

ax2

Structure/Union member

handle_mode

Structure/Union member

kp

Structure/Union member

class pyfinemotion.rt64ecdata.IODATA

Bases: _ctypes.Structure

汎用入出力情報構造体です.

Input

汎用入力

Type:ctypes.c_ushort * 116
Output

汎用出力

Type:ctypes.c_ushort * 64
Input

Structure/Union member

Output

Structure/Union member

class pyfinemotion.rt64ecdata.IO_CMD

Bases: _ctypes.Structure

汎用入力/出力強制制御コマンドパラメータサブ構造体です.

IoBit

汎用入出力D0~15ビット変更コマンド

Type:ctypes.c_ubyte * 16
IoBit

Structure/Union member

class pyfinemotion.rt64ecdata.JOGSTART

Bases: _ctypes.Structure

JOG移動開始コマンドパラメータ構造体です.

AxisFlag

移動軸選択フラグ

Type:ctypes.c_ushort
JogVect

軸移動方向フラグ

Type:ctypes.c_ushort
AxisFlag

Structure/Union member

JogVect

Structure/Union member

class pyfinemotion.rt64ecdata.LIMASTART

Bases: _ctypes.Structure

LIMA指令コマンドパラメータ構造体です.

PntNo

ポイント番号

Type:ctypes.c_long
AxisFlag

軸フラグ

Type:ctypes.c_long
Feed

補間送り速度 [pls/sec]

Type:ctypes.c_long
AxisFlag

Structure/Union member

Feed

Structure/Union member

PntNo

Structure/Union member

class pyfinemotion.rt64ecdata.LINASTART

Bases: _ctypes.Structure

ABSO 補間移動開始コマンドパラメータ構造体です.

AxisFlag

移動軸選択フラグ

Type:ctypes.c_ulong
PosAxis

各軸位置決めポジション

Type:ctypes.c_long * 9
Feed

補間送り速度 [pls/sec]

Type:ctypes.c_long
AxisFlag

Structure/Union member

Feed

Structure/Union member

PosAxis

Structure/Union member

class pyfinemotion.rt64ecdata.LINSTART

Bases: _ctypes.Structure

補間移動開始コマンドパラメータ構造体です.

AxisFlag

移動軸選択フラグ

Type:ctypes.c_ulong
IncAxis

各軸インクリメント移動量

Type:ctypes.c_long * 9
Feed

補間送り速度 [pls/sec]

Type:ctypes.c_long
AxisFlag

Structure/Union member

Feed

Structure/Union member

IncAxis

Structure/Union member

class pyfinemotion.rt64ecdata.MCRREG

Bases: _ctypes.Structure

マクロ変数データ構造体です.

Val

マクロ変数値

Type:ctypes.c_long
Val

Structure/Union member

class pyfinemotion.rt64ecdata.MCRVALSET

Bases: _ctypes.Structure

マクロ変数書込コマンドパラメータ構造体です.

RegNo

マクロ変数番号

Type:ctypes.c_long
Val

マクロ変数値

Type:ctypes.c_long
RegNo

Structure/Union member

Val

Structure/Union member

class pyfinemotion.rt64ecdata.MCSTATUS

Bases: _ctypes.Structure

全体情報構造体です. (16Byte)

Status

全体ステータス

Type:ctypes.c_long
Alarm

全体アラーム

Type:ctypes.c_long
Reserved

予約

Type:ctypes.c_byte * 8
Alarm

Structure/Union member

Reserved

Structure/Union member

Status

Structure/Union member

class pyfinemotion.rt64ecdata.MODECHG

Bases: _ctypes.Structure

動作モード変更コマンドパラメータ構造体です.

mode

動作モード

Type:ctypes.c_short
mode

Structure/Union member

class pyfinemotion.rt64ecdata.OPTIONPRM_DATA

Bases: _ctypes.Structure

オプションパラメータデータ構造体です. (512Byte固定長)

Reserved

未使用

Type:ctypes.c_ubyte * 512
Reserved

Structure/Union member

class pyfinemotion.rt64ecdata.OUTMCD

Bases: _ctypes.Structure

Mコード出力コマンドパラメータ構造体です.

mcd

出力Mコード

Type:ctypes.c_ushort
mcd

Structure/Union member

class pyfinemotion.rt64ecdata.OUTPUTPAT

Bases: _ctypes.Structure

汎用出力直接制御コマンドパラメータ構造体です.

OutputPat

汎用出力

Type:ctypes.c_ushort * 12
OutputPat

Structure/Union member

class pyfinemotion.rt64ecdata.OVERCHG

Bases: _ctypes.Structure

軸速度オーバーライド変更コマンドパラメータ構造体です.

Override

オーバーライド設定値

Type:ctypes.c_ushort
Override

Structure/Union member

class pyfinemotion.rt64ecdata.PARAMETER_DATA

Bases: _ctypes.Structure

全軸パラメーター構造体です. (9080Byte)

Attibutes:
AXIS_PARAMETER (AXIS_PARAMETER*64): 各軸パラメータ ADD_PARAMETER (ADD_PARAMETER): 特殊パラメータ
AxisParam

Structure/Union member

adp

Structure/Union member

class pyfinemotion.rt64ecdata.PITCH_ERR_REV

Bases: _ctypes.Structure

ピッチエラー補正用パラメータ情報構造体です.(4320Byte固定長)

RevAx

各軸補正用パラメータ

Type:RevAx * 64
RevDt

補正データ

Type:ctypes.c_byte * 33280
RevAx

Structure/Union member

RevDt

Structure/Union member

class pyfinemotion.rt64ecdata.PRGBLK_INF

Bases: _ctypes.Structure

プログラムブロック情報構造体です.(256Byte)

inf

プログラムブロック情報構造体

Type:PRGBLK_SRUCT * 64
inf

Structure/Union member

class pyfinemotion.rt64ecdata.PRGBLK_SRUCT

Bases: _ctypes.Structure

プログラムブロック情報構造体です.

PrgNo

プログラム番号

Type:ctypes.c_short
TaskNo

タスク番号

Type:ctypes.c_short
PrgNo

Structure/Union member

TaskNo

Structure/Union member

class pyfinemotion.rt64ecdata.PROGSEL

Bases: _ctypes.Structure

プログラム選択コマンドパラメータ構造体です.

ProgSel

選択プログラム番号

Type:ctypes.c_ushort
ProgSel

Structure/Union member

class pyfinemotion.rt64ecdata.PTPASTART

Bases: _ctypes.Structure

ABSO PTP移動開始コマンドパラメータ構造体です.

AxisFlag

移動軸選択フラグ

Type:ctypes.c_ulong
PosAxis

各軸位置決めポジション

Type:ctypes.c_long * 9
AxisFlag

Structure/Union member

PosAxis

Structure/Union member

class pyfinemotion.rt64ecdata.PTPSTART

Bases: _ctypes.Structure

PTP移動開始コマンドパラメータ構造体です.

AxisFlag

移動軸選択フラグ

Type:ctypes.c_ulong
IncAxis

各軸インクリメント移動量

Type:ctypes.c_long
AxisFlag

Structure/Union member

IncAxis

Structure/Union member

class pyfinemotion.rt64ecdata.REV_AX

Bases: _ctypes.Structure

ピッチエラー補正用各軸補正用パラメータです.(20Byte)

RevMagnify

補正倍率

Type:ctypes.c_ulong
RevSpace

補正間隔

Type:ctypes.c_ulong
RevSpace

補正データ先頭番号

Type:ctypes.c_ulong
RevSpace

-側補正区間数

Type:ctypes.c_ulong
RevSpace

+側補正区間数

Type:ctypes.c_ulong
RevMCnt

Structure/Union member

RevMagnify

Structure/Union member

RevPCnt

Structure/Union member

RevSpace

Structure/Union member

RevTopNo

Structure/Union member

class pyfinemotion.rt64ecdata.ROMVERSION

Bases: _ctypes.Structure

ROMバージョン情報構造体です.

Version
Type:ctypes.c_ubyte * 16
EvenSum

SUM:even (rom)

Type:ctypes.c_ushort
OddSum

SUM:odd (rom)

Type:ctypes.c_ushort
FlashSum

SUM:SH内部FLASH

Type:ctypes.c_ushort
FlashFlg

SH内部FLASH使用フラグ

Type:ctypes.c_short
KindID

機種ID

Type:ctypes.c_ulong
SerialID

シリアルID

Type:ctypes.c_ulong
ProductID

プロダクトID

Type:ctypes.c_ulong
Reserved

予約

Type:ctypes.c_byte * 18
EvenSum

Structure/Union member

FlashFlg

Structure/Union member

FlashSum

Structure/Union member

KindID

Structure/Union member

OddSum

Structure/Union member

ProductID

Structure/Union member

Reserved

Structure/Union member

SerialID

Structure/Union member

Version

Structure/Union member

class pyfinemotion.rt64ecdata.RTCTIME

Bases: _ctypes.Structure

RTC処理時間格納構造体です.

RtcMax

最大処理時間[us]

Type:ctypes.c_ulong
RtcNow

現在処理時間[us]

Type:ctypes.c_ulong
RtcMax

Structure/Union member

RtcNow

Structure/Union member

class pyfinemotion.rt64ecdata.SENSEPOS

Bases: _ctypes.Structure

センサーラッチ位置情報構造体です.

SenPos

センサーラッチポジション(論理座標系)

Type:ctypes.c_long * 9
SenPosA

センサーラッチポジション(アブソ座標系)

Type:ctypes.c_long * 9
SenPos

Structure/Union member

SenPosA

Structure/Union member

class pyfinemotion.rt64ecdata.SLINASTART

Bases: _ctypes.Structure

高速センサーラッチ補間移動開始コマンドパラメータ構造体です.(ABSO)

AxisFlag

移動軸選択フラグ

Type:ctypes.c_ulong
IncAxis

各軸位置決めポジション

Type:ctypes.c_long * 9
Feed

補間送り速度 [pls/sec]

Type:ctypes.c_long
NoSkipF

スキップ抑制フラグ

Type:ctypes.c_short
Reserve

予約

Type:ctypes.c_short
AxisFlag

Structure/Union member

Feed

Structure/Union member

IncAxis

Structure/Union member

NoSkipF

Structure/Union member

Reserve

Structure/Union member

class pyfinemotion.rt64ecdata.SLINSTART

Bases: _ctypes.Structure

高速センサーラッチ補間移動開始コマンドパラメータ構造体です.

AxisFlag

移動軸選択フラグ

Type:ctypes.c_ulong
IncAxis

各軸インクリメント移動量

Type:ctypes.c_long * 9
Feed

補間送り速度 [pls/sec]

Type:ctypes.c_long
NoSkipF

スキップ抑制フラグ

Type:ctypes.c_short
Reserve

予約

Type:ctypes.c_short
AxisFlag

Structure/Union member

Feed

Structure/Union member

IncAxis

Structure/Union member

NoSkipF

Structure/Union member

Reserve

Structure/Union member

class pyfinemotion.rt64ecdata.SPCMND

Bases: _ctypes.Structure

主軸ON/OFFコマンドパラメータ構造体です.

SpOut

主軸指令フラグ

Type:ctypes.c_short
SpOut

Structure/Union member

class pyfinemotion.rt64ecdata.SPINAX

Bases: _ctypes.Structure

回転軸回転動作コマンドパラメータ構造体です.

OverFlag

オーバーライドフラグ

Type:ctypes.c_short
AxisFlag

移動軸選択フラグ

Type:ctypes.c_ushort
RevAx

各軸回転数

Type:ctypes.c_long * 9
AxisFlag

Structure/Union member

OverFlag

Structure/Union member

RevAx

Structure/Union member

class pyfinemotion.rt64ecdata.SPREVDAT

Bases: _ctypes.Structure

主軸回転数情報構造体です.

ComSpRevo

主軸指令回転数

Type:ctypes.c_long
ActSpRevo

主軸実回転数

Type:ctypes.c_long
ActSpRevo

Structure/Union member

ComSpRevo

Structure/Union member

class pyfinemotion.rt64ecdata.SPREVSET

Bases: _ctypes.Structure

主軸回転数変更コマンドパラメータ構造体です.

SpRevo

主軸回転数

Type:ctypes.c_ulong
SpRevo

Structure/Union member

class pyfinemotion.rt64ecdata.STATUS

Bases: _ctypes.Structure

アンサーステータス情報構造体です.

mc

全体情報

Type:MCSTATUS
ax

各軸情報

Type:AXSTATUS * 8
task

タスク情報

Type:TASKSTATUS * 8
ax

Structure/Union member

mc

Structure/Union member

task

Structure/Union member

class pyfinemotion.rt64ecdata.STEPCHG

Bases: _ctypes.Structure

ティーチングステップ変更コマンドパラメータ構造体です.

StepNo

ステップ番号

Type:ctypes.c_ulong
StepNo

Structure/Union member

class pyfinemotion.rt64ecdata.SVONOFFCHG

Bases: _ctypes.Structure

各軸サーボON/OFFコマンドパラメータ構造体です.

SvOnSw

サーボON/OFF指定スイッチ

Type:ctypes.c_ushort * 9
SvOnSw

Structure/Union member

class pyfinemotion.rt64ecdata.TASKSTATUS

Bases: _ctypes.Structure

タスク情報構造体です. (32Byte)

TaskStatus

タスクステータス

Type:ctypes.c_long
TaskAlarm

タスクアラーム

Type:ctypes.c_long
Override

送りオーバーライド設定

Type:ctypes.c_short
COverride

補間オーバーライド設定

Type:ctypes.c_short
SOverride

主軸オーバーライド設定

Type:ctypes.c_short
ProgramNo

選択・実行プログラム番号

Type:ctypes.c_short
StepNo

実行ステップ番号

Type:ctypes.c_ulong
Reserved

予約

Type:ctypes.c_byte * 12
COverride

Structure/Union member

Override

Structure/Union member

ProgramNo

Structure/Union member

Reserved

Structure/Union member

SOverride

Structure/Union member

StepNo

Structure/Union member

TaskAlarm

Structure/Union member

TaskStatus

Structure/Union member

class pyfinemotion.rt64ecdata.TEACHSTS

Bases: _ctypes.Structure

ティーチング情報用パラメータ情報構造体です.

Status

ティーチングステータス

Type:ctypes.c_ulong
StepNo

実行ステップ番号

Type:ctypes.c_ulong
TchStepNo

ティーチングステップ番号

Type:ctypes.c_ulong
Reserved

未使用

Type:ctypes.c_ulong
Reserved

Structure/Union member

Status

Structure/Union member

StepNo

Structure/Union member

TchStepNo

Structure/Union member

class pyfinemotion.rt64ecdata.TLINESW

Bases: _ctypes.Structure

Z軸接線制御ON/OFFコマンドパラメータ構造体です.

tlinesw

Z軸接線制御機能スイッチ

Type:ctypes.c_ushort
tlinesw

Structure/Union member

class pyfinemotion.rt64ecdata.TOOLDERR

Bases: _ctypes.Structure

工具径補正エラー情報構造体です.

StepNo

エラー発生ステップ番号

Type:ctypes.c_ulong
ErrCode

エラーコード

Type:ctypes.c_long
Reserved

未使用

Type:ctypes.c_ubyte * 8
ErrCode

Structure/Union member

Reserved

Structure/Union member

StepNo

Structure/Union member

class pyfinemotion.rt64ecdata.TOOLDSTS

Bases: _ctypes.Structure

工具径補正情報構造体です.

toold_en

補正有効フラグ

Type:ctypes.c_short
toold_no

選択中補正No

Type:ctypes.c_short
toold_en

Structure/Union member

toold_no

Structure/Union member

class pyfinemotion.rt64ecdata.TOOLHSTS

Bases: _ctypes.Structure

工具長補正情報構造体です.

toolh_en

補正有効フラグ

Type:ctypes.c_short
toolh_no

選択中補正No

Type:ctypes.c_short
toolh_en

Structure/Union member

toolh_no

Structure/Union member

class pyfinemotion.rt64ecdata.TOOL_D

Bases: _ctypes.Structure

ツール径補正用パラメータ情報構造体です.(80Byte)

d

ツール径補正データ

Type:ctypes.c_long * 20
d

Structure/Union member

class pyfinemotion.rt64ecdata.TOOL_H

Bases: _ctypes.Structure

ツール長補正用パラメータ情報構造体です.(80Byte)

h

ツール長補正データ

Type:ctypes.c_long * 20
h

Structure/Union member

class pyfinemotion.rt64ecdata.TPC

Bases: _ctypes.Structure

TPCデータ構造体です.

pr1

第1軸機械位置

Type:ctypes.c_long
hi1

汎用入力1状態

Type:ctypes.c_ushort
ho1

汎用出力1状態

Type:ctypes.c_ushort
pr2

第2軸機械位置

Type:ctypes.c_long
hi2

汎用入力2状態

Type:ctypes.c_ushort
ho2

汎用出力2状態

Type:ctypes.c_ushort
hi1

Structure/Union member

hi2

Structure/Union member

ho1

Structure/Union member

ho2

Structure/Union member

pr1

Structure/Union member

pr2

Structure/Union member

class pyfinemotion.rt64ecdata.TPCDAT_ECT_16BYTE

Bases: _ctypes.Structure

TPCH_LOG_ECT用です.

dt
Type:ctypes.c_ubyte*16
dt

Structure/Union member

class pyfinemotion.rt64ecdata.TPCDAT_ECT_32BYTE

Bases: _ctypes.Structure

TPCH_LOG_ECT用です.

dt
Type:ctypes.c_ubyte*32
dt

Structure/Union member

class pyfinemotion.rt64ecdata.TPCDAT_ECT_48BYTE

Bases: _ctypes.Structure

TPCH_LOG_ECT用です.

dt
Type:ctypes.c_ubyte*48
dt

Structure/Union member

class pyfinemotion.rt64ecdata.TPCDAT_ECT_64BYTE

Bases: _ctypes.Structure

TPCH_LOG_ECT用です.

dt
Type:ctypes.c_ubyte*64
dt

Structure/Union member

class pyfinemotion.rt64ecdata.TPCDAT_POS

Bases: _ctypes.Structure

TPCデータ構造体です.

pr1

第1軸機械位置

Type:ctypes.c_long
hi1

汎用入力1状態

Type:ctypes.c_ushort
ho1

汎用出力1状態

Type:ctypes.c_ushort
pr2

第2軸機械位置

Type:ctypes.c_long
hi2

汎用入力2状態

Type:ctypes.c_ushort
ho2

汎用出力2状態

Type:ctypes.c_ushort
hi1

Structure/Union member

hi2

Structure/Union member

ho1

Structure/Union member

ho2

Structure/Union member

pr1

Structure/Union member

pr2

Structure/Union member

class pyfinemotion.rt64ecdata.TPCINFO

Bases: _ctypes.Structure

TPCロギング情報構造体です.

Log

TPCデータロギングフラグ

Type:ctypes.c_short
Num

TPCデータロギングポイント数

Type:ctypes.c_short
Log

Structure/Union member

Num

Structure/Union member

class pyfinemotion.rt64ecdata.TPCINFOEX

Bases: _ctypes.Structure

64CHTPCロギング情報構造体です.

Log

ロギング中フラグ゙

Type:ctypes.c_short
Reserved

予約

Type:ctypes.c_short
Size

バッファ使用容量(Byte)

Type:ctypes.c_long
Free

バッファ空き容量(Byte)

Type:ctypes.c_long
Free

Structure/Union member

Log

Structure/Union member

Reserved

Structure/Union member

Size

Structure/Union member

class pyfinemotion.rt64ecdata.TPCSEL

Bases: _ctypes.Structure

TPCデータ選択コマンドパラメータ構造体です.

ax1

第1ポジション番号

Type:ctypes.c_short
hi1

第1入力信号番号

Type:ctypes.c_short
ho1

第1出力信号番号

Type:ctypes.c_short
ax2

第2ポジション番号

Type:ctypes.c_short
hi2

第2入力信号番号

Type:ctypes.c_short
ho2

第2出力信号番号

Type:ctypes.c_short
ax1

Structure/Union member

ax2

Structure/Union member

hi1

Structure/Union member

hi2

Structure/Union member

ho1

Structure/Union member

ho2

Structure/Union member

class pyfinemotion.rt64ecdata.TPCSEL_64CH

Bases: _ctypes.Structure

TPC64CHロギング項目通知構造体です.

h

ヘッダ情報

Type:TPCSEL_HEADER
ch

ロギングチャンネル

Type:TPCSEL_CH
ch

Structure/Union member

h

Structure/Union member

class pyfinemotion.rt64ecdata.TPCSEL_ATTR

Bases: _ctypes.Structure

64CHロギング要求です. .. attribute:: item

属性項目

type:c_long
val

属性値

Type:c_long
item

Structure/Union member

val

Structure/Union member

class pyfinemotion.rt64ecdata.TPCSEL_CH

Bases: _ctypes.Structure

TPCロギング項目通知構造体です.

log_item

ロギング項目

Type:c_short
Reserved

予約

Type:c_byte
attribute

ロギング項目属性

Type:TPCSEL_ATTR
Reserved

Structure/Union member

attribute

Structure/Union member

log_item

Structure/Union member

class pyfinemotion.rt64ecdata.TPCSEL_ECT

Bases: _ctypes.Structure

EtherCAT通信ロギング要求です.

sel

ヘッダ情報

Type:TPCSEL_HEADER
ax_sel

ロギング軸選択(論理軸)

Type:ctypes.c_short
dt_sel

ロギングデータサイズ選択

Type:ctypes.c_short
sr_sel

ロギング通信方向選択

Type:ctypes.c_short
ax_sel

Structure/Union member

dt_sel

Structure/Union member

sel

Structure/Union member

sr_sel

Structure/Union member

class pyfinemotion.rt64ecdata.TPCSEL_HEADER

Bases: _ctypes.Structure

TPCデータ選択コマンドパラメータ構造体です.

LogSel

ロギング種別選択

Type:c_short
TrigSel

トリガ選択

Type:c_short
Interval

ロギング周期[msec]

Type:c_short
Reserved

予約

Type:c_short
Interval

Structure/Union member

LogSel

Structure/Union member

Reserved

Structure/Union member

TrigSel

Structure/Union member

class pyfinemotion.rt64ecdata.TPCSEL_POS

Bases: _ctypes.Structure

ポジション・入出力ロギング要求です.(旧TPCデータ)

sel
Type:TPCSEL_HEADER
h
Type:TPCSEL
h

Structure/Union member

sel

Structure/Union member

class pyfinemotion.rt64ecdata.TRQCMD

Bases: _ctypes.Structure

トルク指令コマンドパラメータ構造体です.

AxisFlg

軸フラグ

Type:ctypes.c_long
Torque

指令トルク [%]

Type:ctypes.c_long*9
VClamp

速度制限 [rpm] (-1:位置制御モード)

Type:ctypes.c_long*9
AxisFlg

Structure/Union member

Torque

Structure/Union member

VClamp

Structure/Union member

class pyfinemotion.rt64ecdata.TRQLIMCHG

Bases: _ctypes.Structure

トルク制限モード変更コマンドパラメータ構造体です.

TrqLimSw

トルク制限モード指定スイッチ

Type:ctypes.c_ushort * 9
TrqLimSw

Structure/Union member

class pyfinemotion.rt64ecdata.VPER

Bases: _ctypes.Structure

VER/PER情報構造体です.

ver
Type:ctypes.c_short
vmp
Type:ctypes.c_short
vmm
Type:ctypes.c_short
per
Type:ctypes.c_short
pmp
Type:ctypes.c_short
pmm
Type:ctypes.c_short
per

Structure/Union member

pmm

Structure/Union member

pmp

Structure/Union member

ver

Structure/Union member

vmm

Structure/Union member

vmp

Structure/Union member

class pyfinemotion.rt64ecdata.ZRNSTART

Bases: _ctypes.Structure

原点復帰移動開始コマンドパラメータ構造体です.

AxisFlag

移動軸選択フラグ

Type:ctypes.c_ushort
AxisFlag

Structure/Union member

class pyfinemotion.rt64ecdata.psxdef

Bases: _ctypes.Structure

通信初期化構造体定義です.

nSize

通信初期化構造体サイズ

Type:ctypes.c_long
fComType
Type:ctypes.c_short
fShare

共有フラグ

Type:ctypes.c_short
fLogging

通信ロギングフラグ

Type:ctypes.c_long
pLogFile

通信ロギングファイル名

Type:ctypes.c_char_p
nCpuNo

CPU番号

Type:ctypes.c_short
nUnitNo

PLMC-M3Ex ユニット番号 [0~7]

Type:ctypes.c_short
nSlotNo

PLMC-M3Ex スロット番号 [1~16]

Type:ctypes.c_short
Reserved

予約

Type:ctypes.c_short
nComPort

PC RS232C通信ポート番号

Type:ctypes.c_short
nStation

パソコンリンクモジュール ステーション番号[1~32]

Type:ctypes.c_short
nComSel

パソコンリンクモジュール 通信速度/パリティ選択

Type:ctypes.c_short
fComFlag

パソコンリンクモジュール 付加データ選択フラグ

Type:ctypes.c_short
nIpAddr

イーサネットモジュール IPアドレス

Type:ctypes.c_ubyte * 4
nIpPort

イーサネットモジュール ポート番号

Type:ctypes.c_ushort
fBinary

イーサネットモジュール バイナリモードフラグ

Type:ctypes.c_short
Reserved

Structure/Union member

fBinary

Structure/Union member

fComFlag

Structure/Union member

fComType

Structure/Union member

fLogging

Structure/Union member

fShare

Structure/Union member

nComPort

Structure/Union member

nComSel

Structure/Union member

nCpuNo

Structure/Union member

nIpAddr

Structure/Union member

nIpPort

Structure/Union member

nSize

Structure/Union member

nSlotNo

Structure/Union member

nStation

Structure/Union member

nUnitNo

Structure/Union member

pLogFile

Structure/Union member

pyfinemotion.commerror

RTMC64-ECを操作した際にエラーが発生した場合に, Pythonが投げるエラーを設定しています.
エラー内容に応じ必要な例外処理を実装してください.

通信ライブラリのエラークラスです.

exception pyfinemotion.commerror.CannotExcCmdError

Bases: pyfinemotion.commerror.Error

コマンド実行不可エラー

exception pyfinemotion.commerror.CommBusyError

Bases: pyfinemotion.commerror.Error

通信ビジーエラー

exception pyfinemotion.commerror.CommDataError

Bases: pyfinemotion.commerror.Error

通信データフォーマットエラー

exception pyfinemotion.commerror.CommHardwareError

Bases: pyfinemotion.commerror.Error

通信ハードウェアエラー

exception pyfinemotion.commerror.CommParamsError

Bases: pyfinemotion.commerror.Error

通信パラメータ設定異常

exception pyfinemotion.commerror.EmptyHandleError

Bases: pyfinemotion.commerror.Error

空き通信ハンドル無しエラー

exception pyfinemotion.commerror.Error

Bases: Exception

pyopen_mcの基底エラー

exception pyfinemotion.commerror.InvalidhandleError

Bases: pyfinemotion.commerror.Error

無効通信ハンドルエラー

exception pyfinemotion.commerror.MultRetryError

Bases: pyfinemotion.commerror.Error

多重リトライ発生エラー

exception pyfinemotion.commerror.NoReqDataError

Bases: pyfinemotion.commerror.Error

要求データが存在しないエラー

exception pyfinemotion.commerror.ParamWriteError

Bases: pyfinemotion.commerror.Error

パラメーター書き込みエラー

exception pyfinemotion.commerror.PrgBuffOverFlowError

Bases: pyfinemotion.commerror.Error

プログラムバッファオーバーフローエラー

exception pyfinemotion.commerror.PrgWriteError

Bases: pyfinemotion.commerror.Error

プログラム書き込み中断エラー

exception pyfinemotion.commerror.ProtectError

Bases: pyfinemotion.commerror.Error

送信データ書き込み不可エラー

exception pyfinemotion.commerror.RetryOverError

Bases: pyfinemotion.commerror.Error

リトライオーバーエラー

exception pyfinemotion.commerror.TimeoverError

Bases: pyfinemotion.commerror.Error

タイムアウト発生エラー

exception pyfinemotion.commerror.UnKnownError

Bases: pyfinemotion.commerror.Error

不明エラー

exception pyfinemotion.commerror.UninitializedError

Bases: pyfinemotion.commerror.Error

デバイス未初期化エラー

pyfinemotion.prgconverror

Tコード又はGコードのプログラムの変換に失敗した場合に, Pythonが投げるエラーを設定しています.
エラー内容に応じ必要な例外処理を実装してください.

運転プログラム変換ライブラリのエラークラスです.

exception pyfinemotion.prgconverror.CompilePrgError

Bases: Exception

プログラム変換演算エラー

exception pyfinemotion.prgconverror.MemoryOverFlowError

Bases: Exception

作業メモリオーバーフローエラー

exception pyfinemotion.prgconverror.OutofRangeError

Bases: Exception

指定値設定範囲外エラー

exception pyfinemotion.prgconverror.PrgBuffOverFlowError

Bases: Exception

プログラムバッファオーバーフローエラー

exception pyfinemotion.prgconverror.PrgErrorLine

Bases: Exception

プログラムエラー行数を表示 TcdGetErrLineでのみ使用

exception pyfinemotion.prgconverror.TxtPrgFileError

Bases: Exception

テキストプログラムファイルエラー

exception pyfinemotion.prgconverror.TxtPrgFmtError

Bases: Exception

テキストプログラムフォーマットエラー

exception pyfinemotion.prgconverror.UnKnownError

Bases: Exception

不明エラー