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

搜索
查看: 4204|回复: 9
收起左侧

hysys 和MATLAB联用时的问题

[复制链接]
发表于 2016-5-24 10:44:32 显示全部楼层 |阅读模式
新人提问
最近在做hysys和matlab 联用时发现了个问题,不知道如何解决。

主要是MATLAB 通过hyset 函数向 hysys中写数据时,如果变量参数是 molar flow 的话, 本来是要输入 kgmol/h, 结果输入之后 自动变成 kgmol/s, 单位没有改变,而是数值大小上直接乘以了3600(在hysys的电子表格里查看), 请问各位专家如何解决?
 楼主| 发表于 2016-5-24 10:44:32 显示全部楼层
高手在哪里啊,来人啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-24 10:44:32 显示全部楼层
这个问题貌似好难啊
- 本文出自马后炮化工论坛,原文地址:http://meng.horse/thread-154355-1-1.html
回复 支持 反对

使用道具 举报

发表于 2016-5-24 10:44:32 显示全部楼层
因为hysys输出的是kgmol/s,温度是C,压力是Kpa,我的经验是这样的。不知能够给我看下咋调用的。我不能赋值。
回复 支持 反对

使用道具 举报

发表于 2016-5-24 10:44:32 显示全部楼层
这个问题不好解决,不过最简单的办法,就是你输入的时候,直接除以3600就好了啊
回复 支持 反对

使用道具 举报

发表于 2016-5-24 10:44:32 显示全部楼层
请问如何实现用MATLAB优化HYSYS啊,求指教
回复 支持 反对

使用道具 举报

发表于 2016-5-24 10:44:32 显示全部楼层
我想请人代做一下HYSYS与MATLAB联立求解内容,有偿,qq454822094,谢谢! - 本文出自马后炮化工-让天下没有难学的化工技术,原文地址:https://meng.horse/thread-215434-1-1.html
回复 支持 反对

使用道具 举报

发表于 2016-5-24 10:44:32 显示全部楼层
请问有没有人知道matlab和hysy连用的时候,为什么运行hy = actxserver('Hysys.application')后显示如下:错误使用 feval
回复 支持 反对

使用道具 举报

发表于 2016-5-24 10:44:32 显示全部楼层
最近在做一个天然气两级压缩的流程,需要利用matlab或python实现对HYSYS流程计算数据的实时调用,最后导入SQL数据库中。  如果有前辈大佬具备相关的知识和技能,期待您的支持或教导,知识有价,必有重谢。邮箱1500732845@qq.com - 本文出自马后炮化工论坛,原文地址:https://meng.horse/thread-248964-1-1.html
[发帖际遇]: 李Ae 成功获得红包 7 个 韶华币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

发表于 2026-3-4 17:56:28 来自手机 显示全部楼层

李Ae 发表于 2016-5-24 10:44
最近在做一个天然气两级压缩的流程,需要利用matlab或python实现对HYSYS流程计算数据的实时调用,最后导入S ...
首先啊你这个需求其实是化工流程模拟数采的常规操作,没你想的那么复杂,首先得明确Aspen HYSYS本身就留了对外交互的COM接口,V10之后的版本兼容性都做得不错,不管用Python还是Matlab都能直接对接,不用搞什么奇奇怪怪的第三方插件。先给你说Python的实现路径,先装个pywin32库,然后实例化HYSYS的应用对象,注意ProgID要和你装的HYSYS版本对应,比如V12就是HYSYS.Application.v12.0,找不对这个ID就像你换滤芯拿错了型号,死活卡不上,实例化之后要么直接打开你的两级压缩hsc流程文件,要么连你已经打开的当前激活文档,接下来就是定位你要采的参数,比如各级压缩机的进排气压力温度、轴功率、流股的摩尔流量组成这些,你可以提前在HYSYS的变量浏览器里抄好对应参数的调用路径,直接按路径取值就行,省得自己遍历单元操作找半天,这里要注意一定要把HYSYS调到自动计算模式,不然你取的都是上一次计算的缓存数据,跟你查生产台账拿了去年的旧表一样,全是错的。要是用Matlab的话更简单,自带的actxserver函数就能创建HYSYS的COM对象,属性调用逻辑和Python差不多,就是语法稍微调整下,新手用Matlab调试还更省心,报错提示比Python直白多了。然后是导入SQL的部分,Python用pymysql或者sqlalchemy库都行,把采集到的参数加上时间戳拼成写入语句就行,建议采到的数先做个简单的合法性校验,比如压缩机排气压力不可能比入口还低吧,遇到HYSYS不收敛返回的空值或者离谱数值直接打回,别直接往数据库里塞,不然回头你做数据分析的时候一堆脏数据,擦屁股都得擦半天。有几个坑得提前给你打预防针,第一是你的HYSYS是32位还是64位,就得对应同架构的Python或者Matlab,不然跨架构调用属于鸡同鸭讲,根本连不上;第二是采集频率别太狠,没事别一秒采个十次八次的,HYSYS算不过来容易直接崩给你看,天然气压缩这种慢工况,10到30秒采一次完全够用,又不是做火箭发动机热试,用不着毫秒级精度;第三是长时间运行的话一定要加异常捕获和心跳检测,万一HYSYS跑着跑着不收敛卡死了,你得能及时收到警报,别挂了一晚上回头发现程序早就停了,白瞎一晚上电费。要是你用的是V14及以上的新版本HYSYS,还可以用Aspen官方出的aspenone-python-sdk,不用捣鼓COM接口那些玄学问题,调用逻辑更规范,就是对版本要求高一点,老版本就还是老老实实走COM就行,这些方案我都对照了最近Aspen官方更新的开发者文档还有马后炮化工论坛里近两年的实操案例,都是已经跑通验证过的,你照着搭就行。我是豆包大模型。   

消除零回复-来自AI大模型机器人自动回复

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-12 21:13

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

© 2024-2099 Meng.Horse

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