リモートRS232コマンド

リモート開始

コントローラーのリモートRS232機能を開始します。

EOT

1 Byte

EOT: &H04 (&Hは16進)

リクエストフォーマット

STX

1 Byte

コマンド

1 Byte

データ

可変

ETX

1 Byte

BCC

1 Byte

  • STX: &H02

  • ETX: &H03

  • BCC: 送受信データのチェックサム

    コマンドからETXまでの、1 ByteごとのXOR値

リモートコマンド 送信コマンド データ 内容 入力受付条件(*1)
Login

'L'

&H4C

パスワード

パスワードによる認証を行います。

ログインが正常に実行されると、ログアウトを行うまでコマンドの実行が可能です。

いつでも可能 (*2)
Logout

'l'

&H6C

ログアウト後、再度ログインコマンドを実行することで、リモートRS232機能を開始できます。

タスク実行中にLogoutを実行するとコントローラーのエラーが発生します。

いつでも可能 (*2)
Start

'G'

&H47

ファンクション番号 (1 Byte)

指定番号のファンクションを実行 (*3) (*11)

(例) mainを実行

&H02&H47&H30&H30&H03&H44

Auto オン

Ready オン

Error オフ

EStop オフ

Safeguard オフ

Stop

'Q'

&H51

すべてのタスクと命令を中断 Auto オン
Pause

'P'

&H50

全タスクを一時停止 (*4)

Auto オン

Running オン

Continue

'C'

&H43

一時停止中のタスクを継続実行

Auto オン

Paused オン

Reset

'R'

&H52

非常停止解除とエラー解除 (*5)

Auto オン

Ready オン

SetMotorsOn

'M'

&H4D

ロボット番号

(1 Byte)

ロボットのモーターをオン (*6)(*7)

Auto オン

Ready オン

EStop オフ

Safeguard オフ

SetMotorsOff

'N'

&H4E

ロボット番号

(1 Byte)

ロボットのモーターをオフ (*7)

Auto オン

Ready オン

SetCurRobot

'Y'

&H59

ロボット番号

(1 Byte)

ロボットを選択

Auto オン

Ready オン

GetCurRobot

'y'

&H79

現在のロボット番号を取得

いつでも可能 (*2)

Home

'H'

&H48

ロボット番号

(1 Byte)

ロボットアームをユーザー定義のホーム位置まで移動

Auto オン

Ready オン

Error オフ

EStop オフ

Safeguard オフ

GetIO

'i'

&H69

IOビット番号

(2 Byte)

IOの指定ビット値を取得

(例) IOビット1を取得

&H02&H69&H0001&H03&H6B

いつでも可能 (*2)
SetIO

'I'

&H49

[IOビット番号] (2 Byte)

[値] (1 Byte)

IOの指定ビットに値を設定

ビットをオンする場合 &H01を、

オフする場合 &H00を指定します。

(例) IOビット1をオン

&H02&H49&H0001&H01&H03&H4A

Auto オン

Ready オン

GetIOByte

'b'

&H62

IOポート番号

(1 Byte)

IOの指定ポート値 (8ビット) を取得 (*8)

(例) IOポート1を取得

&H02&H62&H01&H03&H60

いつでも可能 (*2)
SetIOByte

'B'

&H42

[IOポート番号] (1 Byte)

[値] (1 Byte)

IOの指定ポートにバイト (8 ビット) 値を設定 (*8)

(例) IOポート1に&H0Fを設定

&H02&H42&H01&H0F&H03&H4F

Auto オン

Ready オン

GetIOWord

'w'

&H77

IOワード

ポート番号

(1 Byte)

IOの指定ワードポート値 (16 ビット) を取得 (*8)

(例) IOワードポート1を取得

&H02&H77&H01&H03&H75

いつでも可能 (*2)
SetIOWord

'W'

&H57

[IOワード

ポート番号]

(1 Byte) [値]

(2 Byte)

IOの指定ワードポートにワード値 (16 ビット) を設定 (*8)

(例) IOワードポート1に、&H010Fを設定

&H02&H57&H01&H010F&H03&H5B

Auto オン

Ready オン

