案例5:加热器传递平衡应用的液位控制
(\Program Files\ShellGlobalSolutions\PCTP\Tutorial\SMOCPro\Tutorial5_PassBalancer.wsp)
这个例子是从原油精馏装置的加热器传递平衡控制应用中提取的。这项工作的目的是为了向用户说明在竞争性斜坡和稳定受控变量的存在下CV优先级的影响。
过程模型
SMOCPro模型包含了8个可允许流股作为操作变量(MVs)去达到控制目标。控制模型具有17个过程输出变量(POVs)并且编译为周期1.0min。请参阅workspace以了解关于模型的详细信息。
控制器设计
SMOCPro应用程序有以下4个控制目标:
控制塔液位到设定点(Level);
平衡加热器出口温度(TDZPass);
平衡每对旁路流股共享的共同出口温度(DF);
保持管表层温度低于高限(Skin Temperatures)。
该控制应用包含了一个单独的子控制器。如下所示,所有的模型POVs都被定义为被控变量(CVs)。
控制器的整定权重是:
最后,默认压缩点被用来搭建控制器。
该控制器没有经济函数和静态约束。
仿真
在本例中我们考虑到的方案都包含在workspace中。案例之间的唯一差别是液位(Level)CV的优先级。下表高亮了所考虑的不同的优先级。
Baseline_Level_Prio_50 | Level_Prio_30 | Level_Prio_20 |
---|---|---|
CV (类型)Priority(优先级) | CV (类型) Priority(优先级) | CV (类型) Priority(优先级) |
Skin Temperatures(表层温度) 1 | Skin Temperatures(表层温度) 1 | Skin Temperatures(表层温度) 1 |
DFij 10 | DFij 10 | DFij 10 |
TDZPassi 30 | TDZPassi 30 | TDZPassi 30 |
Level(液位) 50 | Level(液位) 30 | Level(液位) 20 |
所有的POV和MV变量初始条件,CV期望的Setrange值,以及MV操作条件如Maximum Move Rate和SP高低限等都存储在相应的仿真场景中(例:“Baseline_Level_Prio_50,” “Level_Prio_30” 和 “Level_Prio_20”。所有3个场景中Level和Skin Temperature等CVs都起始于各自的setranges内沿。剩下的CVs(增量流股“DFij” 和增量温度“TDZPassi”)都起始于setranges外部。控制器起始时处于“Standby”模式,且在第5步切换到“Control”模式。在第80,90,100和110步我们分别向Delta Temperatures引入不可测干扰(UNM)信号TDZPassA, TDZPassC, TDZPassE和TDZPassG。最后,在第300步我们将Level的设定点由50提高到60。
原文:
**Case 5: Heater Pass-Balancer Application with Level Control **
(\Program Files\ShellGlobalSolutions\PCTP\Tutorial\SMOCPro\Tutorial5_PassBalancer.wsp)
This example has been extracted from a heater pass balancer control application for a crude distilling unit. The goal of this exercise is to illustrate to the user the effect of CV priority in the presence of competing ramp and stable controlled variables.
**Process Model **
The SMOCPro model contains 8 flows available as manipulated variables (MVs) to meet the control objectives. The control model has 17 process output variables (POVs) and is compiled with a period of 1.0 minute. Please refer to the workspace for complete details about the model.
**Controller Design **
The SMOCPro application has the following four control objectives:
Control the column level to setpoint (Level),
Balance the heater pass outlet temperatures (TDZPass),
Balance the pass flows in each pair that share a common outlet temperature (DF), and
Maintain tube skin temperatures below high limits (Skin Temperatures).
The control application contains a single sub-controller. All of the model POVs are defined as controlled variables (CVs) as shown below.
The controller tuning weights are:
Lastly, default compaction points are used to build the controller.
The controller has neither Economic Functions nor Static Constraints.
**Simulation **
The scenarios that we consider in this example are all contained in the workspace. The only difference between the scenarios is the Level CV priority. The table below highlights the different priorities under consideration.
Baseline_Level_Prio_50 | Level_Prio_30 | Level_Prio_20 |
---|---|---|
CV (type) Priority | CV (type) Priority | CV (type) Priority |
Skin Temperatures 1 | Skin Temperatures 1 | Skin Temperatures 1 |
DFij 10 | DFij 10 | DFij 10 |
TDZPassi 30 | TDZPassi 30 | TDZPassi 30 |
Level 50 | Level 30 | Level 20 |
Initial conditions for all the POV and MV variables, desired Setrange values for the CVs as well as MV operating conditions such as Maximum Move Rate and SP High and Low limits are stored in the corresponding Simulation Scenario (i.e. “Baseline_Level_Prio_50,” “Level_Prio_30” and “Level_Prio_20”). For all three scenarios the Level along with the Skin Temperature CVs all start within their respective setranges. The rest of the CVs (delta flows “DFij” and delta temperatures “TDZPassi”) start outside their setranges. The controller starts in “Standby” mode and is switched to “Control” at step 5. At steps 80, 90, 100 and 110 we introduce ramp disturbances into the Delta Temperatures’ unmeasured disturbance (UNM) signals TDZPassA, TDZPassC, TDZPassE and TDZPassG, respectively. Lastly, at step 300 we raise the setpoint on the Level from 50 to 60.
2016.6.5