技术论坛

 为什么要使用Program Alarm功能

返回主题列表
作者 主题
空果仁
官方工程师
西门子官方工程师西门子官方工程师

经验值:4943
发帖数:200
精华帖:47
楼主    2017-10-19 15:49:16
主题:为什么要使用Program Alarm功能 精华帖 

 

        昨天讨论了一下Program Alarm功能,与原有在HMI中创建报警信息的做法相比,就是Program Alarm需要在程序中编程,并且每一条报警信息都要调用一个FB块并占用一个DB块,看起来费时又费力,那为什么要推出这个功能呢?

        确实在S7-300/400中就有这个功能,但是很少使用,一个主要的原因就是麻烦,并且占用大量的DB块资源,但是在S7-1500中这种状况得到了改善和优化,下面谈一谈在S7-1500中使用Program Alarm改善的地方:

        1. 不再占用更多的DB块资源,Program Alarm必须在FB块中调用,生成多重背景,这样调用多个Program Alarm只占用一个DB块资源,资源的问题可以忽略了。参考图1。

 

 

图1.png

图1

 

        2. 第二问题就是每一条信息都需要调用一个程序块,如果成百上千个信息,程序就显得非常臃肿,查找和维护就比较繁琐。在S7-1500中这个问题得到了改善,因为FB块可以作为数组的一个元素,这样就可以一次性创建多个背景数据块,再使用循环调用就可以解决这个问题。参考图2

 

 

图2.png

图2

        3. 关于费时的问题,在HMI中也需要逐条添加报警信息,这里也是,所以时间是一样的。如果HMI由其他人完成,还需要将文本信息传递到HMI工程师手里,每次改动都需要同步一次,反而更费时。

 

好处是显而易见的:

        1. 一个人在PLC侧就完成了,触发位和信息由自己定义,改动方便。

        2. 事件驱动的信息发送。只有触发了才发送,而在HMI侧需要定期扫描,占用大量的通信资源。

        3. 快速扑捉故障信号。PLC能查询到的信号都可以触发,PLC扫描周期可以在几个毫秒以内,非常快,而HMI通常是秒级的扫描,这样为了保持触发信号还需要在PLC侧编程。

        4. 信息的时间同步。信息的发送以PLC的时钟作为时间标签,多个PLC可以同步,也可以采用其它时钟源直接赋值到程序块的参数上。

        5. 报警信息可以采用文本列表的方式,在信息中最多可以快速添加10个附加值,可以想象的更灵活一些,附加值可以是字符串,这样可以直接将附加值作为文本发送,当然字符串可以使用不同的语言编写,这样就可以实现语言的切换了。

        6. 最关键的一点是对象化的编程方式了,一个FB块对应一个受控对象,在FB块中除了有独立的控制程序还有独立的报警信息,这样可以将这个块作为一个库函数保存在企业的库中,版本也可以持续更新。

        好了,功能的好坏只有使用的才知道,大家可以试一试!

 

来自西门工业子技术支持 高级专家
宁超
至圣

经验值:11563
发帖数:1009
精华帖:39
13楼    2017-10-23 21:28:11
精华帖  主题:回复:为什么要使用Program Alarm功能

300/400的CPU选型手册有一个属性就是允许同时在线的Alarm-S的数量

Alarm-s同时触发消息给CPU的负荷绝不是静态时可以比的,调用Alarm-S必须优化

一般在:

CPU启动前几周期抑制消息触发,之后再调用

消息字有变化时才调用Alarm-s

Alarm-s本身返回故障消息时最好调用它,以便观察

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