【PLC学习十】PLC必会功能——报警
当温度传感器、湿度传感器、压力传感器等装置的数值超出设定值后,必须要设置报警系统,以提醒工作人员,机器出现了故障
下述编程内容,以描述编程逻辑为准,不做具体程序展示
文章目录
一、报警模块所需要设置的功能
报警功能内容概述:
- 超量程报警
- 设置报警死区
- 计算报警死区过程值(即报警滞后值)
- 高/低报警恢复值
- 高/低报警值滤波计时
- 计时器清零
- 激活高报警
- 产生高报警
- 激活低报警
- 产生低报警
- 短路、断路状态判断
提示:以下描述上述编程逻辑
二、编程逻辑概述
1.超量程报警
超量程报警顾名思义是——当采集到的模拟量信号超过量程范围时,
立即输出报警信号
该逻辑功能,使用>、<、不等于等运算逻辑,即可实现
用到的梯形图:开点、输出线圈、运算符
如果X>3000,则连通报警线圈(OUT)
2.报警死区
此处负责设置报警死区的百分比,并使用MOVE功能,将报警死区的百分比输出给某中间寄存器(假设,该点输出值为temp),此时,temp=20%。
该逻辑功能,使用>、<、MOVE,即可实现
报警死区是什么,详见【PLC学习8】
3.计算报警滞后值
首先,使用MUL减法运算,计算高报警与低报警的区间范围
(假设,高报警值-低报警值=span)
则,报警滞后值=报警死区tmp*区间span
该逻辑功能,使用SUB、MUL,即可实现
4.高/低报警恢复值
恢复值是指,在什么报警数值时,警报会取消
高报警恢复值:高报警值-报警滞后值=高报警恢复值;
低报警恢复值:低报警值+报警滞后值=低报警恢复值;
该逻辑功能,使用SUB、ADD,即可实现
注:SUB与ADD的EN与ENO管脚串联
5.高/低报警值滤波计时
高/低报警值滤波,是指过滤掉未报警的值,计算高报警与低报警的发生时间
该逻辑功能,使用>、<、1hz脉冲与ADD,即可实现
本计时器未使用PLC自带的计时器或计数器进行功能实现,使用ADD,逻辑清晰便捷。
6.计时器清零
当传感器数值未达到报警值,也就是报警状态取消,应立即将报警计时器清零
该逻辑功能,使用NOT与MOVE,即可实现
使用NOT对报警状态进行否,即前置线圈为1,经过NOT后变为0,后通过MOVE将0赋给计时器。
7.激活高报警
本功能为状态功能,即将 高报警激活,这个状态单独设置一个变量,以便清晰的展示该功能
该逻辑功能,使用不等于与输出线圈,即可实现
当高报警设定值不等于0时,立即激活高报警状态。
8.产生高报警
功能7相当于一个前置功能,就是告诉大家,这个功能已激活,可以使用了
当高报警设定值<传感器采集值<高报警恢复值,并且,滤波计时>=滤波设定值时,输出高报警信号。
该逻辑功能,使用>、<、SR,即可实现
由此处,滤波计时>=滤波设定值,可以发现,我们给报警功能设置了一个信号发生缓冲时间,这个时间也就是上述滤波时间。当信号发生后多少秒(滤波时间),报警信号才能产生,这也是避免因为信号干扰,临时性的信号浮动,而产生误报警。
9.短路、断路状态判断
当出现线路短路、断路时,传感器的信号采集会出现异常,也会造成报警现象
因此,在考虑报警功能时,也要将断路、短路的状态考虑进去。
我们设置,当模拟量输入值<5000时,系统为短路,当模拟量信号>32512时,系统为断路。
总结
本文所描述的报警功能逻辑,均采用简单的加法、减法、乘法等指令进行逻辑运算,未采用PLC自带的定时器、计数器进行编程,如有笔友能够使用PLC自带计数器等实现报警功能,欢迎交流学习。