C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[11]: ICS2.0でポジション設定コマンドの送受信方法


(過去ログ 28 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■12559 / inTopicNo.1)  ICS2.0でポジション設定コマンドの送受信方法
  
□投稿者/ ビギナー (1回)-(2008/01/11(Fri) 16:37:35)

分類:[C#] 

2008/01/24(Thu) 16:42:02 編集(投稿者)
2008/01/11(Fri) 16:42:29 編集(投稿者)
2008/01/11(Fri) 16:41:58 編集(投稿者)

返答かなり遅くなりました。
しっかりとサーボから値がかえってきました。
ありがとうございました。
今はパラメータ読み込みのEEPROMに挑戦しているのですが、エラーは全くなく、テンキーからA0 00(160 128)と入力して読み込むとエラーが発生してしまって、よくわからないのです。
エラーで入力文字列の形式が違いますってくるんですけど、基はできているんで、それを引用したんですが、このエラーが発生してします。
もし、「たぶんこれかな」っておもったら教えてください。
引用返信 編集キー/
■12565 / inTopicNo.2)  Re[1]: ICS2.0でポジション設定コマンドの送受信方法
□投稿者/ 774RR (114回)-(2008/01/11(Fri) 16:47:23)
サーボがどーのこーのの話はどうでもよくて、要するにシリアルポートに対して
何か送信しようとしたけど期待通りでない、ということね

> 動きません
だけではなにがなんやらわからん
・コンパイル・リンク時にエラーが出るのか
・実行時にエラー・例外が出るのか
・エラー無く動くが送信データが正しくないのか
などなど「動かない」のにはいろいろ段階がある

RS-232 / EIA-574 ってのは古い規格なので最近の USB のように「線をつなげば動く」ようなことは無い
接続方法・接続ケーブルの種類・通信条件設定などなど、「送信」の前に確認が必要な事項が
それこそ山のようにあるので、それらが全部正しいことを確認するのが先だ
引用返信 編集キー/
■12593 / inTopicNo.3)  Re[2]: ICS2.0でポジション設定コマンドの送受信方法
□投稿者/ HiJun (88回)-(2008/01/11(Fri) 23:22:23)
774RRさんも仰っていますが、
> 動きません
だけではアドバイスがしずらいです。

で思うところは...
・COMポートの指定は間違っていないか?
・指定しているボーレートやスタートビット・ストップビットは間違っていないか?
・ハードの信号は立てないといけないか?(RTS信号など)
・データを本当に送信しているのか?(ラインモニタ等で確認してみる)

といった感じで、一個づつ潰していくべきでしょう。
引用返信 編集キー/
■12597 / inTopicNo.4)  Re[3]: ICS2.0でポジション設定コマンドの送受信方法
□投稿者/ 774RR (115回)-(2008/01/12(Sat) 08:47:49)
まああれだ
> この「80」「7F」「7F」の3つ送信データを送ろうと思うのですが
に対してなぜか
> 10進数にして「255」「127」「127」おくったのですが
これでは動くものも動かんだろうな (0x80==128 だから)

んで、具体的なアドバイスはやっぱり事前事項をチェック、ということで。
まずは HyperTerminal とか TeraTerm とかでつないで味噌
引用返信 編集キー/
■12599 / inTopicNo.5)  Re[4]: ICS2.0でポジション設定コマンドの送受信方法
□投稿者/ Mr.T (170回)-(2008/01/12(Sat) 09:25:01)
Mr.Tです、こんにちは。

あんまり関係ないですが、
> まずは HyperTerminal とか TeraTerm とかでつないで味噌
こうやってベタに手で打ち込んで反応が返ってくるのが面白いって思ふ。
電光掲示板とかやったもんなー。

で、こういうのってちょっと躓かないと、面白いって思えない。
あ、これはだめ?
こういうこと?とか
色々やって、ようやくできると「すげー!うごいた」
って思えたり。
でもあんまり躓きが大きいと、登ってこれない人もw

引用返信 編集キー/
■12702 / inTopicNo.6)  Re[5]: ICS2.0でポジション設定コマンドの送受信方法
□投稿者/ ビギナー (2回)-(2008/01/15(Tue) 14:08:33)
No12599
・コンパイル・リンク時にエラーが出るのか
・実行時にエラー・例外が出るのか
・エラー無く動くが送信データが正しくないのか
などなど「動かない」のにはいろいろ段階がある

この返信に対してエラーとかは一切出ません。
「80」を「255」と書いてしまいましたが、128の間違いです。
初期設定のポート、通信速度、ビット長、スタート、ストップ、パリティーの設定のできています。

ハイパーターミナルで送受信できるか試したところできました。
んで、「80」言ったのですがIDの初期設定が「3」だったので、「83」にして「131」で再度送ってみました。
ですがダメでした。これは送信データがおかしいからでしょうか??


引用返信 編集キー/
■12710 / inTopicNo.7)  Re[6]: ICS2.0でポジション設定コマンドの送受信方法
□投稿者/ 774RR (119回)-(2008/01/15(Tue) 15:51:54)
この手の話は「なんとか動く」までが長い=敷居がとても高い

> これは送信データがおかしいからでしょうか??
送信データを疑う前に
> 初期設定のポート、通信速度、ビット長、スタート、ストップ、パリティーの設定のできています。
「その条件は通信相手と合致しているか」
「できているつもりで、実はできていない」
あたりを疑う必要があったりする。

