回复:在S7-300程序中做一个类式电气的消声程序

liucs_2009

西门子1847工业学习平台

  • 帖子

    566
  • 精华

    5
  • 被关注

    38

论坛等级:奇侠

注册时间:2010-06-21

普通 普通 如何晋级?

发布于 2012-02-21 19:15:04

78楼

1. 用一个报警位DB块,前1000个字用于存储实时报警,后1000个字用于存储上一个扫描周期的报警
2. 用两个地址寄存器进行寻址

A #Alarm_acknowledge_button //报警复位按钮
R #Light_alarm
R #Buzzer_alarm



A #Buzzer_acknowledg_button //报警消音按钮
R #Buzzer_alarm



OPN #Alarm_bit_DB //打开报警位数据块



L P#0.0 //指针初始化
LAR1
L P#1000.0
LAR2
Loop: L DBW [AR1,P#0.0] //检查报警位数据块
L W#16#0
OW
L 0
==I
JC _001 //无报警,跳转
S #Light_alarm //有报警,置位
L DBW [AR1,P#0.0]
L DBW [AR2,P#0.0]
XOW //检查有无新报警产生
L DBW [AR1,P#0.0]
AW //屏蔽多个报警,因某个报警消失而产生报警音
L 0
==I
JC _001
S #Buzzer_alarm //有新报警产生,则蜂鸣器响
_001: L DBW [AR1,P#0.0] //储存上个周期的报警位
T DBW [AR2,P#0.0]
TAR1 //继续查询下一个报警字
+AR1 P#2.0
TAR2
+AR2 P#2.0
TAR1
L P#1000.0
< D
JC Loop
工控生活、精彩人生
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54756条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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