恭喜,你发布的帖子
发布于 2015-11-02 22:59:15
11楼
设置报警的一些相关参数:
PV : REAL := 0.0; //Process Value
PV_Unit {S7_m_c:='true'} : INT:=1001 ; // Unit
PVHR {S7_m_c:='true'} : REAL := 100.0; // high range
PVLR {S7_m_c:='true'} : REAL := 0.0; // low range
HHA {S7_m_c:='true'} : REAL := 95.0; // H limit Alarm
HW {S7_m_c:='true'} : REAL := 90.0; // H limit Warning
LW {S7_m_c:='true'} : REAL := 10.0; // L limit Warning
LLA {S7_m_c:='true'} : REAL := 5.0; // L Limit Alarm
HHA_EN : BOOL := TRUE; // H Alarm Message Enable
HW_EN : BOOL := TRUE; // H Warning Message Enable
LW_EN : BOOL := TRUE; // L Warning Message Enable
LLA_EN : BOOL := TRUE; // L Alarm Message Enable
Hys {S7_m_c:='true'} : REAL:=0.0; // Hysterese value
Deadband {S7_m_c:='true'} : REAL:=0.0 ; // Width of Dead band
ADCT : REAL:=0.0; // Alarm delay coming time
WDCT : REAL:=0.0; // Warning delay coming time
ADGT : REAL:=0.0; // Alarm delay going time
WDGT : REAL:=0.0; // Warning delay going time
// Set hysteresis value 设置滞后,滞后是百分比
QHys := Hys * (PVHR - PVLR) / 100.0; //Hys滞后,PV_HR,PV_LR 过程值上下限
// Deadband 零区小信号切除
IF ABS(PV_OUT) <= Deadband THEN
PV_OUT:=0.0 ;
END_IF;
如高高报警:
//high - high alarm 高高报警
//当过程值PV_Out大于高高报警值HHA时,开始启动报警延迟到达计时,如果ADCT(报警延迟达到时间)设置为0秒,立即输出报警,置位QHHA
//当过程值PV_Out小于高高报警值HHA-滞后,开始启动报警延迟到达计时,如 果ADGT(报警延迟离开时间)设置为0秒,立即复位报警,复位QHHA ,减去滞后是为了防止ADCT和ADGT设置为0秒时,频繁触发报警
IF HHA_EN THEN //如果报警消息使能
IF (PV_OUT >= HHA) AND NOT QHHA AND PULSE AND NOT FP_Pulse THEN
ADCT1:=ADCT1+SAMPLE_T; //开始计时
IF ADCT1 > ADCT THEN //计时大于设定值
QHHA := TRUE; //报警置位
ADCT1:= 0.0; //复位计时
END_IF;
ELSIF (PV_OUT < (HHA - QHys))AND QHHA AND PULSE AND NOT FP_Pulse THEN
ADGT1:=ADGT1+SAMPLE_T; //开始计时
IF ADGT1 > ADGT THEN //计时大于报警延迟离开的时间设定
QHHA := FALSE; //复位报警
ADGT1:= 0.0;
END_IF;
END_IF;
ELSE
QHHA:=FALSE; // 抑制高高报警消息时,复位报警
END_IF;
这是用的什么语言写的程序,语句表么?
请填写推广理由:
分享
只看
楼主