パソコンで鉄道模型を制御するための基礎検討(8)
ループネットワークプロトコル
当初、マニュアル操作とPC制御を全基板について一斉に切り替えるつもりでした。
ですがPC制御とマニュアル操作を混在できるとより魅力です。
例えば、スイッチのマニュアル操作で信号機を青にするとPC側で設定したプログラムによる自動運転が開始されて車両が発車し、何回か周回したあとでマニュアルで信号機を赤にすると駅で自動停車するといった具合です。
そのためにPCから制御信号を送るだけでなく、スイッチ操作による変化 (ポイントの切替結果や信号機の色の変化等)をPCが読み取れるようにします。
ポイント切替のPMD_S、SPD_S、信号機用のSIG3_S、SIG6_Sの各基板はスイッチ入力(マニュアル操作)とPC制御の両方を常時受け付けます。
車両を駆動するパワーパック(マニュアル操作)とPWR_S基板(PC制御)は完全に排他的な切替になります。
通信方式は以前試作したSNTCと同じループネットワークです。
ですがPC制御とマニュアル操作を混在できるとより魅力です。
例えば、スイッチのマニュアル操作で信号機を青にするとPC側で設定したプログラムによる自動運転が開始されて車両が発車し、何回か周回したあとでマニュアルで信号機を赤にすると駅で自動停車するといった具合です。
そのためにPCから制御信号を送るだけでなく、スイッチ操作による変化 (ポイントの切替結果や信号機の色の変化等)をPCが読み取れるようにします。
ポイント切替のPMD_S、SPD_S、信号機用のSIG3_S、SIG6_Sの各基板はスイッチ入力(マニュアル操作)とPC制御の両方を常時受け付けます。
車両を駆動するパワーパック(マニュアル操作)とPWR_S基板(PC制御)は完全に排他的な切替になります。
通信方式は以前試作したSNTCと同じループネットワークです。
【シリアルデータの送受信方式】
PCはループネットに接続された順序で各基板への命令データを送信し、最後にENDを示すデータを送信します。
各基板はシリアル通信で受信した先頭の1byteまたは2byteを自分への命令データとして受取り、対応する動作を行ないます。
それ以降のデータは次段へそのまま送信します。
ENDを示すデータが来たら、自分への命令データに対応して生成したデータを送信し、最後にENDを示すデータを送信します。
PCは各基板のデータを受取り、ENDが来たら1回のループ通信が終了します。
上記の通信を周期的に繰り返します。
コマンドと各基板からの応答をテーブル(pdf)にしたものを添付します。
ただし関連ソフト開発&テストはこれからなので暫定版です。
Protocol_Table2.pdf