1、众所周知Smart200 PLC没有FB模块,只有子程序可以实现FC模块,因此想实现FB模块功能必须重复新建子程序,由于Smart200中子程序的时间继电器不能重复使用,并且子程序中的脉冲沿(P或N)功能同样不能重复使用,本文章主要解决针这两处痛点,解决时间继电器和脉冲扫描P或N不能重复使用的问题。以位置开关实现延时作用的范例,并且可以实现时间基数自动按需调整,达到延时接通和延时关闭的作用。
(1)首先描述该模块封装好后的样子,如图1所示,图2为其引脚的注释,其中UpDelayTime和DownDelayTime两参数用于外部设置参数,如以位置开关为例,当S1接通后延时UpDelayTime时间长度,S1_Up输出为1;当S1断开后,延时DownDelayTime时间长度,S1_Down输出为1。图1中的红圈1处的引脚都是缓存参数,不参与控制,请勿写入数据。
该功能的时间基数OneSecond可以是SM0.5---Clock_1s,SM0.4---Clock_60s,或者其他自定义时间脉冲信号,用于周期扫描,累计时间的作用,本质上使用计数器功能替代时间继电器功能。
此模块稍加改造可以用于位置开关的延时接通和延时断开、泵的延时开启和延时关闭等复杂项目应用。
由于该子程序不能复用,可以复制子程序重命名即可。
图1