在工作中,我使用git作为版本控制系统,使用Dymola进行建模和模拟.
我遇到的一个主要问题是,一旦我触摸或错误地移动连接(更确切地说是连接线的一部分的位置)而不改变任何参数 - 这通常在讨论或解释时通过向同事展示图表而发生 - git将此视为文件中的版本更改或更改.至少真正的变化是在一些自动生成的Modelica注释中,例如:
connect(TT_1.T, Controller.y[1]) annotation (Line(
points={{48,-20},{48,40},{-22.5,40},{-22.5,29.25}},
color={0,0,127},
smooth=Smooth.None));
Run Code Online (Sandbox Code Playgroud)
改为(比较第2行)
connect(TT_1.T, Controller.y[1]) annotation (Line(
points={{48,-20},{48,38},{-22.5,38},{-22.5,29.25}},
color={0,0,127},
smooth=Smooth.None));
Run Code Online (Sandbox Code Playgroud)
因此,我的问题是:如何防止任何一方代码中出现这种不必要的"改变":git或Dymola?
我们正在尝试测试Dymola的协同仿真选项,并创建了一个fmu文件。我们从www.fmi-standard.org安装/构建了FMILibrary-2.0b2和FMUChecker-2.0b1。
尝试运行我的同事用Dymola创建的fmu文件的FMUChecker(fmuCheck.linux32)时遇到问题。我用我的Dymola许可证从同一Dymola模型创建了一个fmu文件,此问题无法重现。因为fmuCheck.linux32运行正常,没有任何错误消息。我的同事可以同时运行两个文件!
由于我们的目标是使用此选项进行协同仿真,因此我尝试在没有Dymola的PC上运行fmu文件,并且我的fmu复制件和我的同事创建的同一个错误再次出现。
这是错误消息
fmuCheck.linux32 PemFcSysLib_Projects_Modl_SimCoolCirc.fmu
[INFO][FMUCHK] Will process FMU PemFcSysLib_Projects_Modl_SimCoolCirc.fmu
[INFO][FMILIB] XML specifies FMI standard version 1.0
[INFO][FMI1XML] Processing implementation element (co-simulation FMU detected)
[INFO][FMUCHK] Model name: PemFcSysLib.Projects.Modl.SimCoolCirc
[INFO][FMUCHK] Model identifier: PemFcSysLib_Projects_Modl_SimCoolCirc
[INFO][FMUCHK] Model GUID: {6eba096a-a778-4cf1-a7c2-3bd6121a1a52}
[INFO][FMUCHK] Model version:
[INFO][FMUCHK] FMU kind: CoSimulation_StandAlone
[INFO][FMUCHK] The FMU contains:
18 constants
1762 parameters
26 discrete variables
281 continuous variables
0 inputs
0 outputs
2087 internal variables
0 variables with causality 'none'
2053 real variables
0 integer variables
0 enumeration variables
34 …Run Code Online (Sandbox Code Playgroud)