恭喜,你发布的帖子
发布于 2023-07-04 21:21:12
1楼
对报警变量进行FOR循环比较,判断是否有新的报警
//对报警变量数据进行比较,并存入本次数值,作为下次比较的依据
FOR #ForNum := 0 TO 22 DO
#Warn_Word := "D_Alarm".Warn_Temp[#ForNum]; //将数值元素暂存的变量中,缩减变量长度
IF #Warn_Word <> "D_Alarm".Warn[#ForNum * 2] THEN //比较两个字是否相等,如果不等则执行位比较判断程序
//根据位比较判断程序,如果判断出有新置位的位,则触发报警灯闪烁
IF "F_NewAlarmArrive"(Now_Word := #Warn_Word, Last_Word := "D_Alarm".Warn[#ForNum * 2]) THEN
#WarnLight := True; //,则触发报警灯闪烁
END_IF;
"D_Alarm".Warn[#ForNum * 2] := #Warn_Word; //将本周期报警数据再次转存,作为下次比较的依据
END_IF;
END_FOR;
//报警灯输出
请填写推广理由:
分享
只看
楼主