Simulink金宝app Requirement链接是如何存储的?

22次浏览(最近30天)
我们的团队使用版本控制在同一个需求集上一起工作。我们注意到在Simulink Requirements链接上有一些奇怪的行为。金宝app有时我们会收到来自同事本地文件系统的未找到路径的警告。
为了研究发生了什么,我运行了以下脚本:
rs = slreq.load (“MyFile.slreqx”)”
请求=找到(rs,“类型”“要求”);
I = 1: number(请求)
要求=请求(我);
lnks = req.inLinks;
J = 1: numel(lnks)
lnk = lnks (j);
disp (lnk.source.artifact);
结束
结束
返回一个包含绝对路径的行列表('C:\…'),包括来自同事文件系统的路径。与此同时,也有一些只有模型名称的行。检查之后,所有与本地文件系统相对应的条目都在MATLAB路径上,但是,同样的,其中一些返回为完整路径,而一些只是文件名。
因此,我有以下几个问题:
1.哪些链接存储为文件名,哪些存储为完整路径?
2.如何在新创建的链接中避免全路径?
3.有没有一种方法来改变完整的路径文件名在现有的链接?
4.有可能避免来自我同事档案的警告吗?

接受的答案

MathWorks支金宝app持团队
当你显示link.source的值时。工件,这意味着在当前会话中显示工件的“已解决”路径。这并不一定是加载的内容。如果由另一个用户存储在另一个工作站上,那么存储和加载到工件的完整路径可能是不同的。如果您对需要保存LinkSet的链接进行任何更改,则链接工件的最广为人知的路径将在更新后的.slmx文件中捕获。但是,如果不重新保存. slmx文件,则陈旧的完整路径可能会持续一段时间。预计文件会在工作站和文件夹之间移动,不应该想当然地认为存储的文件夹路径。当linkSet被下一个用户加载时,有两种情况需要考虑:
1)加载linkSet作为加载链接工件的后动作;例如,您打开一个Simulink模型,就会找到并金宝app加载相关的. slmx文件。在这种情况下,工件的位置(. slx文件)是确定的,并且link.source.artifact将显示它的正确完整路径。如果您进行并重新保存任何链接更改,那么将存储到工件的更新的完整路径。
2)当你开始加载需求集时,linkSet作为“发现传入链接”过程的一部分加载。这是在当前支持单中执行的用例。金宝app没有加载源构件(模型),您正在加载一个需求集,可用的元数据用于定位依赖的LinkSets。在这种情况下,. slmx文件可能在. slx文件的位置已知之前被加载。当我们能在MATLAB路径上找到对应的.slx文件时,link.source.artifact的值将会在MATLAB路径上反映出匹配模型文件的正确全路径。然而,如果MATLAB无法为加载的传入链接集找到. slx文件,您可能会看到link.source.artifact API显示的一个简短的模型名称。
对于只显示短名称的情况,请检查模型是否在MALTAB路径上。
对于完整路径不正确的情况,即来自其他用户工作站的完整路径,可能需要额外的努力来理解。这在正常情况下是不会发生的。当在MATLAB外部的文件系统上手动重命名.slmx文件时,会出现一种糟糕的情况。例如,USER1将MODEL1链接到一个需求集,模型被重命名为MODEL2,这导致了两个. slmx文件MODEL1。SLMX MODEL2.SLMX;随后将文件的子集传递给USER2和MODEL2。SLMX丢失了,USER2知道MODEL2。SLX是MODEL1的一个非常接近的副本。SLX,所以他们只是复制MODEL1。SLMX MODEL2.SLMX。现在,当MODEL2。在寻找需求集的传入链接时加载SLMX,内部存储的模型名称不匹配,对内部存储的完整路径没有做任何调整,您可能会看到过时的完整路径显示为link.source.artifact值。

更多的答案(0)

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!