回复:2023.7.4练习——报警灯控制程序

已锁定

龟仙人

西门子1847工业学习平台

  • 帖子

    928
  • 精华

    15
  • 被关注

    162

论坛等级:奇侠

注册时间:2006-12-15

普通 普通 如何晋级?

发布于 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;

//报警灯输出


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10590条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。