本文主要是介绍博途PLC 低通滤波器(Tustin变换),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、SMART PLC Tustin变换(双线性变换)低通滤波器
https://rxxw-control.blog.csdn.net/article/details/136551330https://rxxw-control.blog.csdn.net/article/details/1365513302、博途PLC RC低通滤波器(后向差分法)
https://rxxw-control.blog.csdn.net/article/details/125361383https://rxxw-control.blog.csdn.net/article/details/1253613833、双线性变换
https://rxxw-control.blog.csdn.net/article/details/128586285https://rxxw-control.blog.csdn.net/article/details/128586285
1、低通滤波器(Tustin变换)
2、FB+SCL代码
3、SCL代码
FUNCTION_BLOCK "FB_Tustin_LPT"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1VAR_INPUT xn : Real; // 输入离散采样信号;Alpha : Real; // 滤波系数0.0-1.0;diCycle : DInt := 10; // 滤波器调用周期 执行周期Ts ms;diIntTime : DInt := 10; // 定时中断时间 基础步长ms;END_VARVAR_OUTPUT yn : Real; // 滤波器输出;END_VARVAR xn_1 : Real; // 上一时刻离散输入信号;yn_1 : Real; // 上一时刻滤波器输出结果值;Cnt : DInt; // 定时中断计时 单位ms;END_VARBEGIN//一阶低通滤波器(双线性变换 Tustin变换)//RXXW_Dor//2024-03-09//RXXW_DorIF #Cnt >= #diCycle THEN#yn := #yn_1+#Alpha*(#xn + #xn_1 - 2.0*#yn_1);#yn_1 := #yn;#xn_1 := #xn;#Cnt := 0;END_IF;#Cnt := #Cnt + #diIntTime;
END_FUNCTION_BLOCK
这篇关于博途PLC 低通滤波器(Tustin变换)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!