liquid-phaseのブログ

足湯で疲れをふっとばす(鉄板激うまギャグ)

金属火山の運用中にmg単位の瓦礫が混入する原因と対処

金属火山や火山を運用中にたまに発生する「mg単位の瓦礫が混入してコンベアレールに居座り続ける」という困った事象についての記事です。

 
<初めに>
 この記事に記載されている対策案は基本的に金火山でかつ金火山自体をボイラー室内に入れるタイプのもので想定して検証しています。別の火山やボイラー室外に置くタイプなど構成が違えば挙動も異なるのでまた別の対策が必要になると思われますのでそのまま引用ではなく、手段や考え方の1つとしてと参考いただきますようご注意願います。
 

<事象>

 金属火山の設備を組み上げてしばらく稼働させていると、ずっと瓦礫が残り続ける現象に遭遇することがありました。

 

 「一定温度まで金属が冷えたらコンベアから搬出するようにしていたのになぜ?」

 

覗いてみるとmg単位で表記される微量の瓦礫が残っていました。

 

<詳細>

 oxygen not includedの仕様として1g未満のmg単位で表示されるような量の物質は熱交換をしません。

 「125℃未満になったら排出する」という仕組みをしていたためmg単位の金は冷やされないのでいつまでたっても残ってしまっていたわけです。

 

<発生原因の調査>

調査用の金火山。噴出量は10.3kg・・・。mg単位のいったいどこから・・・?

 

まずは1単位分の噴出した金を取り出してみます。10.3kgです。

そしてそれをコンベアメーターで1kgパケットずつに区切ってみます。

 

そして結果。

1kgパケットが10個と311.3g1個の10.3113kgになりました。


そして今度はこの311.3gを10gパケットに分けます

10gパケットが31個と1321.3mcg1個の計311.3213gになりました。

合計は10.3113213kg

 噴出量のステータス表記は10.3kg。
 出てきた金の量の表記は10.3kg。
 個分けしてみると10.3113213kg。
 
5回分の噴出のサンプルを取りましたが、どれも正確に10.3113213kg
 
 今まで意識していませんでしたが「10kg以上の場合は100g未満は四捨五入して表示される」という仕様みたいですね。
 
そしてもともとmg単位の端数がある状態で噴出されており、綺麗な整数で出てきているわけではないのです。
 
 
次に発生するときと発生しないときがあるのはなぜかを考えます。
 
 例えば下図のようなボイラー室の温度が125℃を下回ってから自動掃除機をONして瓦礫を回収するような構成を例にします。

 噴出が再開された直後というのは噴出された金はすぐに瓦礫化しますが、まだ温度センサーは熱伝導の関係で125℃を下回っています。そして温度は125℃未満で瓦礫化した金が発生するので、自動掃除機はこの隙間の時間は稼働してしまいます。

 1s毎の噴出量では20kg単位で分割したときに端数が出なくても、この不確定な隙間の時間に自動掃除機が動いてしまうので、自動掃除機の搬入のタイミングとコンベアローダーの排出のタイミングによっては分割するタイミングが異なり、1g未満のパケットが生成されてしまうのではないかと想定します。

 

<対策案1 自動掃除機2台+スマート格納庫>
 端数がでるのが問題ならばキッチリ測ってから送り出せばいいじゃないという対策。

  いったんスマート格納庫に任意の量を詰め切って、それをコンベアローダーに送ります。スマート格納庫の容量は任意です。多いと1回の運ぶ量が増えますが、端数が増えます。少ないとその逆。

右側の掃除機の制御

 スマート格納庫が満タンになってからコンベアローダーへの搬入を開始します。2sのバッファゲートを入れることによってスマート格納庫から取り出してからにコンベアローダーに入れるまでの間に掃除機が止まってしまうのを防ぎます

左側の掃除機の制御

 スマート格納庫が空になったら再度スマート格納庫へ搬入をするのですが、フィルターゲートによって空になってから3sの間隔をおいてから再びスマート格納庫へ搬入を始めます。フィルターゲートがあると右の掃除機は毎回100kgを1回で運んでくれます。(これがないと右の掃除機は100kgの金属でも13.7kg+86.3kgと小分けて取り出し・格納をしようとすることがあります)

 