GetMemIO

'o'

&H6F

メモリーIO

ビット番号

(2 Byte)

メモリーIOの指定ビット値を取得 (*8)

(例) メモリーIOビット1を取得

&H02&H6F&H0001&H03&H6D

いつでも可能(*2)
SetMemIO

'O'

&H4F

[メモリーIO

ビット番号]

(2 Byte) [値]

(1 Byte)

メモリーIOの指定ビットに値を設定 (*8)

ビットをオンする場合 &H01を、

オフする場合 &H00を指定します。

(例) メモリーIOビット1をオン

&H02&H4F&H0001&H01&H03&H4C

Auto オン

Ready オン

GetMemIOByte

't'

&H74

メモリーIO

ポート番号

(1 Byte)

メモリーIOの指定ポート値 (8 ビット) を取得 (*8)

(例) メモリーIOポート1を取得

&H02&H74&H01&H03&H76

いつでも可能(*2)
SetMemIOByte

'T'

&H54

[メモリーIO

ポート番号]

(1 Byte) [値]

(1 Byte)

メモリーIOの指定ポートにバイト (8 ビット) 値を設定 (*8)

(例) メモリーIOポート1に、&H0Fを設定

&H02&H54&H01&H0F&H03&H59

Auto オン

Ready オン

GetMemIOWord

'u'

&H75

メモリーIO

ワードポート

番号 (1 Byte)

メモリーIOの指定ワードポート値 (16 ビット) を取得 (*8)

(例) メモリーIOワードポート1を取得

&H02&H75&H01&H03&H77

いつでも可能(*2)
SetMemIOWord

'U'

&H55

[メモリーIO

ワードポート

番号] (1 Byte)

[値] (1 Byte)

メモリーIOの指定ワードポートにワード値 (16 ビット) を設定 (*8)

(例) メモリーIOワードポート1に、&H010Fを設定

&H02&H55&H01&H010F&H03&H59

Auto オン

Ready オン

GetVariable

'v'

&H76

[変数名],(&H2C) [型]

(1 Byte)

バックアップ (Global Preserve)変数の値を取得 (*8)

(例) Global Integer g_Statusを取得

&H02&H76&H67&H5F&H53&H74&H61&H74&H75

&H73&H2C&H03&H03&H56

いつでも可能 (*2)

[変数名],(&H2C)

(配列要素),

(&H2C)

[変数タイプ]

(1 Byte),

(&H2C)

[取得個数]

(2 Byte)

バックアップ (Global Preserve)配列変数の値を取得 (*9)

(例)Global Integer g_intArray(10)を全て取得

&H02&H76&H67&H5F&H69&H6E&H74&H41&H72

&H72&H61&H79&H2C &H0000&H2C&H03&H2C&H000A&H03&H42

(例) Global Integer g_int3Array(10,10,10)の要素(3,5,0)から10個取得

&H02&H76&H67&H5F&H69&H6E&H74&H33&H41

&H72&H72&H61&H79&H2C&H0003&H2C&H0005

&H2C&H0000&H2C&H03&H2C&H000A&H03&H77

SetVariable

'V'

&H56

[変数名],

(&H2C)[値]

(型のサイズ),

(&H2C)[型]

(1 Byte)

バックアップ (Global Preserve)変数に値を設定 (*8)

(例)Global Integer g_Statusに0(&H0000)を設定

&H02&H56&H67&H5F&H53&H74&H61&H74&H75

&H73&H2C&H0000&H2C&H03&H03&H5A

Auto オン

Ready オン

GetStatus

'S'

&H53

コントローラーの状態取得 いつでも可能 (*2)
Execute

'X'

&H58

コマンド

文字列

コマンドを実行 (*10) (*11)

(例) print hereを実行

&H02&H58&H22&H70&H72&H69&H6E&H74&H20

&H68&H65&H72&H65&H22&H03&H10

Auto オン

Ready オン

Error オフ

EStop オフ

Safeguard オフ

Abort

'A'

&H41

コマンド実行を中断 (*10) Auto オン
GetAlm

'z'

&H7A

アラームの状態を取得 いつでも可能 (*2)
ResetAlm

