有关安装和使用说明,请参见文件末尾。
此Zip存档的内容:
ADCHEM15_0010.pdf提交给ADCHEM 2015的论文,提供了详细信息和 描述修改后的代码的优点。
temexd_mod.c编译TEMEX mex文件的C源代码。请注意,版本要求将干扰标志作为输入信号,不是参数。因此,它们可以随着时间而改变。看源代码开头的注释以获取详细信息模型要求和选项。
teprob_mod.h编译时需要C头文件。
temexd_mod.mexw64准备在Windows 64位系统上使用的Mex文件。它是使用MATLAB mex命令与Microsoft Visual Studio 2013 c编译器并经过测试在MATLAB / Simulink版本R2014b中。
R12_Example.m MATLAB测试脚本,该脚本以开环方式运行工厂方式。
tesys.mdl由R12_ExampleScript.m调用的Simulink开环模型。
teplot.m在某些模拟结束时绘制结果的脚本。
MultiLoop_mode1.mdl Simulink模型中控制策略的描述 “Decentralized control of the Tennessee Eastman Challenge Process”, N. L. Ricker, J. Proc. Cont., Vol. 6, No. 4, pp. 205-221, 1996. 它被设置为初始化并与在“模式1”运行条件下的恒定设定值。笔记:不包括覆盖循环。
.mdl文件调用两个自定义脚本(第34和35行):
PreLoadFcn“ Mode_1_Init”
StopFcn“ TEplot”
这些初始化模拟变量并绘制结果
在运行结束时。参见文件“ Mode_1_Init.m”和
有关更多详细信息,请参见“ TEplot.m”。
MultiLoop_mode3.mdl与MultiLoop_mode1.mdl相似,但设计为在以下位置运行模式3条件。包括其他替代当分离器冷却液阀超过90%。如果这不包括在内,冷却液阀饱和并且系统失去对反应堆液位的控制。
MultiLoop_Skoge_mode1.mdl与上面类似,但是使用控制策略在“大型工厂的自我优化控制:“Self-Optimizing control of a large-scale plant: the Tennessee Eastman process” Larsson, T., et al., Ind. Eng.Chem. Res., Vol. 40, pp. 4889-4901, 2001.
它会自动运行“ Skoge_Mode1_Init.m”和“ TEplot.m”。
运行时会自动执行Mode_1_Init.m脚本文件“ MultiLoop_mode1.mdl”。
运行时会自动执行Mode_3_Init.m脚本文件 “ MultiLoop_mode3.mdl”。
Skoge_Mode1_Init.m如上所述,但适用于“ MultiLoop_Skoge_mode1.mdl”。
Mode1xInitial.mat包含“ MultiLoop_model.mdl”的初始条件。它由脚本文件“ Mode_1_Init.m”加载,该文件为打开“ MultiLoop_model.mdl”时自动执行。
Mode3xInitial.mat包含“ MultiLoop_mode3.mdl”的初始条件。它由脚本文件“ Mode_3_Init.m”加载,该文件为 打开“ MultiLoop_mode3.mdl”时自动执行。
Mode1SkogeInit.mat如上所述,但适用于“ MultiLoop_Skoge_mode1.mdl”。
TElib.mdl一个包含两个控制器块的Simulink库。这些都是在两个“ MultiLoop”仿真中使用。
系统要求:
使用MATLAB / Simulink版本R2014b进行了测试。与之兼容的程度较早的版本是未知的。
安装:
1)将档案解压缩到新目录中。
2)启动MATLAB,并将上述新目录设置为默认目录。
3)如果您的系统不是Windows 64位计算机,则需要使用MATLAB mex命令来编译C源代码并创建一个mex文件。
请参阅C源代码开头的说明。为了运行在模拟示例中,mex函数必须命名为temexd_mod。笔记:该代码包含约4000行,可能要花几分钟的时间进行编译。
测试代码:
4)尝试运行R12_ExampleScript.m文件。这说明了哪个工厂正在开环运行。指定的模拟时间为5小时但是大约1小时后,开环不稳定的设备超过了最大值反应堆压力,模拟会自动终止。剧情展示一些关键变量的瞬态。如果可行,则您的安装应可以
5)尝试运行一种闭环模型。如果收到“找不到文件”或MATLAB中的“变量未定义”错误,确保初始化