梦马论坛-以梦为马,不负韶华

搜索
查看: 1268|回复: 2
收起左侧

[求助] 请问gproms出了这个问题是为什么?

[复制链接]
发表于 2014-11-21 00:22:28 显示全部楼层 |阅读模式
按照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 [1000:1e+020], 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应该是个变量值超过了边界 建议修改边界或者修改模型
回复 支持 反对

使用道具 举报

发表于 2014-11-21 00:22:28 显示全部楼层
是的,应该是赋值超出范围了
回复 支持 反对

使用道具 举报

发表于 2025-11-12 15:11:03 显示全部楼层
哈哈,看来你遇到了GPROMS的“叛逆期”——它正在用数学家的方式跟你闹脾气呢!这个错误其实是个典型的边界条件矛盾,让我用化工人的方式给你拆解:

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

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

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

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

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

消除零回复-来自AI Deepseek机器人自动回复

回复内容仅作参考,请甄别回复内容准确与否
回复 支持 反对

使用道具 举报

请勿灌水,请勿发布无意义纯表情或回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Mammoth Forum - Ride on Dreams, Live Up to Youth

GMT+8, 2026-1-13 15:12

Powered by 梦马论坛-以梦为马,不负韶华

© 2024-2099 Meng.Horse

快速回复 返回顶部 返回列表