将复位功能添加到Simscape积分器块
6次浏览(过去30天)
显示旧的注释
我试图使用simscape将重置输入添加到自定义积分器块。如果重置输入为1,积分器将正常工作,如果重置输入为0,积分器将重置到初始条件。为了实现这一点,我试图将变量x设置为初始条件(x0),当“reset == 0”,但不知道如何填充else条件,以保持x相同,如果“reset == 1”(“if”必须附带“else”在simscape语言根据文档)。我尝试设置x == x,但这没有工作。我的代码写在下面。任何帮助都将不胜感激。
输入
I = {0,' 1 '};%:左
R = {0,' 1 '};% r:左
结束
输出
O = {0,' 1 '};% B:对
结束
参数
X0 = {0,' 1 '};初始条件
结束
变量(Access = public)
X = {0,' 1 '};
结束
函数设置
X = x0;
结束
方程
如果R <= 0
X == x0;%重置x
其他的
%什么也不做
结束
x.der == I * {1,“1 / s”};
O == x;%设置输出
结束
答案(2)
尼古拉斯Schmit
2018年1月24日
我不是一名Simscape开发人员,但据我所知,Simscape不允许您手动重置积分器。一种解决方法是使用Simulink积分器和Simulink- ps转换器块。