レスポンス
コマンドをコントローラーが正しく受信できた場合、実行するコマンドにより、以下のフォーマットのレスポンスがあります。
| コマンド | フォーマット |
|---|---|
値を取得するリモートコマンド (以下) 以外 | #[リモートコマンド],[0]ターミネーター |
| GetCurRobot | #GetCurRobot,[ロボット番号] ターミネーター |
| GetIO | #GetIO,[0 | 1]ターミネーター *1 |
| GetMemIO | #GetMemIO,[0 | 1]ターミネーター *1 |
| GetIOByte | #GetIOByte,[ Byte値 (8 bit)の16進文字列 (00~FF)]ターミネーター |
| GetMemIOByte | #GetMemIOByte,[ Byte値 (8 bit)の16進文字列(00~FF)]ターミネーター |
| GetIOWord | #GetIOWord,[ Word値 (16 bit)の16進文字列(0000~FFFF)]ターミネーター |
| GetIOMemWord | #GetMemIOWord,[ Word値 (16 bit)の16進文字列(0000~FFFF)]ターミネーター |
| GetVariable | #GetVariable,[変数値]ターミネーター |
| GetVariable (配列の場合) | #GetVariable,[変数値1],[変数値2],...,ターミネーター *4 |
| GetStatus | #GetStatus,[ステータス],[エラー、ワーニングコード]ターミネーター 例 #GetStatus,aaaaaaaaaaa,bbbb *2 *3 |
| Execute | コマンド実行結果として値が返る場合 #Execute,"[実行結果]" ターミネーター |
| GetAlm | #GetAlm,[アラーム数],[アラーム番号].. ターミネーター (例) アラームがない場合 # GetAlm,0ターミネーター (例) アラーム番号1とアラーム番号9が発生している場合 # GetAlm,2,1,9ターミネーター |
*1 [0 | 1] IOビットがオンの場合 "1"、オフの場合 "0"
*2 aaaaaaaaaaa部: ステータス
上記の例 "aaaaaaaaaaa"の11桁は、それぞれ次のフラグ11項目に対応しています。
Test, Teach, Auto, Warning, SError, Safeguard, Estop, Error, Paused, Running, Ready
オンの場合 "1" 、オフの場合 "0"で表します。
ReadyとAutoがオンの場合、 "00100000001"となります。
*3 bbbb部: エラー, ワーニングコード
4桁の文字列で表され、エラー, ワーニングが発生していない場合、エラー, ワーニングコードは "0000"が返ります。
例1: #GetStatus,00100000001,0000
AutoとReadyに対応するビットがオン "1"となっています。
AutoModeがオンで、Ready状態を表しています。コマンドの実行が可能です。
例2: #GetStatus,00110000010,0517
動作中にワーニングが発生していることを表しています。ワーニングコードに対応した処理を行ってください。 (この場合は、ワーニングコード0517)
| フラグ | 内容 |
|---|---|
| Test | TESTモード状態でオン |
| Teach | TEACHモード状態でオン |
| Auto | リモート入力を受付可能な状態でオン |
| Warning | ワーニングが発生している状態でオン ワーニングが発生してもタスクの実行は通常と同じように行えます。ただし、できるだけ早急にワーニング原因の対策を行ってください。 |
| SError | 重大エラーが発生している状態でオン重大エラーが発生した場合、"Reset入力"では復帰できません。コントローラーの再起動が必要です。 |
| Safeguard | 安全扉が開いた状態でオン |
| EStop | 非常停止状態でオン |
| Error | エラーが発生している状態でオンエラー状態から復帰するには、"Reset入力"が必要です。 |
| Paused | 一時停止状態のタスクが存在する状態でオン |
| Running | タスクが実行されている状態でオン ただし、"Paused出力"がオンの状態ではオフ |
| Ready | コントローラーの起動が完了し、タスクが何も実行されていない状態でオン |
*4 取得個数で指定した分の値が返ります。
エラーレスポンス
リモートコマンドをコントローラーが正しく受信できなかった場合、以下のフォーマットのエラーレスポンスがあります。
フォーマット: ![リモートコマンド],[エラーコード]ターミネーター
| エラーコード | 内容 |
|---|---|
| 10 | リモートコマンドが$で始まっていない |
| 11 | リモートコマンドが不正 Loginしていない |
| 12 | リモートコマンドのフォーマットが不正 |
| 13 | Loginコマンドのパスワードが不正 |
| 14 | 取得個数の指定が範囲外 (1以上100以下) 取得個数の指定を省略した 文字列変数を指定した |
| 15 | 変数が存在しない 変数の次元が違う 範囲外の要素を要求 |
| 19 | リクエストタイムアウト |
| 20 | コントローラーが実行状態にない |
| 21 | Execute実行中のため、実行できない |
| 98 | グローバルIPアドレス使用時のLoginには、パスワードが必要です。 |
| 99 | システムエラー 通信異常など |