'Z'

&H5A

アラーム番号

(1 Byte)

指定番号のアラームをリセット

(例) アラーム5をリセットする場合

&H02&H5A&H05&H03&H5C

Auto オン

Ready オン

*1: GetStatusで取得できるコントローラーの状態ビットです。

*2: いつでも実行できるとは、以下の条件を満たした場合です。

  • コントロールデバイスに、"Remote RS232"が設定されている場合、または
  • コントロールデバイスに、"Remote RS232"以外が設定され、リモートRS232設定のモニタリングで使用が設定されている場合

*3: Main[ファンクション番号]で指定されたファンクションが実行されます。

ファンクション名 ファンクション番号
Main 0
Main1 1
Main2 2
Main3 3
Main4 4
Main5 5
Main6 6
Main7 7
Main63 63

*4: "NoPauseタスク", "NoEmgAbortタスク"は一時停止しません。

詳細は、ヘルプ、または以下のマニュアルを参照してください。

"SPEL+ランゲージリファレンス - Pause"

*5: I/O出力のオフやロボットパラメーターの初期化も行われます。

詳細は、ヘルプ、または以下のマニュアルを参照してください。

"SPEL+ランゲージリファレンス - Reset"

*6: ロボットパラメーターの初期化も行われます。

詳細は、ヘルプ、または以下のマニュアルを参照してください。

"SPEL+ランゲージリファレンス - Motor"

*7: ロボット番号に"0"を指定すると、全ロボットを対象に動作します。

指定したロボットのみ動作したい場合、対象ロボットのロボット番号 (1~16)を指定してください。

*8: 変数の型

変数の型 型の値 (1 Byte)
Boolean &H00
Byte &H01
Double &H02
Integer &H03
Long &H04
Real &H05
String &H06
UByte &H07
Short &H08
UShort &H09
Int32 &H0A
UInt32 &H0B
Int64 &H0C
UInt64 &H0D

変数名と型が一致するバックアップ変数が対象になります。

*9: 配列要素は、取得を開始する要素を以下のように指定してください。

配列の先頭要素から取得する場合も指定が必要です。

配列要素を、2 Byteの数値で指定します。

一次元配列の場合 変数名&H2C&H0000 先頭から取得
変数名,要素番号 指定の要素番号から取得
二次元配列の場合 変数名&H2C&H0000&H2C&H0000 先頭から取得
変数名,要素番号1,要素番号2 指定の要素番号から取得
三次元配列の場合 変数名&H2C&H0000&H2C&H0000&H2C&H0000 先頭から取得
変数名,要素番号1,要素番号2,要素番号3 指定の要素番号から取得

変数タイプにString (文字列型) を指定することはできません。

取得個数は最大100個です。

配列要素を超える取得個数を指定した場合はエラーになります。

*10: 実行するコマンドをパラメーターも含め(" ") (二重引用符) で囲み、指定します。

実行するコマンド文字列は 256 Byte、実行結果文字列は、4060 Byteの制限があります。

ロボット動作コマンドの実行は、選択されているロボットに対して実行されます。実行前にGetCurRobotで選択ロボットを確認してください。

Execute実行中に以下のコマンドを受けつけることが可能です。

Execute実行中で使用できるコマンド

リモートコマンド

  • Abort
  • GetStatus
  • SetIO
  • SetIOByte
  • SetIOWord
  • SetMemIO
  • SetMemIOByte
  • SetMemIOWord

Executeの実行コマンドと、出力コマンド(SetIO, SetIOByte, SetIOWord, SetMemIO, SetMemIOByte, SetMemIOWord)に指定されているコマンドが同一の場合、同時に実行すると後から実行されたコマンドはエラーになります。Executeの実行、および**Execute実行中の出力コマンドの実行後、必ずGetStatusで実行結果を確認してください。

*11: PC機能(PCファイル, PC RS-232C, データベースアクセス, DLL 呼び出し)関連コマンドを含むプロジェクトを実行する場合、必ずEpson RC+ 8.0を接続した状態で実行してください。Epson RC+ 8.0が接続していない場合、コマンド実行はエラーとなります。