ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

HTRI二次开发教程(14):与流程模拟软件集成(下)——XSimOp ShellTube 与 CAPE-OPEN

HTRI二次开发教程(14):与流程模拟软件集成(下)——XSimOp ShellTube 与 CAPE-OPEN HTRI二次开发教程14与流程模拟软件集成下——XSimOp ShellTube 与 CAPE-OPEN版本与事实声明版本锚点当前Xchanger Suite 9.4。官方 XSimOp 描述“Get HTRI accuracy inside your process simulator environment! XSimOp is a new line of unit operation calculation modules for process simulators. The first of these products,XSimOp ShellTube, is available for Honeywell UniSim® Design Suite and KBC Petro-SIM®. Additional exchanger types and process simulators will be considered in the future.”官方 Xist 描述“Can beembedded as a unit operation in any process simulator supporting CAPE-OPEN.”示例代码中标识符为占位符数值均为示例性建模不代表任何标准规定。一句话结论要在流程模拟器里用 HTRI正路有两条——商业集成 XSimOp ShellTube官方具名已集成 Honeywell UniSim Design Suite 与 KBC Petro-SIM界面由模拟器托管、数据共享免重复录入目前仅管壳式、仅这两款模拟器与标准集成 CAPE-OPENXist 可嵌入任何支持 CAPE-OPEN 的模拟器选哪条取决于你的模拟器在不在 XSimOp 名单里——不在名单就用 CAPE-OPEN别指望官方为你的模拟器单开一版。〇、本篇要解决的认知问题Q1XSimOp 是什么它的定位与 Xchanger Suite 桌面模块有何不同Q2XSimOp 目前支持哪些模拟器与换热器类型为什么必须记住目前这个词Q3CAPE-OPEN 是什么标准Xist 在其中扮演什么角色Q4XSimOp 与 CAPE-OPEN 两条路工程上怎么选Q5用 XSimOp 时数据共享免重复录入对工作流意味着什么脚本还要不要写一、机制解析1.1 XSimOp 的定位把 HTRI 塞进模拟器官方 Software 页把 XSimOp 列为非核心软件产品可独立许可“XSimOp是a new line of unit operation calculation modules for process simulators”官方口号是Get HTRI accuracy inside your process simulator environment!。与桌面模块的区别维度Xchanger Suite 桌面模块如 XistXSimOp ShellTube宿主独立桌面程序模拟器内部unit operation目标详细设计/校核/模拟含几何、报告、图流程级快速、准确计算界面Xchanger Suite 界面托管在流程模拟器内的单一界面数据独立案例文件*.htri与模拟器模型共享数据当前范围十模块仅 ShellTube仅 UniSim Design 与 KBC Petro-SIM1.2 目前这两个字的分量官方原文的关键限定first productXSimOp ShellTube, available forHoneywell UniSim® Design Suite and KBC Petro-SIM®“Additional exchanger types and process simulatorswill be considered in the future”。为什么这对你重要这是产品路线声明不是承诺。含义有二别在 Aspen Plus / HYSYS / PRO/II 上等 XSimOp——官方只说未来会考虑要评估其它模拟器走 CAPE-OPEN 或文件导入第 13 篇。同时注意XSimOp ShellTube 与UHX 模块有商业捆绑关系——Honeywell 的 UniSim Design 资料提到HTRI Xchanger Suite and HTRI XSimOp modules bundled together with the respective UHX modules, as an alternative to HTRI subscription。也就是说获取渠道不止HTRI 订阅一条选择前要问清许可来源。1.3 CAPE-OPEN标准集成路径CAPE-OPEN是流程模拟领域的开放接口标准CAPE Computer Aided Process Engineering。官方 Xist 页明确“Can be embedded as a unit operation in any process simulator supporting CAPE-OPEN”Features 页也把CAPE-OPEN compliant applications列入可接口对象。它的价值在于通用性只要模拟器支持 CAPE-OPEN 单元操作Xist 就能作为其中一种单元操作嵌入——不依赖厂商一对一的商业集成。代价是CAPE-OPEN 的成熟度、支持的参数范围、以及能嵌入 ≠ 全功能具体能力边界以官方文档与实测为准官方未公开 Xist 的 CAPE-OPEN 单元所暴露的完整参数集属底账 U8/U10 范畴。1.4 两条路的分工矩阵场景推荐路径理由模拟器是 UniSim Design / KBC Petro-SIM且只要管壳式XSimOp ShellTube官方具名集成、界面统一、数据共享、免重复录入模拟器支持 CAPE-OPEN且需嵌入 XistCAPE-OPEN通用、不依赖一对一商业集成模拟器不支持 CAPE-OPEN也不在 XSimOp 名单文件导入 外部校核用 Xist/Xchanger Suite 独立校核结果回填模拟器第 13 篇要批量、无人值守、跨案例扫描外部 Automation Server 驱动 Xchanger SuiteXSimOp 面向交互式流程模拟批量扫描仍是 Automation Server 的主场第 08 篇决策逻辑经验法则流程级、交互式、单一模拟器选 XSimOp/CAPE-OPEN批量、跨案例、要落库选外部 Automation Server。两者不冲突——很多团队是模拟器里用 XSimOp 做流程批量校核用 Automation Server 跑案例集。1.5 数据共享对工作流的意义XSimOp 的官方卖点之一是Data shared between models within the process simulator, eliminating the need for re-keying模拟器内模型间共享数据消除重复录入。对工作流流程改变流量、温度、组成会自动传导到换热器单元——这是相对导出数据表再导入 HTRI的巨大效率优势。但要清醒数据共享 ≠ 你的脚本就不用写了。数据共享是在模拟器内的自动传导如果业务要扫 100 组工况、结果落库、出报表你仍然需要脚本去驱动模拟器或驱动 Xchanger Suite这正是本系列的主线。1.6 集成路线的三条工程纪律纪律一先问引擎在谁手里。在模拟器里算换热器时真正执行 HTRI 方法的是被嵌入/被调用的 HTRI 引擎。因此第一问永远是这个引擎是模拟器侧的 XSimOp 许可还是 HTRI 侧的订阅许可两条许可来源不同第 13 篇的前置检查授权不清会直接卡住项目。纪律二把换热器单元当成流程模型的一部分来管。XSimOp 的界面由模拟器托管、数据与流程共享这意味着换热器的输入会随流程变化而变。做版本管理时不能只存换热器案例还要存流程模型版本——否则半年后无法复现当时那个流程下换热器算的是多少。纪律三交互式与批量分两条线不混用。XSimOp/CAPE-OPEN 面向流程级、交互式、单一模拟器批量扫描、跨案例落库、优化闭环仍是外部 Automation Server 的主场第 08 篇。别试图用模拟器内的单元操作去做批量扫描——那不是它的设计目标你会撞上调度与落库的所有难题。一条证据纪律官方对 XSimOp 与 CAPE-OPEN 的描述都带范围限定前者仅 ShellTube、仅两款模拟器、其它 future consideration后者能力边界以官方为准参数集未公开。引用这些能力时必须连同限定一起引用——只讲支持 CAPE-OPEN而不讲边界是最容易误导同事的表述方式。二、完整代码与逐行剖析代码 14-1集成路径选型器可运行# -*- coding: utf-8 -*- route_select.py —— HTRI 与模拟器集成路径选择器 用法python route_select.py 说明本脚本把你对模拟器与需求的描述映射到推荐路径 名单以官方文档为准XSimOp 目前仅 UniSim Design 与 KBC Petro-SIM。 importjsondefselect_route(simulator_name,supports_cape_open,need_batch,exchanger_type):返回 (route, reason)simsimulator_name.lower()xsimop_sims[unisim design,unisim,kbc petro-sim,petro-sim]in_xsimopany(kinsimforkinxsimop_sims)ifneed_batch:return(automation_server,批量/无人值守/跨案例扫描走外部 Automation Server 驱动 Xchanger Suite)ifexchanger_type!shell_tube:# XSimOp 目前只有 ShellTubeifsupports_cape_open:return(cape_open,非管壳式且模拟器支持 CAPE-OPEN用 Xist 以单元操作嵌入能力边界以官方为准)return(file_import,非管壳式且模拟器不支持 CAPE-OPEN走文件导入 Xchanger Suite 独立校核)# 管壳式ifin_xsimop:return(xsimop,管壳式 模拟器在 XSimOp 官方名单内UniSim Design / KBC Petro-SIM)ifsupports_cape_open:return(cape_open,管壳式 模拟器不在 XSimOp 名单但支持 CAPE-OPEN用 CAPE-OPEN 嵌入 Xist)return(file_import,模拟器不在 XSimOp 名单且不支持 CAPE-OPEN走文件导入)defmain():scenarios[# (模拟器, 支持CAPE-OPEN, 需批量, 换热器类型)(UniSim Design,True,False,shell_tube),(Aspen Plus,True,False,shell_tube),(HYSYS,True,True,shell_tube),(某自研模拟器,False,False,shell_tube),(UniSim Design,True,False,air_cooler),]out[]forsim,cape,batch,typinscenarios:route,reasonselect_route(sim,cape,batch,typ)out.append({simulator:sim,cape_open:cape,batch:batch,exchanger:typ,route:route,reason:reason})print(f{sim:14}批量{batch!s:5}类型{typ:11}-{route})withopen(route_decisions.json,w,encodingutf-8)asf:json.dump(out,f,ensure_asciiFalse,indent2)print(\n已写出 route_decisions.json)print(注意XSimOp 目前仅 ShellTube、仅 UniSim Design 与 KBC Petro-SIM其它为future consideration不作为承诺。)if__name____main__:main()逐行剖析need_batch优先级最高只要批量/无人值守就回到 Automation Server——这是本系列一以贯之的立场XSimOp/CAPE-OPEN 面向交互式流程模拟。exchanger_type ! shell_tube直接排除 XSimOp把目前仅 ShellTube这一官方限定做成硬规则避免使用者误以为 XSimOp 能算空冷/板式。in_xsimop用名称子串匹配代码里的名单只是官方具名的两款UniSim Design、KBC Petro-SIM并注释提醒其它模拟器属 future。每个分支都返回reason选型器不只是给答案还给出理由便于人工复核与知识传递。打印future consideration不作为承诺把官方措辞的限定性写入产物防止下属把未来考虑当成即将支持。输出route_decisions.json选型决策也落盘进入审计链第 10 篇纪律。代码 14-2XSimOp 数据共享的一致性核对表# -*- coding: utf-8 -*- xsimop_consistency.py —— XSimOp 数据共享场景的一致性核对 用法python xsimop_consistency.py 说明XSimOp 的数据共享、免重复录入发生在模拟器内 本脚本产出一张核对表帮助你验证流程侧参数是否真的传导到了换热器单元。 本脚本不连接任何软件只生成待人工/脚本核对的字段清单。 importcsv# 停留点流程侧 - 换热器单元侧应保持一致的字段示例CHECKLIST[(流程进料流量,换热器单元.热侧流量,kg/s),(流程进料温度,换热器单元.热侧进口温度,C),(流程组成,换热器单元.热侧组成,-),(冷却介质温度,换热器单元.冷侧进口温度,C),]defmain():withopen(xsimop_consistency_checklist.csv,w,newline,encodingutf-8-sig)asf:wcsv.writer(f)w.writerow([流程侧字段,换热器单元侧字段,单位,期望一致,实测一致(填yes/no),备注])fora,b,unitinCHECKLIST:w.writerow([a,b,unit,yes,,])print(已写出 xsimop_consistency_checklist.csv)print(用法在模拟器内改动流程侧参数后逐行核对换热器单元侧是否随之更新)print( 免重复录入的前提是数据确实共享——这张表就是验证它。)if__name____main__:main()逐行剖析把官方的数据共享、免重复录入卖点转成可验证的核对表卖点要落地成我改一个流程参数换热器单元侧是否跟着变。字段用中文可读名而非真实标识符这张表是给工程师在模拟器界面里对照的不是给代码寻址用的——刻意区分人看的表与代码用的契约。期望一致列固定yes明确数据共享场景下两侧应当一致的预期。产物 CSV 交给人工/脚本核对不假装能自动读模拟器内部状态那需要模拟器自己的 API超出本篇范围。三、常见报错与排查报错 3-1在 Aspen Plus/HYSYS/PRO/II 里找不到 XSimOp。现象安装/授权后仍没有 HTRI 单元操作。根因官方具名的 XSimOp ShellTube 只对 Honeywell UniSim Design Suite 与 KBC Petro-SIM 提供其它模拟器是future consideration。解法改用 CAPE-OPEN若模拟器支持或文件导入 外部校核第 13 篇。报错 3-2想用 XSimOp 算空冷器或板式。现象XSimOp 里只找到 ShellTube。根因XSimOp 首个产品就是 ShellTube“Additional exchanger types … will be considered in the future”。解法空冷器用 Xace、板式用 Xphe桌面模块流程级空冷/板式嵌模拟器需评估 CAPE-OPEN 能力边界以官方为准。报错 3-3以为 XSimOp 的数据共享能让脚本免除输入。现象脚本里没准备换热器输入运行失败。根因数据共享是模拟器内模型间的自动传导不等于外部脚本无需准备输入。解法区分模拟器内交互式工作流与外部批量脚本——后者仍走 Automation Server输入仍需脚本写入。报错 3-4改动流程参数后换热器单元结果不变。现象数据没传导。根因该字段未纳入共享范围并非所有字段都共享或共享配置未启用。解法用代码 14-2 的核对表逐字段验证对未共享字段手动同步能嵌入/能共享的范围以官方文档与实测为准。报错 3-5许可来源混淆既有 HTRI 订阅又有 UHX 捆绑。现象授权冲突或找不到可用许可。根因XSimOp 可能以Xchanger Suite 与 XSimOp 与 UHX 模块捆绑的方式提供Honeywell 资料提及与HTRI 订阅是不同的获取渠道。解法先理清本公司的许可来源再决定装哪一套许可细节以官方渠道为准。报错 3-6拿支持 CAPE-OPEN去承诺任意参数可传。现象项目按全部数据都能传设计实施时发现有的量传不过去。根因Xist 的 CAPE-OPEN 单元暴露的完整参数集未公开底账 U8/U10“能嵌入不等于全功能”。解法做一次实测清单把实际能交换的参数落表承诺范围以实测与官方文档为准不做超出证据的承诺。四、动手练习练习 1选型器运行代码 14-1。判定五个场景各给出 route 与 reasonUniSim Design 空冷场景的 route不是xsimop因类型不符HYSYS 批量场景的 route 是 automation_server。练习 2官方限定核对打开官方 XSimOp 页与 Xist 页抄录两条关键原文。判定抄到XSimOp ShellTube is available for Honeywell UniSim Design Suite and KBC Petro-SIM与embedded as a unit operation in any process simulator supporting CAPE-OPEN。练习 3数据共享核对在装有相应模拟器的环境里按代码 14-2 的表核对至少 3 个字段。判定能说明哪些字段随流程变化而更新、哪些需要手动同步。练习 4分工矩阵默写合上本文重建场景 → 推荐路径的四行矩阵。判定四行齐全能说出批量无人值守一律回到 Automation Server这条选型主线。五、小结与下一篇预告本篇把在模拟器里用 HTRI讲透XSimOp ShellTube是官方商业集成仅管壳式、仅 Honeywell UniSim Design Suite 与 KBC Petro-SIM界面托管、数据共享免重复录入目前与future consideration是必须尊重的产品限定CAPE-OPEN是标准集成路径Xist 可嵌入任何支持 CAPE-OPEN 的模拟器能力边界以官方为准。并给出分工矩阵交互式流程级选 XSimOp/CAPE-OPEN批量跨案例落库仍是外部 Automation Server 的主场。第 15 篇《报表与工程交付自动化》把自动化从取数推进到交付——在官方能力边界内spreadsheet-style reports 导出 Excel、标准 TEMA specification sheet、2D/3D drawings、user-defined graphs做模板化交付、批量合并与版本落款并给出多案例报表合并的完整脚本。本篇认知问题回显FAQQ1XSimOp 是什么与 Xchanger Suite 桌面模块有何不同A官方称 XSimOp 是a new line of unit operation calculation modules for process simulators口号是Get HTRI accuracy inside your process simulator environment。它把 HTRI 计算作为流程模拟器内的单元操作界面托管在模拟器内、与模拟器模型共享数据eliminating the need for re-keying而 Xchanger Suite 桌面模块如 Xist是独立程序面向详细设计/校核/模拟有完整几何、报表与图。Q2XSimOp 目前支持哪些模拟器与换热器类型为什么强调目前A官方具名首个产品 XSimOp ShellTube 面向 Honeywell UniSim Design Suite 与 KBC Petro-SIM换热器类型仅管壳式ShellTube其它类型与模拟器是will be considered in the future。强调目前是因为这是产品路线声明而非承诺——不应指望官方为其它模拟器短期内出 XSimOp需改用 CAPE-OPEN 或文件导入。Q3CAPE-OPEN 是什么Xist 在其中扮演什么角色ACAPE-OPEN 是流程模拟Computer Aided Process Engineering领域的开放接口标准。官方明确 XistCan be embedded as a unit operation in any process simulator supporting CAPE-OPEN即 Xist 可作为支持该标准的模拟器中的一种单元操作不依赖厂商一对一的商业集成。其能暴露的参数范围与成熟度以官方文档和实测为准。Q4XSimOp 与 CAPE-OPEN 怎么选A看模拟器与需求模拟器是 UniSim Design 或 KBC Petro-SIM 且只需管壳式选 XSimOp ShellTube官方集成、界面统一、数据共享模拟器支持 CAPE-OPEN 但不在 XSimOp 名单用 CAPE-OPEN 嵌入 Xist模拟器都不支持走文件导入 Xchanger Suite 独立校核若要批量无人值守、跨案例扫描落库一律回到外部 Automation Server 驱动 Xchanger Suite。Q5用 XSimOp 时数据共享对工作流意味着什么脚本还要不要写A数据共享指模拟器内模型间的数据自动传导流程参数流量、温度、组成变更会传递到换热器单元消除重复录入对交互式流程工作流效率提升明显但它不等于脚本无用了——批量扫描、结果落库、报表交付仍需脚本驱动。很多团队的实践是模拟器内用 XSimOp 做流程、批量校核用 Automation Server 跑案例集两者互补。
返回列表