閉塞信号機に続き、駅の信号制御を始めました。 制御盤から場内信号機、出発信号機を制御します。
配線図(連動図表)です。
上下主本線と、上下副本線がある1線スルーの構成。
ありがちなのは2面3線なのですが、スペースと面白さの都合でこちら。
わかってないところ多数でそれっぽく書いてるだけなのですが…
本線側場内信号機の(31又は〇4L) は注意/進行を表現したつもりなのです。
が、安全側線がないので結局31は場内信号機反位時は常に定位固定で、意味をなしてない気もします。
2L → 4L は片鎖錠になるのかなーと思いつつ、継続研究課題。
今回は、動作を動画で撮影してみました。
1線スルーの主本線を通過するパターン。
場内信号機のテコを引いたあと、出発信号機のテコを引いているので、
まず場内注意が現示されてから出発に進行が現示されるのに連動して
場内も進行になります。
列車が通過すると停止現示に戻り、再びテコを引くまで停止現示のままです。
こちらは副本線で停車後、出発するパターン。
場内注意で副本線に入って停車後、出発してゆきます。
場内信号機と出発信号機は制御盤からの制御になります。
制御盤はタッチパネル(パソコン)で電子的に作りました。
ボードとスイッチでつくってもよいのですが、固定式レイアウトは持ってないので駅の配線も変わりますし、これならつくりかえられます。
タッチパネルの制御盤はパソコン上のWebアプリっていうちょっといっちゃってる構成。
アプリから1秒間隔でAWSからステータスを取得し、ポイントの開通方向と信号の状態を更新しています。
レバーを操作すると制御情報をAWSに送信します。
ステータス、制御情報はAWS IoTのDeviceShadowを介してラズパイとの間で同期されています。
ラズパイの上で動作するCodesysから信号、ポイントは制御されており、インタロックはデバイス側でとっています。
AWS IoTの Device Shadow から取得した制御信号でデバイスを制御、ステータスをAWSに返しています。
デバイス側です。Codesys と AWS Iot は直接やりとりできないので(たぶん)、一度AwsIotDeviceSDKで受けてから
Codesys のリンクプロトコルに変換してやり取りしています。
CodesysのリンクプロトコルはUDPのブロードキャストでできていて、ポート番号でプロファイルを識別する
仕組みになっているようです。本来はCodesysのソフトPLC間のリンク用なのですが、
同じデータ構造をつくれば外部から送受信ができます。
頑張って認識するようUDPのパケットを組み立てました。
配線図(制御盤)です。
駅名は実在ですが、実在とは関係ございません。。。
AWSと通信するWebアプリです。Angularで作りました。
レバー、信号ともにSVGでお手製。
閉塞区間の在線情報も出るようにしたいのですが、まだです。
駅名は実在の駅名が出ちゃってますが実物とは全く関係がないので気にしないよう。
なんとこれで、スマホやタブレットからでも制御可能、 世界中のどこからでも遠隔制御できてしまいます。 まだユーザ認証してないので誰でも制御できて、危険なことこの上ないですが…。
ポイントの制御回路です。 出力のOFF→ON,ON→OFFでそれぞれポイントの駆動回路にパルスで電流を流す必要があります。 Webサイトで紹介されている、スイッチを使用した手動の回路のスイッチをリレーで置き換えた構成としました。 出力のON/OFFに応じてリレーが回路を切り換え、回路が切り換わると電解コンデンサの充電/放電電流が ポイントのコイルを通って流れます。
PLCを使っているので出力回路で直接パルスを作る方法も思いつきましたが、 プログラムをミスするとコイルが焼けそうなのでやめました…
ポイントの制御基板。リレーと電解コンが並びます。まだ2回路。
電解コンの容量は2200μF~4700μF程度がよいようですが、連続稼働もしませんし、4700μFとして動作の確実性をとりました。
ちなみに最初、間違って駆動電圧を24Vにしてたのですがびっくりするほど豪快に動作しました…
背面です。
これがやりたくて駅を作っているという、2進路の場内信号機。
メイキングです。下は自分の備忘録…
緑が苦労するのですが、実は橙も結構幅があります。 赤に近いものを選ぶと、赤と橙の区別が…
支柱はエコーモデルφ1.2×0.8の真鍮パイプ、そこから信号板にφ0.6で腕を立てて、信号板をつけます。 信号板はGMの3灯式信号機から改造中。 これから塗装→LED取り付け→組み立て。梯子と点検台もつくらないといけません。先は長い…