S7-200/300秒脉冲时间设定时钟脉冲应用s7-200S7-200的秒脉冲的设定比较的简单有如下几个方法:方法一:可以用系统单元进行设定Clock_60sSM0.4时钟脉冲接通30秒,关断30秒,工作周期时间为1分钟Clock_1sSM0.5时钟脉冲接通0.5秒,关断0.5秒,工作周期时间为1秒系统内部分别有秒脉冲和分脉冲SM0.4工作周期为1分钟SM0.5工作周期为1秒在应用时直接写入就可以注意在秒脉冲指令的后面用上升沿或者下降沿,这样两个上升沿(下降沿)之间的时间就是要得到的周期.方法二:自己编写延时程序自己编写延时程序,并设定好延时时间,当时间到后便执行存储程序块调用,该方法受程序循环时间的影响,不是特别精确,如果是要求不太严格的情况下可以使用本方法。此方法就是编写一个程序让这个程序做为子程序被调用方法三:用系统时钟加比较器此方法比较另类,比较复杂,具体编程如下.先设定一个系统读取实时时钟设定启始地址比如VB100然后看各个位的定义VB105就是秒再用比较用VB105+1比较VB105进行比较如果相等为真那就是1秒注意:这个比较要进行范围锁定,这个方法我试过是可以用的1月(1-12)当前月份(BCD值)2日期(1-31)当前日期(BCD值)3小时(0-23)当前小时(BCD值)4分钟(0-59)当前分钟(BCD值)5秒(0-59)当前秒(BCD值)600保留?始终设置为007星期几(1-7)当前是星期几,1=星期日(BCD值)S7-300S7-300的秒脉冲的设定比较的复杂但是方法很多(这里将着重介绍CPU设定):方法一:CPU用时钟存储器硬件组态中CPU属性Cycle/ClockMemory中ClockMemory设定的MemoryByte,可以看下帮助,每一位都有固定频率在Propreties窗口中点击Cycle/ClockMemory(循环/时钟存储器)选项卡,可以设置Scancyclemonitoringtime(以ms为单位的扫描循环监视时间),默认值为150ms.如果实际的循环扫描时间超过设定值.CPU将进入STOP模式.ScancycleLoadfromCommunication用来限制通信处理占扫描周期的百分比,默认值为20%时钟脉冲是一些可供用户程序使用的占空比为1:1的方波信号,一个字节的时钟存储器的每一位对应的一个脉冲如下:位76543210周期/s21.610.80.50.40.20.1频率/Hz0.50.62511.2522.5510如果要使用时钟脉冲,首先要选中ClockMemory'(时钟存储器)选项,然后设置时钟存储器(M)的字节地址.假设设置的地址为100(即MB100),有上表可知,M100.7周期为2s,如果用M100.7的常开的触点来控制Q0.0的线圈,Q0.0将以2s的周期闪烁(亮1s,熄灭1s).OB85-CallupatI/Oaccesserror用来预设置CPU对系统修改过程映像时发生的I/O访问错误的响应.如果希望在出现错误时调用OB85,建议选择Onlyforincomingandoutgoingerror(仅在错误产生和消失),相对于Oneachindividualaccess(每次单独的访问),不会增加扫描循环时间.方法二:自己编写延时程序,并设定好延时时间,当时间到后便执行存储程序块调用,该方法受程序循环时间的影响,不是特别精确,如果是要求不太严格的情况下可以使用本方法。方法三:利用等时中断组织块来实现等时中断,如在OB35中调用存储程序块,实现等时存储,该方法较精确。方法四:可以利用SFC1读取CPU时钟,通过时钟值的差额计算可以实现等时间隔存储。(此方法与我介绍的S7-200的第三种方法相似在此就不具体写编程方法了)方法五:如果用外部等时间间隔触发信号的话,利用硬件中断实现也是可以的。注意:没有什么特殊的情况下建议用方法1,2,3方法1最实用正常情况下方法一最适合使用用起来简单方便大家只要把各个位对应的周期记住就可以了