Home
VSPEでARHP、JTDX、TurboHAMLOGでのCOMポート共用
Ver.1.4(文章表現の若干の改良) '22/12/15
Ver.1.3(紛らわしい文章の改良) '20/12/09
Ver.1.2 '20/11/16
Ver.1.1 '20/02/17
Ver.1.0 '18/09/23
All rights reserved JA3OOK 中村 利和
共用したいCOMポート
CATコントロールが目的でリグと接続しているCOMポートを次のソフトで共用したいのです。
・ARHP-590G(KENWOOD製の遠隔操作用サーバーソフト) ← 遠隔操作も行いたいことが特色
・JTDX or WSJT-X
・TurboHAMLOG
これが実現できれば、リグ(送信所のリグ)、JTDX or WSJT-X(以下、JTDXで代表)
TurboHAMLOGの間で周波数情報が共有でき、QSYが大幅に楽になります。
COMポートを二つ以上のソフトで共用したいニーズは誰でもあるわけで、Webを調べるといくつ
もの事例が載っています。
使うツールは VSPE(参考資料1)が一番多く、LPB2(参考資料3) も載っています。
遠隔操作も行う成功事例は見つかりませんでしたが、この二つのツールを試した結果、正しく動
作する方法が見つかりました。その方法を紹介することがこのページの目的です。
試してみた結果を次の順番で記します。
・VSPEを利用−−−共存してうまく動作します。
・LPB2を利用−−−共存できない、これは仕様どおりの動作であり、バグではない。
用語説明(Ver.1.1 '20/02/17 追記)
実際に示すCOMポート番号は私の例です。
COM6:KENWOOD社が指定するシリコン・ラボラトリーズ社製仮想COMポートドライバー
に割り当てられたポート番号。なのでPC環境によって番号が変わる。
「実在COMポート」と呼ぶことがある。(デバイスマネージャーに表示される)
COM10〜13:VSPEで指定(定義)するポート番号。(デバイスマネージャーに表示されない)
自由に番号を選べる。
私は「実在COMポート」と区別するために2桁番号を指定し分かりやすくしている。
VSPEで作成(定義)するポートをまとめて「仮想COMポート」と呼ぶこととする。
「仮想COMポート」はデバイスマネージャーに表示されない。
使用環境。
VSPE(Virtual Serial Ports Emulator) 0.938.4.836
Kernel driver version 2.037(x86,X86_64)
FREE 32 bitt version
LPB2
Version 1.08
PC
当初
PC DEL OPTIPLEX 780
IntelCore2 Duo CPU E7500 @ 2.93GHz 2.93GHz 実装メモリ(RAM) 4.00GB
Windows 7 Pro Sevice Pack 1 32ビット オペレーティング システム
→ 2019/8 OSをVerUp Windows 10 Pro 32ビット オペレーティング システム
2020/11
Epson Endeavor AY330S に入れ替え
IntelCore i3-4150 プロセッサー (3.5GHz) 実装RAM 8.00GB
Widows 10 Pro 64 ビット オペレーション システム、x64 ベース プロセッサ
DKをSSD化
VPSEも64bit版(ライセンス版)に変更しました。3項参照。 有償購入しました。
Virtual Serial Ports Emulator (64bit) 1.0.5.443
1.VSPEを利用する方法 正しく動作する
次の図のように仮装COMポートを作成し、各ソフトから接続すれば正しく動作します。少なく
とも私のPC環境では (^_^;)
VSPE画面(仮想COMポート作成内容と動作時のステータス)
図1 仮想COMポート作成内容と動作時のステータス
仮想COMポートと各ソフト接続の対応
図2 仮想COMポートと各ソフト接続の対応
要点
a ARHP-590GとJTDXを同じ仮想COMポートに接続しない。
同じ仮想COMポートに接続すると、どちらか/両方が切れる、同期しない。
(推定:両ソフトから出ているコマンドが干渉しあっているのかな)
b 仮想COMポートをソフトの数だけ作成し、ポートとソフトを1:1対応させる。
TurboHAMLOGはARHP-590GまたはJTDX対応の仮想COMポートに接続しても動作する
ようだが、絶対に動作するとの確認ができないので、別に仮想COMポートを作成して
1:1にすることを薦める。
c 親となっている仮想COM10に接続したソフトは必ず立ち上げておく。私の場合はARHPは
いつも動作させておくので、ARHPと対応させる。
(ARHPさえ立ち上げておけばよく、ARCP:操作所の遠隔操作用ソフトと接続していなくてもよい)
親となっている仮想COM10とその対応ソフト(この場合はARHP)を接続しておかないと、
他の仮想COMポートに接続したソフトが動作しない。
d 仮想COMの作成
作成方法 Device -> Create -> Device type Splitter
プロパティは次のように設定。
仮想COM10
Virtual serial port に COM10、Data source seriarport に COM6。
Redirect modem registers にチェックを入れる。
(チェックを入れないとARHPとCOM10の接続ができない/切れる。)
Setting
Speedに予定の通信スピードを設定。他のパラメーター既定値のまま。
図3 仮想COM10の設定
上記に続き、
仮想COM11〜13を一個ずつ作成
Virtual serial port に COM11〜13、Data source seriar port に COM10。
Redirect modem registers にチェックを入れない。
(チェックを入れるとどれかのソフトが動作しない)
Setting
Speedに予定の通信スピードを設定。他のパラメーター既定値のまま。
仮想COM10〜13共通
RTSとDTRはチェックを入れていない。しかし、RTSやDTRを使用するソフトの場合は
検討や実験が必要であろう。
作成が終わった時点で、設定内容をファイルセーブ
File -> Save as ->
e VSPEで作成した仮想COMポートはデバイスマネージャーに表示されない。
この現象、最初は戸惑います。com&comだと表示されるので、原理が違うのですね!
f VSPEを必ず先に立ち上げ、次に仮想COMポートを使うソフトを立ち上げる。
そのために、このようなバッチファイルを作成し、そのショートカットを
スタートアップ に登録し、遅延立ち上げを自動化している。
留意点
バッチファイル名の拡張子は .bat にする。
start行の "C:\〜VSPEmulator.exe"の次のパラメータは設定ファイルの場所、
-minimize はVSPEウインドウを最小化するコマンド。
g VSPEが立ち上がる前に実在COMポートが動作していること。
つまり、実在COMポートにつながっているリグに電源が入っていること。
TS-590の場合は元電源が供給されていればよく、前面パネルの電源スイッチは入っ
てなくてもよい。
実在COMポートが動作していないとVSPEの立ち上げ時にエラーになる。
"Error Can not load configuration"
h VSPEは64ビットOS用が有償、32ビットOS用が無償。
私のPCは32ビットOSなので無償で使用。
後に、64ビットOSのPCに取り替えたので有償購入しました。
仮装COMポートの具体的作成手順は次のとおり。
VSPEのインストールやDevice typeの使い分け、操作方法はエレクトロデザイン株式会社の
参考資料2がとても分かりやすいです。
VSPEを起動
作成:Device→Create 変更:Device→Properties
☆COM7 => COM10 を作成
→Device typeのプルダウンメニューの中からSplitterを選択
→Data source serial port リグにケーブルで繋げている実在COMポート番号を選択
Redirect modem registers にチェック、RTSとDTRにチェックしない
Settingをクリック →通信速度などを設定
Virtual serial port COM10 を選択
☆COM10 => COM11 を作成
→Device typeのプルダウンメニューの中からSplitterを選択
→Data source serial port COM10 を選択
Redirect modem registers にチェックしない、RTSとDTRにチェックしない
Settingをクリック →通信速度などを設定
Virtual serial port COM11 を選択
☆同様に COM10 => COM12 と COM10 => COM13を作成
☆設定内容をファイルに保存
→file →Save as... 例えばファイル名は COM6_COM10to13.vspe
このファイルは次回のVSPE起動時に入力(file →Open)したり、.batファイルで
使用します。
2.LPB2を利用する方法 共存できない(仕様どおりの動作でありバグではない)
☆LPB2のインストールや機能などは、JM1XTKさんの参考資料4が分かりやすいです。
LBP2の設定済み画面。
図4 LPB2の設定内容
LBP2のWeb(参考資料3)をよく読むとLBP2は次のようにフィルターをかけている。
Only VPort1 provides full bi-directional access to the rig with LPB2.
VPort1のみが、LPB2を備えたリグへの完全な双方向アクセスを提供します。
VPorts 2-5 provide GET support for the 8 most common commands used by most rig control applications.
VPorts 2-5は、ほとんどのリグ制御アプリケーションで使用される8つの最も一般的なコマンドのGETサポートを提供します。
VPorts 2-5 provide SET support for 3 commands... VFO A, VFO B and Mode.
VPorts 2-5は、3つのコマンド(VFO A、VFO B、およびMode)のSETサポートを提供します。
実験した結果が次のとおりで、その挙動を上記のフィルター動作で説明できる。
a RigとConnectする前にRigの前面パネルの電源スイッチをONにしておく。
b ARHPもWSJTも Virtual Com Port A を使うと単独での動作は可能。
ただし、上記画面のように AI2 にチェックをいれておく。
c ARHPまたはWSJTと、TurboHAMLOGの共存が可能(Virtual Com Port B以降を使う)
つまり、TurboHAMLOGから何もコマンドを出していない場合は共存できる模様。
d ARHPとWSJTの共存不可。
ARHPを動作させ次にWSJTを動作させると、WSJTからエラー。
Hamlib error: Protocol error while opening Connection to rig
WSJTがFV;コマンドを出してもresがないのが原因の様子。
WSJT-Xを動作させ次にARHPを動作させると、ARHPの接続ができるが、
・ARHP画面の電源表示が明るくならない(リグパネルには電源投入済み)。
・ARCPからARHPにつながるが電源表示が明るくならないし、すぐに切断される。
ARHPがPS;コマンドを出してもresがないのが原因の様子。
参考資料
1 Eric Young and the OpenSSL Project VSPE Virtual Serial Ports Emulator
2 エレクトロデザイン株式会社 Virtual Serial Port VSPE の使い方 pdf
3 TelePost, Inc. LPB2 LP-Bridge Software
4 JM1XTK バンドスコープが実現できる LPB2
直前の画面へは ブラウザの戻る をクリックしてください。Topに戻るにはHome