微信扫一扫
分享到朋友圈

动态控制共沸精馏分离正丁醇和水的研究 | APP技术稿第7期

作者:化工707 来源:化工707 公众号
分享到:

01-10

【本期由创举科技冠名播出,想了解更多点击


在上一章节《非均相共沸精馏的模拟优化设计、APP技术稿第6期》中,对正丁醇/水体系进行了稳态的分离设计。


1


在此基础上,添加合适的阀门,泵等压力驱动设备进行动态的设计。详细添加的流程如图1所示,



图1.添加压力驱动设备的流程图


在上述操作完成以后,对其塔釜罐子和倾析器的尺寸进行设计,在这里未进行详细的设计。分别选择直径为3米,高度为6米进行输入。两个塔的塔径分别为1.0米和1.7米。然后点击Pressure Checker压力检查器,进行压力的校验。出现如图2所示的即可进行下一步的操作,



图2.压差压力是否满足要求


在上述的压力检查合格的情况下,将Aspen文件导出为*.dynf格式的文件。这是动态的压力驱动模型文件,点击保存即可直接到Aspen Dynamics软件界面,



图3.导出*.dynf格式的文件


在动态软件添加控制器和控制方法的设计之前,首先需要选择最为重要的两个塔板的温度控制点,一般有三种方法:斜率法,敏感度分析法和奇异值分析法。在这里选择斜率法,根据塔体的温度剖型得到斜率的曲线如图4所示,两个塔分别选择第10块和第9块塔板作为灵敏板的位置,然后进行下一步控制方案的设计,



图4.温度剖型(上面两张)和斜率曲线(下面两张)



图5.控制方案的设计



图6控制面板


控制方案如图5所示,LC1,LC2分别为油相和水相;LC3和LC4分别为两个塔的塔釜液位控制器;T1_S1PC和T2_S1PC分别为两个汽提塔的塔顶压力控制器;TC1和TC2分别为两个精馏塔的灵敏板控制器;TC3为塔顶冷凝器的温度控制器,与其对应的控制面板见图6所示。



图7.温度控制器的整定参数


一般来说,控制方面的问题主要就是 PID控制参数的调试和联锁逻辑关系。在模型运行初期,所有控制器的PID参数都是建模时给的初始值,这些大多候并不合理,需要进行调试和修改。


例如工艺中的 液位控制器、流量等。PID参数调节时先高 P低 I,观察曲线的震荡情况;如果震荡频繁,减小P,观察曲线的震荡情况;使曲线趋于周期性缓慢震荡;再适当加大 I,减小余差,同时为了防止曲线震荡适当,减小余差同时为了防止曲线震荡适当P;上述均为手动调节的时候的方法,操作较为繁琐。


因此本文使用Tyreus-Luyben整定方法,直接得到三个温度控制器的PI参数,如图7所示。


主要的参数调谐完以后,就需要对控制方案的稳定性进行测定了,本文采用±10的流量和组分的扰动来对控制方案进行检测,详细的扰动图如下图所示;



图8. 流量扰动


2



function BW1

clear all;clc

x=xlsread('D:\\CS3.xlsx','sheet1','A3:A1003');

x1=xlsread('D:\\CS3.xlsx','sheet1','B3:B1003');

x11=xlsread('D:\\CS3.xlsx','sheet1','N3:N1003');

x2=xlsread('D:\\CS3.xlsx','sheet1','C3:C1003');

x22=xlsread('D:\\CS3.xlsx','sheet1','O3:O1003');

y1=xlsread('D:\\CS3.xlsx','sheet1','F3:F1003');

y11=xlsread('D:\\CS3.xlsx','sheet1','R3:R1003');

y2=xlsread('D:\\CS3.xlsx','sheet1','G3:G1003');

y22=xlsread('D:\\CS3.xlsx','sheet1','S3:S1003');

z2=xlsread('D:\\CS3.xlsx','sheet1','J3:J1003');

z22=xlsread('D:\\CS3.xlsx','sheet1','V3:V1003');

z3=xlsread('D:\\CS3.xlsx','sheet1','K3:K1003');

z33=xlsread('D:\\CS3.xlsx','sheet1','W3:W1003');

subplot(3,2,1)

plot(x,x1,'r-',x,x11,'b--','LineWidth',2)

set(gca,'XTick',0:2:10)

legend('-10% feed flow','+10% feed flow')

xlabel('Time (hr)')

ylabel('水的纯度')

subplot(3,2,2)

plot(x,x2,'r-',x,x22,'b--','LineWidth',2)

set(gca,'XTick',0:2:10)

legend('-10% feed flow','+10% feed flow')

xlabel('Time (hr)')

ylabel('正丁醇的纯度')

subplot(3,2,3)

plot(x,y1,'r-',x,y11,'b--','LineWidth',2)

set(gca,'XTick',0:2:10)

legend('-10% feed flow','+10% feed flow')

xlabel('Time (hr)')

ylabel('温度,℃')

subplot(3,2,4)

plot(x,y2,'r-',x,y22,'b--','LineWidth',2)

set(gca,'XTick',0:2:10)

legend('-10% feed flow','+10% feed flow')

xlabel('Time (hr)')

ylabel('温度,℃')

subplot(3,2,5)

plot(x,z2,'r-',x,z22,'b--','LineWidth',2)

set(gca,'XTick',0:2:10)

legend('-10% feed flow','+10% feed flow')

xlabel('Time (hr)')

ylabel('流量,kmol/h')

subplot(3,2,6)

plot(x,z3,'r-',x,z33,'b--','LineWidth',2)

set(gca,'XTick',0:2:10)

legend('-10% feed flow','+10% feed flow')