通信アナライザー等は用意できるの?信頼できる測定機器を用意することができると楽
コスト的・手配時間的に用意できないのであれば、少なくとも
自作ソフトと Hyper/TeraTerm の組み合わせで狙ったデータが狙ったとおりに送受信できることを確認
(PC-PC 間で通信するテストを行う、ということだ)

それがうまく行ったあとでようやくターゲット機器をつないでみる、ほうが結果的に手間かかんないよ

ハードウェア的接続のあたりはもう完璧だ!と思うのであれば

HyperTerminal で「モデム」を選んでいないか (COMx 直接にしなきゃダメだぞ)
HyperTerminal での通信条件は合わせたか
HyperTerminal でキーボードから '8' '3' とか押してないかい
(キーボードから8キーを押した後に、3キーを押してるとか)
それだと送信されるデータは 0x38 0x33 になってしまい 0x83 を送れないぞ。
バイナリエディタで 83 7F 7F の3バイトデータを作って「テキストファイルの送信」とする必要があるよ

いかんせん「何をしたか」「何を確認済みか」あたりの記述が無いので一般論にとどまってしまうな
引用返信 編集キー/
■12717 / inTopicNo.8)  Re[7]: ICS2.0でポジション設定コマンドの送受信方法
□投稿者/ 774RR (120回)-(2008/01/15(Tue) 18:39:34)
あ、もいっちょ
バイナリエディタで 0x83 を生成する代わりの方策をあげとく
HyperTerminal で効くのは確認したが TeraTerm でも効くかは未確認

ALT キーを押しながら「テンキーで」10進コードを入力し ALT を離す

例: 0x83 つまり131を入れたい場合は
ALT キーを押し、押したまま、テンキーで 1 3 1 と入力し ALT を離す

メモ帳では効くがIEなどでは効かないので要注意、っと。
引用返信 編集キー/
■12719 / inTopicNo.9)  Re[8]: ICS2.0でポジション設定コマンドの送受信方法
□投稿者/ 774RR (121回)-(2008/01/15(Tue) 19:09:35)
さらにもういっちょ・・・って一度にまとめて書けよな>俺

http://www.kondo-robot.com/guide/information.html
http://www.kondo-robot.com/pdf/RCB-1CommandVer1B.pdf
http://www.kondo-robot.com/pdf/ICS20CommandRef2.pdf
あたりを見るに
サーボに直接接続してるのか否かとかその辺で微妙に異なりそうだ
直接サーボにつながっていないことを確認し正しく ICS につながっているとして

サーボを動かすなんてのは仮に動いちゃった場合に危険が危ないのであとまわし
EEPROM 読み込みあたりの危なくないコマンドを送ろう
ID=0 なら A0 00 を送ると A0 00 A0 00 に引き続き58バイトの返事があるはず
ID=3 なら A3 00 を送ると A3 00 A3 00 に引き続き58バイトの返事があるはず
ちゃんとつながっていて、相手が受け付けていれば返信があるので
HyperTerminal だとなにかわけわからん文字列が、がーっと表示されるはずだ。
A3 00 を先の ALT で送るのなら
ALT 押し下げ テンキーで 1 6 3 ALT を離す、ALT 押し下げ テンキーで 0 ALT を離す、だ
引用返信 編集キー/
■13112 / inTopicNo.10)  Re[9]: ICS2.0でポジション設定コマンドの送受信方法
□投稿者/ ビギナー (3回)-(2008/01/24(Thu) 16:43:12)
No12719 (774RR さん) に返信
> 返答かなり遅くなりました。
しっかりとサーボから値がかえってきました。
ありがとうございました。
今はパラメータ読み込みのEEPROMに挑戦しているのですが、エラーは全くなく、テンキーからA0 00(160 128)と入力して読み込むとエラーが発生してしまって、よくわからないのです。
エラーで入力文字列の形式が違いますってくるんですけど、基はできているんで、それを引用したんですが、このエラーが発生してします。
もし、「たぶんこれかな」っておもったら教えてください。


引用返信 編集キー/
■13114 / inTopicNo.11)  Re[10]: ICS2.0でポジション設定コマンドの送受信方法
□投稿者/ 774RR (127回)-(2008/01/24(Thu) 16:56:08)
> テンキーからA0 00(160 128)と入力して
ここのところ正しいか、100回確認してみそ。
思い込み激しいのかな?タイプミスが多いのかな?どっちにせよ不注意だと思う。

んで HyperTerminal から動くことが確認できたのならハードウェア的接続はOKなわけで
本題の C# プログラムで制御にチャレンジ開始してみるといいだろうな
通信データ送信の前にポートのオープンとか条件設定とかを行う必要があるわけで
まずはその辺から実装してみるといいぞ
引用返信 編集キー/
■13156 / inTopicNo.12)  Re[11]: ICS2.0でポジション設定コマンドの送受信方法
□投稿者/ 774RR (128回)-(2008/01/25(Fri) 09:53:03)
最初の記事を編集で消去してしまったようだな。良くないな
最初の記事に対する俺たちの返信内容が「わけわからん」になってしまっている
記事編集は誤字脱字の訂正程度にとどめてくれ
今後はやらんでほしい
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -