我们是做过程工业系统仿真的,仿真对象可以看成一个周期性的大循环,循环里每个子系统步进若干次。
我们的软件设计思路供参考:
先把数据和计算过程剥离开,数据存储结构自己定义,但以文件映射形式进行共享。
计算过程我们是fortran,通过扫描代码,生成和数据关联的中间fortran代码,然后编译成可执行程序,由软件负责调度。当然也支持c。
这样在仿真过程中,随时可以快照数据;以后仿真可以直接从任意快照开始。
然后就是做个图形化的建模工具,把图生成为代码,这个自己手搓一个,需求太多。有见过在visio上加插件的,没用过。
最后是展示数据了,参考svg标准,写个人机交互画面程序,画面的动态和输入脚本和数据关联上就行。
画面编辑工具可以借鉴现成的,不过脚本怎么写要考虑好。要好用,还是要自己造一个。
3d的展示在unity或ue里做,我们是自己做了一个,随便还做了个ui库。
剩下的就是怎么摆弄数据了。
如果是windows版,最好把opc da实现了,opc客户端能和大部分dcs厂家的控制系统对接;
opc服务端能和不少软件对接,像matlab、mathematica。
总之,工业系统的需求很偏门,需要造很多轮子。
某些技术方向可能不能满足后期需求,就要推倒重来。
【 在 wjhtingerx 的大作中提到: 】
: 我思路是这样的:
: 1. 图形化分为两个层次,架构和功能。我发现,几乎所有的嵌入式软件都可以抽象成数据流框架和数据处理两个层级,合理搭配数据流就可以形成任何框架功能。框架层对数据本身做了各种诸如缓冲、对齐、触发等预处理,让数据处理层次不包含任何架构特性,配置好需求,纯粹做数据的
: 静态算法就行。如果某个数据处理太复杂,那么就再拆解。
: ...................
--
FROM 123.117.77.*