在Modelica中如何让Real value在范围内流通?

How to make Real value to circulate in the range in Modelica?

我正在对旋转机械进行编码并使用 Angle 类型值,从时间转换而来,如下面的代码。

  der(thetta)=(180/pi)*from_rpm(omega) "convert time to Angle";

但是,仅使用此代码,角度值不断增加。

那么,如何让值在0到720度范围内旋转。 (0deg => 720deg => 0deg => 720deg)

我建议看一下模型 Modelica.Blocks.Math.WrapAngle 和相关函数 Modelica.Math.wrapAngle (Modelica Standard Library 3.2.3)

尽管边界值不同,它们的行为似乎与您想要实现模型的方式相同。