レスポンス

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

レスポンスフォーマット

ACK

1 Byte

コマンド

1Byte

データ

可変

ETX

1 Byte

BCC

1 Byte

  • ACK : &H06

  • ETX: &H03

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

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

コマンド フォーマット

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

(以下)以外

[ACK][コマンド] (1 Byte)[ETX][BCC]
GetCurRobot [ACK]'y'[Robot番号] [ETX][BCC]
GetIO [ACK] 'i'[&H00 | &H01] [ETX][BCC] *1
GetMemIO [ACK] 'o'[&H00 | &H01] [ETX][BCC] *1
GetIOByte [ACK] 'b'[ Byte値(8bit) (&H00~&HFF)] [ETX][BCC]
GetMemIOByte [ACK] 't'[ Byte値(8 bit) (&H00~&HFF)] [ETX][BCC]
GetIOWord [ACK] 'w'[ Word値(16 bit) (&H0000~&HFFFF)] [ETX][BCC]
GetIOMemWord [ACK] 'u'[ Word値(16 bit) (&H0000~&HFFFF)] [ETX][BCC]
GetVariable [ACK] 'v'[変数値]*5 [ETX][BCC]
GetVariable (配列の場合) [ACK] 'v'[変数値1]*5[変数値2]*5 ...[ETX][BCC] *4
GetStatus

[ACK] 'S'[ステータス][エラー, ワーニングコード]

[ETX][BCC]

例 [ACK] 'S'[aaaaaaaaaaa][bbbb][ETX][BCC] *2 *3

Execute

コマンド実行結果として値が返る場合

[ACK] 'X' "[実行結果]" [ETX][BCC]

GetAlm

[ACK] 'z' [アラーム数][アラーム番号]... [ETX][BCC]

(例) アラームがない場合

&H06&H7A&H00&H03&H79

(例) アラーム1とアラーム9が発生している場合

&H06&H7A&H02&H01&H09&H03&H73

*1 [&H00 | &H01] IOビットがオンの場合 &H01、オフの場合 &H00

*2 aaaaaaaaaaa部: ステータス

上記の例 [aaaaaaaaaaa]の11桁は、それぞれ次のフラグ11項目に対応しています。

Test, Teach, Auto, Warning, SError, Safeguard, Estop, Error, Paused, Running, Ready

オンの場合 &H01 、オフの場合 &H00で表します。

ReadyとAutoがオンの場合、

[&H00&H00&H01&H00&H00&H00&H00&H00&H00&H00&H01]となります。

*3 bbbb部: エラー, ワーニングコード

4桁の文字列で表され、エラー, ワーニングが発生していない場合、エラー, ワーニングコードは "0000" (&H30&H30&H30&h30)が返ります。

例1 : [ACK]

'S[&H00&H00&H01&H00&H00&H00&H00&H00&H00&H00&H01][ &H30&H30&H30&h30]

AutoとReadyに対応するビットがオン &H01となっています。

AutoModeがオンで、Ready状態を表しています。コマンドの実行が可能です。

例2: [ACK]

'S[&H00&H00&H01&H01&H00&H00&H00&H00&H00&H01&H00][ &H30&H35&H31&h37]

動作中にワーニングが発生していることを表しています。ワーニングコードに対応した処理を行ってください。 (この場合は、ワーニングコード0517)

フラグ 内容
Test TESTモード状態でオン
Teach TEACHモード状態でオン
Auto リモート入力を受付可能な状態でオン
Warning

ワーニングが発生している状態でオン

ワーニングが発生してもタスクの実行は通常と同じように行えます。

ただし、できるだけ早急にワーニング原因の対策を行ってください。

SError

重大エラーが発生している状態でオン

重大エラーが発生した場合、"Reset入力"では復帰できません。

コントローラーの再起動が必要です。

Safeguard 安全扉が開いた状態でオン
EStop 非常停止状態でオン
Error

エラーが発生している状態でオン

エラー状態から復帰するには、"Reset入力"が必要です。

Paused 一時停止状態のタスクが存在する状態でオン
Running

タスクが実行されている状態でオン

ただし、"Paused出力"がオンの状態ではオフ

Ready コントローラーの起動が完了し、タスクが何も実行されていない状態でオン

*4 取得個数で指定した分の値が返ります。

*5 バイナリデータです。取得後、指定のデータ型に変換する場合は、変換処理が必要です。

エラーレスポンス

リモートコマンドをコントローラーが正しく受信できなかった場合、以下のフォーマットのエラーレスポンスがあります。

NAK

1 Byte

コマンド

1 Byte

エラーコード

2 Byte

ETX

1 Byte

BCC

1 Byte

  • NAK : &H15

  • エラーコード: &H31&H30 (例:エラーコード “10” の場合)

  • ETX : &H03

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

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

エラーコード 内容
10 リモートコマンドが$で始まっていない
11

リモートコマンドが不正

Loginしていない

12 リモートコマンドのフォーマットが不正
13 Loginコマンドのパスワードが不正
14

取得個数の指定が範囲外 (1以上100以下)

取得個数の指定を省略した

文字列変数を指定した

15

変数が存在しない

変数の次元が違う

範囲外の要素を要求

16 BCC不正
19 リクエストタイムアウト
20 コントローラーが実行状態にない
21 Execute実行中のため、実行できない
99 システムエラー, 通信異常など