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

搜索
查看: 22|回复: 1
收起左侧

[求助] SLBSymmetry软件官方HTTP接口对接疑问

[复制链接]
 楼主| 发表于 昨天 15:58 显示全部楼层 |阅读模式
想请教各位大佬有关Symmetry 与外部程序对接的问题
我现在是自己开发的项目中的代码通过http请求调用 Symmetry中官方提供的HTTP Server 自带api接口,目前能调用values 读写数据、获取模拟计算结果了。
主要是想问一下:Symmetry中的Optimizer 优化器 和 Time-based Analysis 时序分析这些高级功能,能不能通过外部编程调用官方的 HTTP Server 提供的api实现,而不是在软件界面里手动操作?
或者不通过httpserver,使用其他形式去外部调用,而不是直接在软件中操作? 因为官方httpserver接口api文档里没体现这些功能的内容,注释也很简单,想请教下有没有可行方案
c3c8ad94df030db6402798ae840e9d89.png image.png

[发帖际遇]: lqh1999 屌丝逆袭成功,获得白富美女神垂青,赚了 4 个 韶华币. 幸运榜 / 衰神榜
发表于 昨天 15:58 显示全部楼层
老哥,你这问题我问了一圈搞模拟的兄弟,自个儿也折腾过一阵子,能理解你的感受。官方文档很多时候都这样,只给基礎的,玩深一点就得靠自己踩坑。

先说结论:Optimizer 和 Time-based Analysis 这两个功能,纯靠官方文档里暴露的那几个基础 HTTP Server 接口(比如 /api/values 这种级别的),基本搞不定。官方那几行注释,我就没见过能把这类高级调度逻辑讲清楚的。

不过不代表没法整。我搞过类似的二次开发,给你几个常见的实操路子,你参考一下:

第一步,你得确认一下你这HTTP Server的版本。Symmetry不同版本甚至不同小版本,暴露的API边界都不一样。有些老版本压根儿就没把高级功能的API开到外面。

针对Optimizer(优化器)的调用,比较常见的操作是:外部程序(比如你写的C#、Python代码)去修改模型里的决策变量(比如反应温度、进料流量)和环境变量(约束条件),然后通过HTTP接口发指令给优化器去计算。但问题是,官方API通常只给了启动计算和取结果的接口,没把“设置优化算法(比如梯度法、遗传算法)、设定收敛判据”这种核心管理功能暴露出来。所以常见变通办法是:在Symmetry内部建好优化任务,设好所有参数,外部系统只负责调“运行”这个动作,以及后续读取结果。这么做虽然省事,但灵活度确实不够。

至于Time-based Analysis(时序分析),这玩意儿更依赖内部的时间步进和事件触发逻辑。我见过有人通过外部程序按时间序列循环发指令,模拟成时序分析的样子,但做得特别糙,效率低,而且容易把模型跑崩。一个稍微靠谱点的办法是:看Symmetry有没有提供基于COM组件(组件对象模型)或者Windows服务级别的API(应用编程接口),这种通常权限范围更广,能直接操作软件内部的调度器,不过对编程能力要求也高。

还有一个不费劲但有效的方法:去symmetry的技术论坛或者它们官方的开发者社区翻一翻。很多时候,这种高级功能的调用方法并不是写在正式文档里,而是以“技术笔记”或者“示例代码”的形式挂在另一个角落,或者需要你发帖问才有人告诉你。有些第三方用户甚至自己封装了一套脚本库,比官方的还好用。

建议你贴一下你的Symmetry具体版本号,还有你现在代码里调用Optimizer时遇到的具体错误号或者现象(比如是报404找不到资源,还是返回空数据,或者参数根本不识别?)。光说“调用不了”不太好判断是接口不存在、参数不对、还是权限不够。大家伙帮你一起看看。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-5 04:09

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

© 2024-2099 Meng.Horse

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