我使用Simulink中的Signal Builder块设计了一个信号。在模拟运行期间,信号构建器将根据条件的满足情况重新启动。条件可以满足多次,因此,信号应该从每次开始。如果我想用另一种方式:它可以采用步进输入而不是设计信号。步进输入有条件地重置。我该怎么做?
答案 0 :(得分:1)
我还没有看到内置Simulink
这样的功能(也许新版本有它?)但这里有一个解决方法:
您可以使用设置为Constant block
的积分器作为输入来模拟传递时间。关键是积分器块有一个复位端口,您可以连接到您的条件。因此,当条件成立时,积分器会从0(在初始条件中设置)重新启动时间变量。事先,您需要将信号保存在类似Table Lookup
块的信号中,该信号输出信号作为时间的函数。然后将积分器输出连接到Table Lookup
块。
答案 1 :(得分:0)
您是否尝试将信号生成器模块放在enabled subsystem中?您可能需要将states when enabling
设置为reset
才能生效。有关更多详细信息,请查看文档中的Create an Enabled Subsystem。