本文参考西门子技术中心的相关文章整理而成。
在step7中提供了比较丰富的与时间有关的元素,例如定时器、系统时钟以及相关的组织块和系统功能块等,非常方便。
1、定时器
西门子PLC定时器最小时间单元为10ms,可用的定时器指令列表如下:
S_PULSE脉冲定时器
S_PEXT扩展脉冲定时器
S_ODT接通延时定时器
S_ODTS保持接通延时定时器
S_OFFDT断开延时定时器
---(SP)脉冲定时器线圈
---(SE)扩展脉冲定时器线圈
---(SD)接通延时定时器线圈
---(SS)保持接通延时定时器线圈
---(SF)断开延时定时器线圈
西门子PLC定时器有数量限制,如果定时器不够用,可以使用IEC定时器,具体描述参见下面有关IEC定时器的描述。不同型号的CPU定时器的数量是不同的,可以在线从CPU的属性中查看,点击CPU,然后选择PLC ->Module Information...,画面如下:
点击完成后,选择Performance Data按钮。查看Timers数量,画面如下:
2、IEC定时器(SFB3、SFB4、SFB5)
IEC定时器没有数量限制,IEC定时器通过系统功能块SFB3(TP)、SFB4(TON)、SFB5(TOF)来实现,分别对应定时器指令的脉冲定时器、接通延时定时器和断开延时定时器,具体功能块的参数和使用方法可参考在线帮助。
2.1 SFB3(TP)
简单的程序如下:
DB1为SFB3的背景数据块,当M0.0从0变为1定时器启动,10秒钟内M0.1输出为1,时间到后M0.1为0,产生一个10秒的脉冲。如果在10秒钟内M0.0从1变为0,则M0.1的输出不变,从MD2可以读出定时器已运行的时间。
2.2SFB4(TON)
简单的程序如下:
DB1为SFB4的背景数据块,当M0.0从0变为1定时器启动,定时时间到(10秒钟)M0.1输出为1。如果定时时间未到M0.0从1变为0,则定时器复位,从MD2可以读出定时器已运行的时间。
2.3 SFB5(TOF)
简单的程序如下:
DB1为SFB5的背景数据块,当M0.0为1,则M0.1输出为1,当M0.0从1变为0定时器启动,定时时间到(1