レスポンス

コマンドをコントローラーが正しく受信できた場合、実行するコマンドにより、以下のフォーマットのレスポンスがあります。

コマンド フォーマット

値を取得するリモートコマンド

(以下) 以外

#[リモートコマンド],[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

システムエラー

通信異常など