使用相对路径或绝对路径包含外部函数及模型内容
技术分享
发布于 2025-08-06 16:58:34
查看 5过去300天
问题描述:
用户在使用外部函数时,通常会使用绝对路径引用外部文件,在多人配合协同建模时,经常会有模型文件传递的场景,此时由绝对路径定义的外部文件在传递后会报路径错误,需要用户调整。
本文基于以上用户痛点问题,介绍如何使用Sysplorer的相对路径功能,帮助用户方便传递模型。包括但不限于:外部C文件,外部FMU文件,模型数据字典文件,模型SignalBuilder引用CSV,模型基础工作区及模型工作区引用。
概念认识:

相对路径以及绝对路径介绍:
- 绝对路径:绝对路径是从文件系统的根目录(如Windows的C:\或Linux/macOS的/)开始的完整路径。它明确指定了文件或目录在整个文件层级中的位置,与当前工作目录无关。
优点:每个文件的绝对路径是全局唯一的,适合直接定位目标文件。
缺点:若文件存储位置变动(如更换盘符或迁移目录),绝对路径需手动修改,可能破坏代码可移植性。考虑到模型的建设经常需要多人合作,使用绝对路径进行传递会存在路径错误。 - 相对路径:相对路径是相对于当前工作目录(或模型文件所在目录)的路径。它通过参照基准位置来简化路径表示,通常用于项目内部文件的引用。特点在于路径长度短,且项目整体移动,相对路径通常无需修改。
示例演示
绝对路径示例

上图为使用绝对路径引用c文件的例子,我们可以发现路径从盘符开始,假如将模型包文件移动至一个新的位置,系统会因在原来的位置找不到该文件而直接报错,如下图所示:

会发现报错信息中存在‘No such file or directory’,在原有路径下无法找到指定的文件,此时只有修改文件引用路径才能解决报错问题。
相对路径示例

上图为基于modelica使用相对路径引用c文件的例子,可以发现,相对路径中并没有指定盘符等位置,而是基于模型文件所在目录的路径,因而使用时可以随意切换模型文件的位置。
所属专栏:Sysblock基础平台
产品信息:Sysblock 嵌入式代码生成工具