Sysplorer代码生成和Sysblock代码生成的区别?
技术分享
发布于 2025-10-16 19:56:22
查看 2过去229天
-
Sysplorer是非因果方式建模,Sysblock是因果式建模,但不论是因果方式还是非因果方式建模,生成的都是一段可执行的程序,是C代码,不会生成方程,方程只是求解器其中的一个中间步骤。
-
关于Sysplorer存在两个代码生成的地方:
(1) 第一种是模型翻译时会生成代码,这些代码生成在工作目录下的仿真求解目录,这些代码的使用是要结合求解器里面的一些工程来使用的,用户并不能拿到其他地方使用,比如翻译过程中生成的.c文件和.h文件,只能在MWORKS的求解器里面用,求解器会基于这些文件,编写一个动态库,即MWsolver.dll文件,后面的仿真求解都是基于这个.dll文件进行的。
(2) 另一个地方是HIL Export工具箱的代码生成功能,它是将MWorks生成代码,以及内核求解库混在一起通过交叉编译的方式形成目标平台FMU文件,这个代码可以拿出来不依赖求解器使用。 -
关于Sysblock代码生成,和Sysplorer生成代码功能在接口上有区别:
(1) 无论是Sysplorer模型还是Sysblock模型,生成的C代码都是算法逻辑,只不过Sysplorer模型生成的算法逻辑是求解方程的, Sysplorer模型和Sysblock模型生成的C代码都是通用C代码,函数接口形式也是符合C语言标准的,但由于Sysplorer模型的C代码用于Sysplorer仿真,所以其接口和Sysplorer软件底层功能相对应,而Sysblock模型生成的C代码需要能够集成到MCU中,因此做了特定处理,同时这个代码可以拿出来不依赖求解器使用。
所属专栏:其他
产品信息:科学计算与系统建模仿真平台MWORKS