SIEMENS西门子PLC模块6ES7416-2XN05-0AB0

SIEMENS西门子PLC模块6ES7416-2XN05-0AB0

发布商家
湖南西控自动化设备有限公司
联系人
徐嘉泉(先生)
职位
经理
手机
17838383235
微信
17838383235
西门子
授权代理商
CPU
一级代理商
德国
售后保障服务

西门子SCL的平均值算法


前 言:

近,剑指工控技术群里一些新入群的技术新人,一直找管理员所求TIA的LGF算法功能块的提取码。同时也针对一些功能块展开激烈的讨论,很多人都在讨论这些算法块内部程序是如何实现的?
针对于此剑指工控技术专家将为大家逐步展开并实现一些算法的SCL程序。
这篇文章主要是介绍平均值的算法程序。
//---- INPUTS

I_RAW_VALUE           Real    Raw Value to be averaged
I_NEW_SAMPLE_PULSE    Bool    New Value One-Shot Pulse
I_RESET               Bool    Reset MAV Buffer to 0
//---- OUTPUTS

Q_MAV                 Real    Output
//---- STATIC

BUFFER                Array[1..#CONST_MAV_PERIOD] of Real      Buffer
SUM                   Real                                     Sum for Average
i                     Int                                      Pointer to Array
FULL                  Bool                                     Buffer Full    
//---- CODE

IF #I_RESET THEN                                // Reset Buffer
FOR #i:=1 TO #CONST_MAV_PERIOD DO
#BUFFER[#i] := 0;
END_FOR;
#i := 1;
#FULL := False;                                 // Reset Full Pulse
END_IF;

IF #i < 1 OR #i > #CONST_MAV_PERIOD THEN        // Test Index and reset to 0 if out of range
#i := 0;
END_IF;

IF #I_NEW_SAMPLE_PULSE THEN                     // New Value?
    #SUM := #SUM + #I_RAW_VALUE - #BUFFER[#i];  // Update Sum - add newest 
                                                // element and take out oldest
                                                // one from the buffer
    #BUFFER[#i] := #I_RAW_VALUE;                // Store new raw value in
                                                // the  buffer
    #Q_MAV := #SUM / #CONST_MAV_PERIOD;         // Calculate Moving Average
    IF #i = #CONST_MAV_PERIOD THEN              // Buffer Full
        #FULL := True;
    END_IF;

    i:=i+1;                                     // Update Pointer
END_IF;

ENO := #FULL;                                   // ENO when buffer full



人气
8
发布时间
2024-05-14 10:53
所属行业
其他工控系统及装备
编号
41087864
我公司的其他供应信息
相关西门子产品
17838383235