自动控制原理中,传递函数是怎么样转换成C语言的呢,才能在工控机上实时地运行。求解,

这个问题一直很不明白,我们在设计控制器的时候,有很多种控制策略,但最终还是要用编程来实现(比如c或C++),那么传递函数和编程代码是怎么样转换的?

传递函数G(s)要离散化成G(z),然后变成差分方程,然后就可以用c语言编程了~
比如Y(S)/U(S)=G(s)=1/(a*s+1);
用零阶保持器,你的采样周期是Ts(比如你的控制函数是在中断服务函数里实现的,那Ts就是你的中断周期),得到Y(z)/U(z)=G(z)=(1-z^(-1))*Z[G(s)/s]=[1-e^(-Ts/a)]/[z-e^(-Ts/a)]={[1-e^(-Ts/a)]*z^(-1)}/[1-e^(-Ts/a)*z^(-1)];
所以得到差分方程:y(k)=e^(-Ts/a)*y(k-1)+ (1-e^(-Ts/a))*u(k-1),k表示当前时刻。
温馨提示:答案为网友推荐,仅供参考
相似回答