tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトル通信について
記事No12020
投稿日: 2008/04/16(Wed) 09:40
投稿者VV
VB6で無線機とシリアル通信して周波数制御をするのが目的です。
よろしくお願いします。

Private Sub Form_Click()



Dim fu0 As Double
Dim fd0 As Double
Dim fu As Double
Dim fd As Double
Dim c As Double
Dim z As Double
Dim V As Double
Dim pai As Double


'衛星のすすんだ距離とかかった時間から速度(km/s)を求める
pai = 3.14159
'衛星の送受信周波数(kHz)
fu0 = 145#
fd0 = 435#



'光の速度(km/s)
c = 299792
V = 0.078
'衛星の仰角
z = (145# * pai) / 180#

'送信する周波数
fu = (c * fu0) / (c + V * Cos(z))


'受信する周波数
fd = (c * fd0) / (c - V * Cos(z))

Text1.Text = fu
Text2.Text = fd


MSComm1.CommPort = 1
MSComm1.Settings = "19200,N,8,1"
MSComm1.PortOpen = True
MSComm1.Output = Text1.Text
MSComm1.Output = Text2.Text

End Sub



上記のプログラムで
パソコン‐パソコン間の通信の通信は可能になりました。

今度は無線機と通信がしたいのですが、
プリアンブル、受信アドレス、送信アドレス、コマンド、ポストアンブル
をどこに入れるかがまったくわかりません。
必要な宣言とか書き方がありましたら教えていただきたいです。
また参考になるページとか本とかありますか??

[ツリー表示へ]
タイトルRe: 通信について
記事No12023
投稿日: 2008/04/16(Wed) 11:07
投稿者オショウ
> 今度は無線機と通信がしたいのですが、
> プリアンブル、受信アドレス、送信アドレス、コマンド、ポストアンブル
> をどこに入れるかがまったくわかりません。
> 必要な宣言とか書き方がありましたら教えていただきたいです。
> また参考になるページとか本とかありますか??

  その無線機の通信リファレンスを見てもらわないことには
  これを読んだ人も何も解りませんヨ!

  無線機のメーカー・型式も明記されてませんので、これを
  解る人はいないかと・・・

以上。

[ツリー表示へ]
タイトルRe^2: 通信について
記事No12025
投稿日: 2008/04/16(Wed) 11:25
投稿者VV
>オショウさん
すみません!説明不足で!!
詳細をしらべてまた伺います。
ありがとうございました

[ツリー表示へ]
タイトルRe^3: 通信について
記事No12026
投稿日: 2008/04/16(Wed) 11:36
投稿者nobu
私もそうですがハムだろうと思います。
リグとの通信(リグコントロール)のソフトについては
リグのメーカー、無線機の機種名が特に重要です。
メーカーによりプロトコルが大きく違います。
ICOMの場合にはリグのアドレスを変えるだけで
機種が変わってもソフトはそのままで使えるはずです。
KENWOODもほとんど同じソフトで付けるはずです。
YAESU(STANDARD)は機種毎にプロトコルが
大きく違いますので個別にソフトを書かないといけません。
リグのマニュアルにCATコントロールの説明があると
思いますので、それを元にプログラムすることになります。
リグのマニュアルはメーカー名、機種でWeb検索で見つけられる
ものもありますしメーカーのHPにあることもありますので
探してみて下さい。

[ツリー表示へ]
タイトルRe^4: 通信について
記事No12033
投稿日: 2008/04/16(Wed) 20:31
投稿者VV
nobuさんありがとうございます!!

無線機がICOM IC-910でI/Fは ICOM CT-17を使う予定です!

最初に書いたのにプラス
 MsComm1.Output = Chr(&HFE)&Chr(&HFE) 
 MsComm1.Output = Chr(&H60)
 MsComm1.Output = Chr(&HE0)
 MsComm1.Output = Chr(&H2)
 のような感じでやろうと思っているんですが、だいじょうぶですかね??
無線機に表示されている周波数を受信して、テキストボックスに
表示されるやりかたとかご存知の方いらっしゃいますか?
もしわかったら教えてほしいです。
 
 

 
 

[ツリー表示へ]
タイトルRe^5: 通信について
記事No12034
投稿日: 2008/04/17(Thu) 07:55
投稿者nobu
こんにちは。
私は手元にICOM機が無いのでテスト出来ません。
最初に MsComm1.InputMode = comInputModeBinary が必要かも知れません。

> 無線機がICOM IC-910でI/Fは ICOM CT-17を使う予定です!

> 最初に書いたのにプラス
>  MsComm1.Output = Chr(&HFE)&Chr(&HFE) 
>  MsComm1.Output = Chr(&H60)
>  MsComm1.Output = Chr(&HE0)
>  MsComm1.Output = Chr(&H2)
>  のような感じでやろうと思っているんですが、だいじょうぶですかね??

VVさんにテスト環境があるのなら「だいじょうぶですかね??」では無くて
ご自分でテストして結果がOKなのかNGなのかを書いていただかないと。
ちなみに上記は何をしようとしていますか? 
(バンドエッジ周波数の読み込み)で用は足りると言うことでしょうか?
コードを実行しての結果はどうだったのでしょうか?

> 無線機に表示されている周波数を受信して、テキストボックスに
> 表示されるやりかたとかご存知の方いらっしゃいますか?

「周波数を受信」よりは「周波数データの設定」を最初にやってみたら
如何でしょうか? これが出来ればパソコンとリグ間の通信が確認出来ますので。
リグのマニュアルの「コマンド一覧表」を見て試して下さい。

ct-17.pdf には昔のNSSーBASICのコードが載っていますが
VB6に書き換えるのは結構面倒ですね。

[ツリー表示へ]
タイトルRe^6: 通信について
記事No12035
投稿日: 2008/04/17(Thu) 09:30
投稿者VV
nobuさん!
ありがとうございます。
周波数の設定からやりたかったんですが、データエリアのところをどうしていいか
わからず、とりあえず受信しようとしました。
でも、やはり送信するほうがわかりやすそうなので、設定からやってみます。
電源部が完成してなかったので、テストできなかったんですが、
これからやってみます。
また報告します。
よろしくお願いします。

[ツリー表示へ]