xlabel('流量,kmol/h')




图9. 组分扰动


function BW2

clear all;clc

x=xlsread('D:\\CS3.xlsx','sheet1','A3:A1003');

x1=xlsread('D:\\CS3.xlsx','sheet2','B3:B1003');

x11=xlsread('D:\\CS3.xlsx','sheet2','N3:N1003');

x2=xlsread('D:\\CS3.xlsx','sheet2','C3:C1003');

x22=xlsread('D:\\CS3.xlsx','sheet2','O3:O1003');

y1=xlsread('D:\\CS3.xlsx','sheet2','F3:F1003');

y11=xlsread('D:\\CS3.xlsx','sheet2','R3:R1003');

y2=xlsread('D:\\CS3.xlsx','sheet2','G3:G1003');

y22=xlsread('D:\\CS3.xlsx','sheet2','S3:S1003');

z2=xlsread('D:\\CS3.xlsx','sheet2','J3:J1003');

z22=xlsread('D:\\CS3.xlsx','sheet2','V3:V1003');

z3=xlsread('D:\\CS3.xlsx','sheet2','K3:K1003');

z33=xlsread('D:\\CS3.xlsx','sheet2','W3:W1003');

subplot(3,2,1)

plot(x,x1,'r-',x,x11,'b--','LineWidth',2)

set(gca,'XTick',0:2:10)

legend('9 mol% B','11 mol% B')

xlabel('Time (hr)')

ylabel('水的纯度 ')

subplot(3,2,2)

plot(x,x2,'r-',x,x22,'b--','LineWidth',2)

set(gca,'XTick',0:2:10)

legend('9 mol% B','11 mol% B')

xlabel('Time (hr)')

ylabel('正丁醇的纯度 ')

subplot(3,2,3)

plot(x,y1,'r-',x,y11,'b--','LineWidth',2)

set(gca,'XTick',0:2:10)

legend('9 mol% B','11 mol% B')

xlabel('Time (hr)')

ylabel('温度,℃')

subplot(3,2,4)

plot(x,y2,'r-',x,y22,'b--','LineWidth',2)

set(gca,'XTick',0:2:10)

legend('9 mol% B','11 mol% B')

xlabel('Time (hr)')

ylabel('温度,℃')

subplot(3,2,5)

plot(x,z2,'r-',x,z22,'b--','LineWidth',2)

set(gca,'XTick',0:2:10)

legend('9 mol% B','11 mol% B')

xlabel('Time (hr)')

ylabel('流量,kmol/h ')

subplot(3,2,6)

plot(x,z3,'r-',x,z33,'b--','LineWidth',2)

set(gca,'XTick',0:2:10)

legend('9 mol% B','11 mol% B')

xlabel('Time (hr)')

ylabel('流量,kmol/h ')



3


此为MATLAB的画图程序,可以放在新建的脚本里面,把相应的动态数据放在Excel里面,置于D盘即可运行得到文章内的图。


从图8可以看出,在流量扰动(900kmol/h和1100kmol/h)的两种情况下,水和正丁醇的纯度;两块灵敏板的温度;产品的流量扰动较为明显,可以看出此控制方案对流量扰动的敏感性较大,可能是因为倾析器的尺寸设计问题,导致有机相和水相未达到最佳的分离效果即进入两个汽提塔进行分离了。


从图9可以看出水和正丁醇的纯度可以再较短的时间内恢复稳定,说明此控制方案对组分波动可以实现较好的控制。


在后续的工作中,可以对此控制方案进一步的改进和优化。使用前馈控制方案来增大控制方案的抗干扰性。


声明:对于设计的初始值均来自于文献[1],如有雷同或者涉及到机密请联系删除,谢谢。


参考文献:

[1]. William L. Luyben Control of the Heterogeneous Azeotropic n-Butanol/Water Distillation System. Energy & Fuels 2008, 22, 4249–4258.

[2] William L. Luyben and I-Lung Chien Design and Control of Distillation Systems for Separating Azeotropes, 2010.



作者简介

1. 姓名:杨傲;性别:男


2. 邮箱:yang-ao@cqu.edu.cn联系地址:重庆市沙坪坝区重庆大学虎溪校区兰苑


3. 毕业院校:重庆大学 

 专业:化学工程与技术 

 学历:硕士


4. 专业领域:化工过程研发与优化;在反应过程、分离过程等实验数据的基础上,进行流程设计、单元计算、过程优化;化工过程系统集成与网络优化,系统热力学分析与评价。


主要针对萃取精馏,共沸精馏,变压精馏,萃取分隔壁精馏,反应分隔壁精馏及热泵精馏等进行优化设计和控制。


针对优化采用SQP优化算法和遗传算法NSGA-II对流程进行优化,引入新的目标函数可以避免非线性函数的影响。针对稳态流程的模拟,采用Aspen Plus Dynamic对其进一步的动态研究。




扫码报名



点个赞,让世界多一份美好:)


阅读9283
动态 技术 
举报0
关注化工707微信号:gh_430d84f19d48

用微信扫描二维码即可关注
声明

1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“化工707”微信公众号,文章版权归化工707公众号所有。

评论
更多

文章来自于公众号:

邮箱qunxueyuan#163.com(将#换成@)
微信编辑器
免责声明
www.weixinyidu.com   免责声明
版权声明:本站收录微信公众号和微信文章内容全部来自于网络,仅供个人学习、研究或者欣赏使用。版权归原作者所有。禁止一切商业用途。其中内容并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现头条易读网站上有侵犯您的知识产权的内容,请与我们联系,我们会及时修改或删除。
本站声明:本站与腾讯微信、微信公众平台无任何关联,非腾讯微信官方网站。