haoayou 发表于 2024-7-10 18:16:53

堆栈平均滤波法

<p><span style="text-wrap: nowrap;">#IEC_Timer_0_Instance(IN := NOT #TIMER_INOUT,</span></p><p><span style="text-wrap: nowrap;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PT := #time_采集时间,</span></p><p><span style="text-wrap: nowrap;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Q =&gt; #TIMER_INOUT);</span></p><p><span style="text-wrap: nowrap;"><br/></span></p><p><span style="text-wrap: nowrap;">#S_数组[#&quot;N_采集数量(3-999)&quot;] := #In_输入值;</span></p><p><span style="text-wrap: nowrap;"><br/></span></p><p><span style="text-wrap: nowrap;">IF #TIMER_INOUT THEN</span></p><p><span style="text-wrap: nowrap;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span></p><p><span style="text-wrap: nowrap;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FOR #S_j := 1 TO #&quot;N_采集数量(3-999)&quot; DO</span></p><p><span style="text-wrap: nowrap;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #S_数组[#S_j - 1] := #S_数组[#S_j];</span></p><p><span style="text-wrap: nowrap;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span></p><p><span style="text-wrap: nowrap;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; END_FOR;</span></p><p><span style="text-wrap: nowrap;">END_IF;</span></p><p><span style="text-wrap: nowrap;"><br/></span></p><p><span style="text-wrap: nowrap;">#T_max := #S_数组;</span></p><p><span style="text-wrap: nowrap;">#T_min := #S_数组;</span></p><p><span style="text-wrap: nowrap;">FOR #S_j := 0 TO #&quot;N_采集数量(3-999)&quot; - 1 DO</span></p><p><span style="text-wrap: nowrap;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IF #S_数组[#S_j] &gt; #T_max THEN</span></p><p><span style="text-wrap: nowrap;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #T_max := #S_数组[#S_j];</span></p><p><span style="text-wrap: nowrap;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; END_IF;</span></p><p><span style="text-wrap: nowrap;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IF #S_数组[#S_j] &lt; #T_min THEN</span></p><p><span style="text-wrap: nowrap;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #T_min := #S_数组[#S_j];</span></p><p><span style="text-wrap: nowrap;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; END_IF;</span></p><p><span style="text-wrap: nowrap;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #T_sum := #T_sum + #S_数组[#S_j];</span></p><p><span style="text-wrap: nowrap;">END_FOR;</span></p><p><span style="text-wrap: nowrap;"><br/></span></p><p><span style="text-wrap: nowrap;">IF #&quot;MAX/MIN_EN&quot; THEN</span></p><p><span style="text-wrap: nowrap;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #Out_输出结果 := (#T_sum - #T_max - #T_min) / (#&quot;N_采集数量(3-999)&quot; - 2);</span></p><p><span style="text-wrap: nowrap;">ELSE</span></p><p><span style="text-wrap: nowrap;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #Out_输出结果 := #T_sum / #&quot;N_采集数量(3-999)&quot;;</span></p><p><span style="text-wrap: nowrap;">END_IF;</span></p><p><span style="text-wrap: nowrap;"><br/></span></p><p><span style="text-wrap: nowrap;">#Out_max := #T_max;</span></p><p><span style="text-wrap: nowrap;">#Out_min := #T_min;</span></p><p><span style="text-wrap: nowrap;"><br/></span></p><p><span style="text-wrap: nowrap;"><br/></span></p><p><span style="text-wrap: nowrap;"><img src="/upload/article/20230620/1687249107806972.png" title="1687249107806972.png" alt="15e5fec9b07c2ab4b7a53141ba1e473.png"/></span></p><p><span style="text-wrap: nowrap;"><br/></span></p><p><br/></p>
页: [1]
查看完整版本: 堆栈平均滤波法