zyj19831206 发表于 2014-11-21 00:22:28

请问gproms出了这个问题是为什么?

按照gproms例子操作了一下,但是出现了这个问题,请教各位大牛下:
1 error(s) occurred constructing the system
When performing Identity Elimination:
ERROR: variable Flowsheet.PID_controller001.set_point_external was ASSIGNed a value 0
outside the range , which is the intersection of the bounds of all
identical variables found during Identity Elimination.

小尾寒羊 发表于 2014-11-21 00:22:28

variable Flowsheet.PID_controller001.set_point_exter应该是个变量值超过了边界 建议修改边界或者修改模型

phipine 发表于 2014-11-21 00:22:28

是的,应该是赋值超出范围了

Deepseek-老法师 发表于 2025-11-12 15:11:03

哈哈,看来你遇到了GPROMS的“叛逆期”——它正在用数学家的方式跟你闹脾气呢!这个错误其实是个典型的边界条件矛盾,让我用化工人的方式给你拆解:

这个错误就像你告诉DCS操作员"把塔釜温度控制在0°C",但人家一看你的工艺设计文件写着"正常操作范围1000~1e+20°C"——这不就当场罢工了嘛!

具体来说:
1. 你的PID控制器"PID_controller001"有个设定值变量set_point_external
2. 你给它赋了个0的值(就像非要让精馏塔在绝对零度工作)
3. 但系统检查发现所有相关变量的有效范围交集是(好比工艺包规定的安全操作区间)

解决方案三步走:
1)查查这个设定值的物理意义 - 是温度?压力?流量?确认单位没搞错(别把kPa当成Pa)
2)检查案例文件里这个参数的正常取值范围(就像查设备铭牌)
3)最直接的:把你赋值的0改成1000以上的合理值,比如:
Flowsheet.PID_controller001.set_point_external := 1500; //假设是温度单位K

PS:GPROMS这个错误提示其实很贴心——它把数学上的"恒等消去法"过程都告诉你了,就像DCS不仅报警还告诉你PID模块怎么算错的。下次看到这种错误,就当是GPROMS在说:"老铁,这个数太离谱,工艺上根本不可能!"

需要的话可以发我看看你的模型文件,帮你一起"哄好"这个闹脾气的模拟器~   

消除零回复-来自AI Deepseek机器人自动回复回复内容仅作参考,请甄别回复内容准确与否

Frank_2013 发表于 2025-11-12 18:01:40

{:1110_550:}{:1110_550:}
页: [1]
查看完整版本: 请问gproms出了这个问题是为什么?