BVE5.8/6用の外部機器連動用シリアル出力プラグインです。
BveEXの拡張機能を使用しております。別途BveEXを導入してください。
本プラグインはED67900-5様のシリアル出力プラグインフォーマットに準拠しています。
- BVE5.8と6の両方に対応(BveEXに準拠)
- 車両プラグインへの組込が不要
- DetailManagerを使用しない車両データにも一部対応
- 既存のSerialOutput設定ファイルが利用可能
- BVE画面から連動のON/OFFの変更が可能
コンテクストメニューに追加されます。(※最新版と表示内容は異なります)
従来通りデバッグ画面も表示できます。
シリアル出力プラグインとは、BVE(の車両データ)から出力されるデータをパソコンの通信(COM)ポートより取り出すことができるプラグインです。取り出すことのできる信号は主に、
- 0~255のパネル番号に割り当てられた値
※BVEはこの各パネル番号に格納された値によって画面内のパイロットランプや各種表示灯やメーターなどを動かしており、車両データ作者様によってこの割り当ては異なります
※ATSなどの保安機器や信号動作も制御できることからATSプラグインのATSパネル番号などと表現されることもあります - 速度、各圧力値、電圧、電流値等
- 各マスコン、ブレーキ、レバーサ情報
など多岐に渡ります。
※プラグイン(ATSプラグイン)とは、このパネル番号などの各値を任意に操作することができる追加のDLLライブラリ(ソフトウェア)のことです
- 取り出したいデータは後述の「シリアル出力エディタ」で設定します。データの桁数や順序、任意の文字列などを指定することができます
- シリアル出力エディタで設定した内容通りに、シリアルポートから「文字列(人が直接見ることができるアスキーコード)」として出力されます
- この文字列を、パソコンに接続したマイコンで読み込み、処理することによって外部機器との連動を実現します
- シリアルポートの設定についてはインターネットで検索すると出てきますが、ボーレート(通信速度)とCOMポート番号がまず一致しないと動作しません。 ※取り出すデータを少なくすることで、通信量やマイコンへの負荷、コードをシンプルにすることができます。(結局実装機能が増えて冗長になりますが...)
[参考]usashirou様のこちらの記事が、基本構成からまとめられておりますので大変参考になります。ありがとうございます。
SerialOutputは連動動作させたい車両データ全てにDetailManagerプラグインを用いて組み込む必要があったこと、 DetailManagerに対応していないATSプラグインを使用する車両データには対応できないことがあったため、 SerialOutputEXを開発いたしました。
設定フォーマットの共有ならびに公開に関してご助言とご快諾をいただきましたED67900-5様にはこの場を借りて御礼申し上げます。
- BveEX入力デバイスプラグインのインストール
- SerialOutputExプラグインのダウンロード
- SerialOutputプラグインとシリアル出力エディタのダウンロード
- ダウンロードしたファイルの配置
- BveEXの有効化
- 既存連動プラグインの無効化
- ポート設定の確認
- 動作確認、その他
ダウンロードページ(おーとま様BveEXページ)から、最新の入力デバイスプラグイン版をインストールします。(exeインストーラ版を推奨)
Tip
BveEXについては同ページをご確認ください。
こちら最新版リリース下部のAssetsから、「SerialOutputEx.BveEX.バージョン.zip」をダウンロードします。
SerialOutputプラグイン(シリアル出力エディタ.exeを含む)をダウンロードします。(E67900-5様 Xサイト)
展開した[BveEX]フォルダごと、パブリックドキュメントに配置してください。
パブリックドキュメントのデフォルトディレクトリ:<Userフォルダ>\Public\Documents\
Userフォルダは、C:\ユーザーやD:\ユーザーなど
Tip
- BVEプログラムのインストールフォルダのInput Deviceフォルダ(例:C:\Program Files\mackoy\BveTs6\Input Devices)内のAtsEx.Caller.InputDevice.txtに上記ディレクトリが明示されています。
次に、以下の2つのファイル(設定ファイルと編集用エディタ)を、[パブリックドキュメント\BveEX\2.0\Extensions]フォルダに配置してください。
- SerialOutputEx.xml(設定ファイル、既存のxml設定ファイルはSerialOutputEx.xmlに変更。 新規生成方法は下記の通り)
- シリアル出力エディタ(設定ファイルを編集するソフトウェア)を配置します。
設定例のファイルを同梱しています。使用例としてSELDControllerの詳細はこちら
BVEを起動し、ホーム画面の右クリック->設定メニュー->入力プラグイン->BveEX(旧AtsEX) にチェックマークを入れる(次回起動時以降は省略)
Caution
- BveEX版の場合
(旧)AtsEXはチェックを外してください(何らかのエラー表示が出た場合はBVEを再起動)、他に使用しないプラグインはチェックを外してください
既に設定されている場合は次に進みます。
車両プラグイン側で連動設定している場合(detailmodules.txtに組み込んである場合)は、#でコメントアウトするか削除します。
外部(連動)機器が正しく接続され、ポートの設定が正しければ、連動動作が開始されます。(たぶん...バグ報告お待ちしております)。ポート番号はデバイスマネージャー等で確認してください。 ポート変更は、シナリオ選択画面を閉じた状態のホーム画面を右クリックし、[SerialOutputEx 連動]メニューから選択できます。
車両の(パネル)データや外部機器の必要な情報別によってxml設定ファイルを切り替えて使用します。(このあたりの運用は今後改良予定です)
本プラグインを運転会等で使用される場合(有償無償問わず)の連絡は不要です。(他のプラグインやBveEXの使用条件やライセンスに関してはそれぞれの制作者様へ確認して下さい)
本プラグインを改変、再配布する場合はMITライセンスに基づき著作権表示をお願いいたします。
Ran out of memory エラーが表示される場合は、デバッグコンソール表示をOFFにして使用してください。
- シリアル出力エディタを開き(BVEコンテクストメニューの[SerialOutputEx 設定]メニューからも開けます)、出力先のポート情報と、出力したい項目の順番を選択します。
- 保存をクリックすると、xml設定ファイルを生成することができます。この時の名称は「SerialOutputEx.xml」(プラグイン名と拡張子よりも前と同じ)としてください。
- 設定ファイルで先に説明したパネル番号や速度/圧力/電圧電流値の順序や必要な桁数を設定します。
- デバッグをON(チェック)することで、3.で設定した内容を確認することができます。
- SerialOutput.xml設定ファイルフォーマットに対応
- 出力電文のHEX出力
- 出力電文のバイナリ対応
- サウンド出力対応(準備中)
- xml設定ファイルの簡易切り替え
- 出力だけではなく入力でのイベント発生
Warning
改変再配布も制限なく使用していただいて構いませんが、ご使用は自己責任でお願いいたします。本内容による損害等については一切の責任を負いかねます。※改造・再配布される際は各著作権表示をお願いいたします。
Arduinoなどのマイコンなどで連動機器を開発する際はこちらを参考にしていただくと 連動ガジェットなどが製作できるかもしれません。オリジナルで自動帯操作などの機能も追加しています。
本プラグインはED67900-5様のSerialOutputプラグインの機能を参考に制作しております。
また、設定ファイルフォーマット互換(SerialOutput.xml)のご了承を賜りました。
この場を借りて、厚く御礼申し上げます。
本プラグインはおーとま様のBveEX(旧AtsEX)の機能拡張を利用しております。
また、コードのサポートしていただきました。
この場を借りて、厚く御礼申し上げます。
またBVE開発に携わられている皆さま、日頃よりご指導いただいている皆さまに、心より感謝申し上げます。
BVE Trainsim @mackoy
DetailManager @Rock_On
SerialOutput @ED67900-5
BveEX @automatic9045
@usashirou