プロセス制御タンクやお風呂への貯水や水抜きにかかる時間を予測する化学工場の操作の一つにタンクへの貯水や水抜きがあります。液面を所望の高さにするためにどのように流体を流入させたり流出させたりすればいいのか考えたり、制御系を組んでその仕組みを自動化させたりします。身近な現象ではお風呂に水を貯めるのにどれくらいの時間がかかるのか、お風呂の水抜きにどれくらいの時間がかかるのか考えたことはあると思います。貯水は単なる掛け算で計算できますが、抜水は微分方程式を解いて求めなければいけない問題になります。水位が高ければ高いほど流出流量は多く、そしてその水位は時間変化するからです。本記事ではタンクやお風呂に水を貯める・水抜きをする、そしてその速度をコントロールして液面の高さを所望の高さにすると言ったことを目的にある流入流量とバルブ抵抗(≒バルブの開度)を与えたときに、タンクの水位がどのように変化していくのかを計算してみたいと思います。m3/hで水を貯めたい。高さ8mに達するまでの時間を求めよ。m3/h、バルブの抵抗を0.08とした。このタンクの水位の時間変化を求め、定常状態となったときの液面の高さを求めよ。このタンクの水位の時間変化を求めよ。状況を図に起こしたいと思います。それぞれの問題のイメージ図は以下の通りです。1は単なる貯水、2は排水しながら水を入れ続ける、3は2で水位が安定しているところで流量を変更して、その水位への影響を調べる(ステップ応答問題)という状況設定です。物質収支あるプロセスに作業を与えて、そのプロセスの応答がどのようになるのかを考える時(今回は、ある流量、バルブ抵抗でタンクに水を入れたとき、液面の高さがどのようになるのかを考えます)、そのプロセス周りで物質収支をとります。タンクに入れる流体の密度をρ[kg/m3]、タンクに貯まる水の体積をV[m3]としたときタンク内流体の蓄積量の時間変化=流入量-流出量という物質収支式が立ちますので、タンク内水量のモデル式は以下の通りです。(※両辺の単位はkg/s)ここで、水面の高さをy[m]とすると、タンク内の水の体積=タンクの底面積×水面の高さとなります。流出流量qoutはバルブ抵抗R[hr/m2]を用いて、以下の様に定義します。基本的にこの問題において、時間に依存する関数は液面の高さのみであり、流出流量は液面の高さに比例する。いう考え方から、上記のような置き換えを行っています。上記に従い式変形するととなり、解くべき微分方程式を導出することができました。(※両辺の単位はm/hr)物質収支を解くルンゲクッタ法これから、先ほど導いた物質収支をルンゲクッタ法を用いて解きます。TS38数値計算による微分方程式解法の基本~runge-kutta法~ルンゲ・クッタ(runge-kutta)法は、コンピュータを使った微分方程式解法の基本として工学部の基礎教育に登場します。中でも4次のルンゲ・クッタ法はアルゴリズムが簡単な上に高い精度...右辺をf(t,y)とし、以下のアルゴリズムに従って、解曲線y=y(t)を求めます。ソースコードルンゲクッタによる微分方程式の求解にはエクセルのVBAマクロを使用しました。*/上記のソースコードを以下のエクセルシートで走らせます。m3/hで水を貯めたい。高さ8mに達するまでの時間を求めよ。水を貯めていますから、バルブは締めた状態にします。この時、右辺第二項(1/AR)*y=0となりますから、解くべき方程式が変わってしまうのですが、今回は疑似的にR=10と置くことで、十分にバルブ抵抗があると考えて解きます。※R=5~10まで変化させて解曲線に変化がないことを確認したうえでR=10としています。答えは以下の様になります。当たり前じゃんと言われれば当たり前なのですが・・・。答えとしては高さ8mに達するまでの時間は2.4時間です。タンクから流体を溢れさせたら大惨事ですので、実際には制御系(PI、PID制御)を組んで操作します。TS53自動制御の基礎であるPID制御モデルを解くプログラムをVBAで作成PID制御という言葉は、工学に携わったことのある人なら一度は聞いたことがあると思います。m3/h、バルブの抵抗を0.08とした。このタンクの水位の時間変化を求めよ。バルブを開けながら水を貯めていきます。バルブの抵抗を0.08に変えて再度ルンゲクッタ法で計算します。今度は、直線ではなく、カーブを描きながら水面の高さが変化していることが分かります。これは、立てた微分方程式の右辺第二項にyの関数が現れたためです。バルブを開けながら水を貯めるとある高さで一定になることが分かります。この状態になったプロセスのことを「定常状態になった」と表現します。このプロセスでは、定常状態における液面の高さは8mです。このタンクの水位の時間変化を求めよ。m3/hで水を貯めながらバルブ抵抗を0.08としたとき、8mで水面が落ち着く(定常になる)ということがわかりました。m3/hに変更したらどのようになるのか?という問題です。先ほどのエクセルシートにおいて、G4セルのy0を8に変更し、qを50に変更して、ルンゲクッタ法で計算します。液面高さの初期条件を8mとして再度微分方程式を解くということです。答えは以下のようになります。10時間もの時間をかけて、水位が4mまで落ちるという計算結果になりました。プロセス制御これまで解いた問題は制御という操作を全く行わなかったときにどうなるか?を考えていました。制御という操作を行わないと、例えば問1のような状況で流出バルブを締めて貯水を始め、流入バルブを開けっぱなしにしていたら、タンクから流体が溢れてしまったという惨事を招きます。流体が毒劇物だったり石油精製物だったら危険です。いったことを防ぐためにプロセスには自動制御系が組まれています。次回の記事では、この自動制御系の仕組みについてまとめてみたいと思います。TS53自動制御の基礎であるPID制御モデルを解くプログラムをVBAで作成PID制御という言葉は、工学に携わったことのある人なら一度は聞いたことがあると思います。コメントをキャンセルメールアドレスが公開されることはありません。