FUNCTION "Ramp signal processing" : VOID
TITLE =
VERSION : 0.1
VAR_INPUT
Siganl_Input : BOOL ;
STRT : BOOL ; //Start the reset timers
_Time : TIME ; //Sampling period
_TST : WORD ; //The sampling time "s"
END_VAR
VAR_OUTPUT
OUT : WORD ; //The stacked addition value
END_VAR
VAR_TEMP
Contr : STRUCT
Rise_time_trigger : BOOL ; //上升沿触发
Fall_time_trigger : BOOL ; //下降时间触发
Siganl_Input : BOOL ; //信号输入
t1sd : BOOL ; //t1赋值
PT1 : WORD ; //Plus the value of 1
END_STRUCT ;
END_VAR
BEGIN
NETWORK
TITLE =
//信号预处理
A #Siganl_Input;
= #Contr.Rise_time_trigger;
AN #Siganl_Input;
= #Contr.Fall_time_trigger;
NETWORK
TITLE =
//采样周期
A #Contr.Rise_time_trigger;
FR "SD";
A #STRT;
L #_Time;
SD "SD";
A #Contr.t1sd;
R "SD";
A "SD";
= #Contr.t1sd;
LC "SD";
T #Contr.PT1;
NETWORK
TITLE =
L #Contr.PT1;
L #_TST;
+I ;
T #OUT;
END_FUNCTION
报累加器一错误。下面有图,大家给个思路。谢谢!