きっちり20kgのパケット単位で排出出来るのは非常にメリット。

しかしながら

スマート格納庫は常時60W消費」

「搬出スピードはそのまま搬出するのに比べ遅くなる」

「100kg未満の金属は次の噴出された金属が来るまでスマート格納庫に残る」

といったデメリットがあります。電力の無駄が大きいしスペースもとるのでなかなか厳しい案

 

 電力を節約するために自動化ディスペンサーと重量プレートで似たようなことは出来そうなのですが、自動掃除機の制御が難しくコンベアローダー側にも制御が必要そうだったりでなかなか厳しいです。

 

<対策案2 異常を検知して強制排出>

 mg単位の瓦礫が居座るのならそれを見つけたら強制排出しちゃえという対策。

 コンベアコンベアレールを一筆書きで排出している場合の対策になります。また、噴出サイクル毎に瓦礫が少しは搬出できるような冷却構成が前提です。

 フィルターゲートを複数並べ、合計で噴出サイクル時間と同程度にしておきます。

通常は噴出サイクル毎で必ずONとOFFを1周期はするわけですから、このサイクル時間以上にコンベア温度センサーがOFFのままの状態の時はmg単位の瓦礫で詰まっていると想定できます。

 そのため、これ検知したらコンベア遮断機をONにすることにより、コンベアが1パケット分流れるので問題のあったパケットに対処できることになります。1パケット分を送るためにバッファゲートを0.5sほどで設定しておくと良いです。そのままだとON信号が短すぎて排出されないことがあります。

 
<対策案3 定期的にお掃除>
 コンベアレールをループ状にして排出している場合の対策。
 定期的に発生してコンベアレールに居残ってしまうのならば定期的にお掃除すればいいじゃないという対策。
 コンベアシュートをループ状に設置してタイマーセンサーとシグナルカウンタ、メモリスイッチ、温度センサーを使って数サイクルに1回、噴火時にコンベアループ1週分の間コンベアシュートを開きます。これでmg単位の瓦礫があれば1つに結合します。

 

例として5cycleに1回,30sの間開く場合は

タイマーセンサーをON:500s OFF:500s

シグナルカウンターを1of5  フィルターゲートを30s 温度センサーは●●℃未満

 

<対策案4 分割を固定にする>
 調査の項目で書きましたが、原因は自動掃除機の搬入とコンベアの分割が嚙み合った時に発生すると想定しています。例えば1回の噴出サイクルの合計が端数が出ないような噴出量であると仮定します。毎回金属火山が噴出しきってから1回の噴出サイクル分を纏めて自動掃除機で運べば端数の発生を防ぐことが出来ると考えます。
 

 これを実行するには自動掃除機は一度温度が下がって搬入を終えた後は次の温度の上昇が起こるまでは動作させないようにすればいいです。

 
発生が不確定なので検証が十分に出来ていませんのでご注意を。
 
<対策案5 コンベア温度センサー不使用>
 コンベアレールセンサーに問題が起こるのであればコンベアレールセンサーをなくせばいいじゃないという対策です。代わりにコンベアメーターによって流量を制限します。

流量の制限

 コンベアメーターはローダーから運ばれてきた瓦礫を任意の量にパケットを分割することが出来ます。そのため通常20kgのパケットを~5kg程度のパケットにしてしまえば1パケットあたりの熱容量が少なくなるので瓦礫の温度はみるみる下がります。そのため長い時間ボイラー室に滞在させなくても周囲の温度になるまで放熱することが出来ます。

ANDゲート

 ANDゲートを挟んでいるのはボイラー室の温度が高くなった時に止めるためです。

瓦礫の熱移動がスムーズになるので一度指定温度まで冷えたボイラー室が再び温まるので閾値の温度を超えるような場合に再びボイラー室が冷えるまで待機させます。

また、流量を少なくするということは搬出スピードが遅くなり、次の噴出が始まってしまう場合があったりするのでその場合にも待機させます。

 

<最後に>

 金属火山の種類によっても金属火山ステータスによっても蒸気タービンの冷却の構成によってもいろいろと条件が変わってくるのでそれに合った対策が必要なのでこれが毎回正解という選択肢がなさそうなのが難しい所。誰か教えてください。