リモート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が接続していない場合、コマンド実行はエラーとなります。