E-ZEUS 通信コマンド一覧 Ver2.0
*****************
1.基本設計
*****************
1. シリアルポート(RS-232C)により通信する。
・Baudrate 9600bps
・データビット 8 bit
・パリティなし
・ストップビット 1 bit
・非同期
2. 基本的にPCからコマンドを送信し、E-ZEUS(PICマイコン) から返答する。
E-ZEUSから要求するコマンドは設けない。
3. E-ZEUS は、PCのコマンドに対して必ず返答を行う。
PCは E-ZEUS からの返答をもって、後続のコマンドを送信可能とする。
原則として、E-ZEUS はコマンドを受信直後に返答を行うが、コマンドのバッファ
が満杯の場合のみ、バッファの空きを待って返答する。(関連(4))
4. DVコマンドは完了までに時間を要す。このため、E-ZEUS 側は複数のコマンドを受
信可能なバッファを設ける。
また、DVコマンド以外のコマンドは、DVコマンドの完遂以前でも受け付け次第
即座に実行し回答する。
5. スローアップ,スローダウンの制御は E-ZEUS で判断し実行する。
6. DVコマンドにより、低速,中速,高速 で稼動中は、DVコマンドの完遂までハン
ドコントローラー(等の外部コントロール)は受け付けない前提とする。
(例外)停止,非常停止
7. ハンドコントローラー(等の外部コントロール)による制御信号(Ex Control)
が発生した時は、E-ZEUS がPCより受け付けた DVコマンドは全てキャンセルする。
8. 移動および停止命令の優先順位は以下とする。
(1) ハンドコントローラによる停止
(2) PCによるSPコマンド
(3) PCによるDV(ステップ指定)コマンド
(4) ハンドコントローラによる移動
9. 移動命令の禁則
(1) 外部コントロール中に DV コマンドを受信した。
(処置)エラーコード「!01」を返信。受信したコマンドは無視する。
(2) 赤経モーターが「低速」または「中速」または「高速」で移動中に、
数値付DVRAコマンド を受信した。
赤緯モーターが「低速」または「中速」または「高速」で移動中に、
数値付DVDCコマンド を受信した。
(処置)エラーコード「!02」を返信。受信したコマンドは無視する。
(3) 数値付DVコマンド実行中(=目的値に達する前)に、数値なしDVコマ
ンドを受信した。
(処置)エラーコード「!03」を返信。受信したコマンドは無視する。
※ 警告動作
エラーにはしないが、警告を伴う動作。---急速反転の禁止。
(4) 赤経モーターが「低速」または「中速」または「高速」で移動中に、
反対の方向の「低速」または「中速」または「高速」命令を受信した。
赤緯モーターが「低速」または「中速」または「高速」で移動中に、
反対の方向の「低速」または「中速」または「高速」命令を受信した。
(処置)エラーコード「!80」とACK「#」を続けて返信。
赤経は、速度を「1」(恒星時)に置き換えて実行する。
赤緯は、速度を「0」(停止)に置き換えて実行する。
10. 数値付DVコマンド完了時の処置
数値付DVコマンドで、モーターが目的値に達した後は、
赤経は、速度を「1」(恒星時)を実行する。
赤緯は、速度を「0」(停止)を実行する。
11. 外部コントロール終了後の処置
赤経は、速度を「1」(恒星時)を実行する。
赤緯は、速度を「0」(停止)を実行する。
....実際には、PIC は何らかの状態を示す必要があるので、外部コント
ロールを認知したと同時に、上記の状態を作って待機する。
12. モータの回転方向の定義
・赤経モーターは日周運動方向を正転とする。
・赤緯モーターは東ポジションで南天を向いてるときの赤緯値+方向を正転と
する。
**********************
2.コマンド一覧
**********************
*** 文字,数字 全て ASCIIコードにて通信すること ***
●モーター位置要求コマンド PC -> E-ZEUS
0123456789
----------------------
GP
・01
"GP"・・・位置取得コマンド
■モーター位置 PC <- E-ZEUS
01234567891011121314151617181920
----------------------------------------
GP#HHHHHHHH#hhhhhhhh
・01
"GP"・・・位置返信
・2,11
"#"・・・モーターの値であることを示す
・3-10
RAモーターステップ16進8桁
・12-19
DCモーターステップ16進8桁
●モーター制御コマンド PC -> E-ZEUS
012345678901011121314
----------------------
DVRAF2 : 連続駆動
DVRAF2#HHHHHHHH : ステップ数指定駆動/相対数指定
・01
"DV"・・・ドライブコマンド
・23
"RA"・・・赤経モーター
"DC"・・・赤緯モーター
・4
"F"・・・正転
"R"・・・逆転
・5
"0"・・・停止
"1"・・・恒星時
"2"・・・低速
"3"・・・中速
"4"・・・高速
・6
"#"・・・区切り
・・・連続駆動(ステップ数の指定なし)
・7-13
"HHHHHHHH" ・・・モーターステップ16進8桁(相対数)
■ACK PC <- E-ZEUS
0
----------------------------------------
#
・0
"#"・・・OK :コマンドのバッファが満杯でなければ直ぐに回答
●モーター停止要求コマンド PC -> E-ZEUS
このコマンドを受け付けた場合、実行中および実行待ちのDVコマンドは
その時点でキャンセルする。
0123456789
----------------------
SP0
・01
"SP"・・・モーター停止要求コマンド
・2
"0"・・・完全停止
"1"・・・恒星時運転に
■ACK PC <- E-ZEUS
0
----------------------------------------
#
・0
"#"・・・OK
●E-ZEUS状態コマンド PC -> E-ZEUS
0123456789
----------------------
ST
・01
"ST"・・・E-ZEUS状態要求コマンド
■E-ZEUS状態 PC <- E-ZEUS
0123456789
----------------------
STPF2BR3
・01
"ST"・・・E-ZEUS状態
・2
"P"・・・赤経モーターがPC司令にて移動中
"B"・・・赤経モーターがE-ZEUSにて移動中
"I"・・・赤経モーターがアイドル状態(停止、もしくは恒星時運転)
・3
"F"・・・赤経モーターが順転中
"R"・・・赤経モーターが逆転中
・4
赤経モータースピード(0、1、2、3、4)
(注) E-ZEUS による制御中は無条件に "0"とする
・5
"P"・・・赤緯モーターがPC司令にて移動中
"B"・・・赤緯モーターがE-ZEUSにて移動中
"I"・・・赤緯モーターがアイドル状態(停止)
・6
"F"・・・赤緯モーターが順転中
"R"・・・赤緯モーターが逆転中
・7
赤緯モータースピード(0、2、3、4)
(注) E-ZEUS による制御中は無条件に "0"とする
●周回ステップ数問い合わせ PC -> E-ZEUS
012
---------
RD
・01
"RD"・・・周回ステップ数問い合わせ
■モーター周回数 PC <- E-ZEUS
01234567891011121314151617181920
----------------------------------------
RD#HHHHHHHH#hhhhhhhh
・01
"RD"・・・モータ周回ステップ数返信
・2,11
"#"・・・区切り
・3-10
RAモーター周回ステップ16進8桁
・12-19
DCモーター周回ステップ16進8桁
●周回ステップ数変更 PC -> E-ZEUS
※ このコマンドは、外部コントロール中には受信を拒否します。
※ このコマンドは、モータが停止中または恒星時駆動中のみ受信します。
※ 周回ステップの変更を行うと、現在値のモータ位置をクリアします。
※ 電源をOFFにしても、変更した周回ステップ数を記憶します。
※ デフォルト値 RD#003F4800#003F4800 -- 昭和20E赤道儀向け
01234567891011121314151617181920
----------------------------------------
RD#HHHHHHHH#hhhhhhhh
・01
"RD"・・・周回ステップ数教示
・2,11
"#"・・・区切り
・3-10
RAモーター周回ステップ数16進8桁
・12-19
DCモーター周回ステップ数16進8桁
■ACK PC <- E-ZEUS
0
----------------------------------------
#
・0
"#"・・・OK
●到着予告ステップ数問い合わせ(Ver2.0より追加) PC -> E-ZEUS
012
---------
PA
・01
"PA"・・・到着予告ステップ数問い合わせ
■モーター到着予告ステップ数 PC <- E-ZEUS
012345678
----------------------------------------
PA#HH#hh
・01
"PA"・・・モータ周回ステップ数返信
・2,5
"#"・・・区切り
・3,4
RAモーター到着予告ステップ [HH00(H)] 16進4桁の上位2桁
・6,7
DCモーター到着予告ステップ [hh00(H)] 16進4桁の上位2桁
●到着予告ステップ数変更(Ver2.0より追加) PC -> E-ZEUS
※ このコマンドは、外部コントロール中には受信を拒否します。
※ このコマンドは、モータが停止中または恒星時駆動中のみ受信します。
※ 電源をOFFにしても、変更した周回ステップ数を記憶します。
※ デフォルト値 PA#00#00 -- 到着予告を発しない
012345678
----------------------------------------
PA#HH#hh
・01
"PA"・・・周回ステップ数教示
・2,5
"#"・・・区切り
・3,4
RAモーター到着予告ステップ [HH00(H)] 16進4桁の上位2桁
・6,7
DCモーター到着予告ステップ [hh00(H)] 16進4桁の上位2桁
■ACK PC <- E-ZEUS
0
----------------------------------------
#
・0
"#"・・・OK
◆不明なコマンド PC <- E-ZEUS
不明なコマンドを受信した場合の返信
0
----------------------
?
・0
"?"・・・不明なコマンド
◆エラー送信 PC <- E-ZEUS
PCへE-ZEUSから返事を返す時に不具合が発生したときに返す
0123
----------------------
! : エラーコードなし
!nn : エラーコード付き
・0
"!"・・・エラー
・1,2
"nn"・・・エラーコード(コード分類は今後の課題)
80番以降は「警告」
**** エラーコード ****
!01 :外部コントロール中にDVコマンドを受信した。
!02 :赤経モーターが「低速」または「中速」または「高速」
で移動中に、数値付DVRAコマンド を受信した。
赤緯モーターが「低速」または「中速」または「高速」
で移動中に、数値付DVDCコマンド を受信した。
!03 :数値付DVコマンド実行中(=目的値に達する前)に、
数値なしDVコマンドを受信した。
!0A :外部コントロール中か、赤経赤緯のどちらかのモータが
動作中にモータ周回ステップ数変更(RD#HHHHHHHH#hhhhhhhh)
または、到着予告ステップ数変更(PA#HH#hh)を受信した。
**** 警告コード ****
!80 :赤経モーターが「低速」または「中速」または「高速」
で移動中に、反対の方向の「低速」または「中速」または
「高速」命令を受信した。
赤緯モーターが「低速」または「中速」または「高速」で
移動中に、反対の方向の「低速」または「中速」または
「高速」命令を受信した。
(処置)赤経は、速度を「1」(恒星時)に置き換えて実行。
赤緯は、速度を「0」(停止)に置き換えて実行。