みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

TTPMACRO マクロ ATコマンド エラー

Teratermマクロを使って、ポートへATコマンドを送出しようとしています。
ポートが整っていないうちに、ATコマンドを送出した場合等のエラーを
キャッチしたいのですが、方法がわかりません。
サジェスチョン願います。

test.bat------------------
ttpmacro /v test.ttl
echo %ERRORLEVEL%
------------------------

test.ttl-------------------

connect '/c=4'
sendln "AT+xxxxx"
pause 1
disconnect
-------------------------

正常なら、
Teratermの画面に
ATコマンド
OK
と表示されますが、ポートが準備できていない(ポートがない)
時の画面は、「全くなし」です。
上記のTTLマクロは、問題は何もなかったかのごとくに終了となります。
多分、connect '/c=4' のところで、エラーとなっているのですが、
キャッチする方法がほしいです。

また、ペアレントへのそのエラーを伝える方法もほしいです。
上記では、echo %ERRORLEVEL% を書いていますが、0で、役に立っていません。
宜しくお願いいたします。

投稿日時 - 2012-05-04 18:21:10

QNo.7457415

すぐに回答ほしいです

質問者が選んだベストアンサー

Tera Term(バージョン4.73)ヘルプを見た感じ、

> connect '/c=4' のところで、エラーとなっているのですが、キャッチする方法
戻り値を確認すればよいのでは。詳しくはTera Term ヘルプ TTL コマンドリファレンスをご覧ください。

> ペアレントへのそのエラーを伝える方法
setexitcodeとか。詳しくはTTL コマンドリファレンスをご覧ください。

投稿日時 - 2012-05-04 22:23:03

お礼

ありがとうございます。
"setexitcode" 早速試してみます。

投稿日時 - 2012-05-12 09:01:12

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

No.1 です。
質問をよく把握してませんでした、すみません。
No.1 での
「 ボーレイト(というより、単に通信速度と呼ぶ方が適当か)確定の目的で
AT<cr>のみ送る、というのはちょっと外してた気がします。
connect に失敗したとすると、再度 connect が必要と思いますので、

No.1補足欄
>pause 1
の追加は方向が違うように思います。

マクロコマンドに
testlink
により、現在の接続状況が teraterm のシステム変数 result の値に反映されるそうです。
多分ですが、connect の直後で使えば、接続が成功したかくらいは判断できるかと思います。

投稿日時 - 2012-05-12 14:28:14

>connect '/c=4'
>sendln "AT+xxxxx"

の間に
AT<cr>だけ送れば済むかも。
"ok"が来るのを待てば、通信可能状態であることもわかります。

質問では、「エラーの時にわかるように」との事ですが、
ここで"ok"が帰ってこなければエラー、という判断でよろしいかと。
判定する teraterm マクロコマンドの使い方はちょっとわかりません。
今の環境では試せませんし。

もとより、相手(アナログモデムなど)は、ボーレイト未確定のまま "AT" を受けて、
"1""0"の時間幅により通信ボーレイトを判断し自己設定する、という仕組みなので、
通信を始める最初に1回は必要かと思います。
相手がビジー状態などでなく、受取るのが確実ならそれだけで通信可能となり、
問題ないと思います。(ビジーでもなければエラーは発生しない)

投稿日時 - 2012-05-06 02:59:08

補足

ありがとうございます。
基本的なことがら、「相手が確実に存在することを保証」した上で、connectを実施する。

今現在、200回?に1回(本当にたまに)、エラーメッセージが返ってくる場合があり、
調査中です。それでも、全体の処理は、問題ないので、フェイントのような印象のエラーメッセージです。
多分、pauseを入れてやれば、そのメッセージは消えるのであろうと考えています。

connect '/c=4'
pause 1
sendln "AT+xxxxx"

サジェスチョンがあれば、お願いします。

投稿日時 - 2012-05-12 09:13:42

あなたにオススメの質問