吸収式冷凍機の制御方法(TRNSYS-USERSより)
メーリングリスト、TRNSYS-USERSにAbsorption chiller(吸収式冷凍機)の制御方法についての質問が流れていました。
How to control absorption chiller (Type 107)
質問者はスケジュールと条件によって冷凍機の運転状態を変えたいようです。具体的には、
- 貯湯タンクの温度が75℃に達したら冷凍機を稼働
- ただし、冷凍機が稼働するのは9:00-22:00のみ
という条件で制御する方法についての質問です。こういう制御に付いての質問って設備機器だったり、内部発熱のような負荷だったりとありがちです。
詳しくはリンク先を辿ると質疑のやり取りが確認できますが、それも面倒です。ということで、さくっとまとめてみると、
Control Signalを使えば解決
です。リンク先のスレッドでも説明されていますが、機器のコンポーネントにはたいていの場合、InputにControl signal(制御信号)が用意されています。これを使って運転状態を制御できます。
例えば、冷凍機(Type107)だとChiller control signalという項目が用意されています。
既定では”1“が設定されているので、常に運転状態になっています。この値を運転(1)、停止(0)で切り換えて制御します。何らかの方法で条件を判定して(1),(0)の値を作って入れてあげればOKです。
ここでは条件が2つあるので、手始めにそれぞれの判定処理について考えてみます。
温度で制御
単純に貯湯タンクの温度を条件に制御するならサーモスタットを使って、機器の運転を制御できます。(メーリングリストではEquationを使う方法も提案されていますが、モデルによっては収束しなくなるのでサーモスタットがおすすめです)
図はAquastat(Type113)を使って制御した例です。設定温度とDead band(不感帯)を設定するだけで(1),(0)を出力してくれるので簡単です。
スケジュール制御
時間による制御はType14など、スケジュールを扱うコンポーネントを使って運転(1)を出力する条件を用意します。これをControl signalへつなげば実現できます。
下の図は9:00-22:00の間だけ(1)を出力するスケジュールを用意して制御している例です。
温度とスケジュールで制御
さて、メーリングリストでは温度とスケジュール両方の条件で制御したいという質問です。
それぞれの条件判定はすで上述したとおりで、この両方の値を使ってControl signalの値を生成します。例えばEquationを使って判定する場合は図のような接続になります。
EquationではThermostat, Type14の両方の値が1で有れば運転(1)の値を出力すれば良いので、運転状態は、
OK_Chiller = OK_Aquastat * OK_Timer
のような簡単な式で判定できます。他にもAND関数を使うなど判定方法は考えられますが、基本的にControl signalの値を生成できればどんな方法でも問題ありません。
条件が増える場合には、Equationの手前で判定条件を増やしてあげれば対応できます。条件判定が複雑になるようであれば専用のTypeを作成する方法もあります。でも、一般的なケースではこのような方法で十分対応可能です。今回は冷凍機の例ですが、他の機器でも考え方は一緒です。条件判定の処理とControl Signalで処理できます。
動作環境
以下の環境で動作を確認しています。
Windows10 Pro(64bit, 1803)
TRNSYS18.00.0019(64bit)