quote:以下是引用n次看你的背影在2011-08-05 10:11:22的发言:关于S7定时器(S7Timer),功能确实比较多,各种用法也是很多!这些年来工作中积累了一些经验,在下有过一些用法,目前总结了三种!如下图所示!(仅作参考)!另外,我用其它专业领域的工具做了一个效果表达图,让原本枯燥无味、抽象的东西,增加点情趣,希望能和大家共勉,也希望能给大家带来视觉上的体验和享受!
1、互为触发型:比如在程序中需要用到占空比可调的脉冲源信号,可以用S_PULSE型定时器互为“串联”,让其取反互为触发,将T1、T2的设定时间作相应调整,这样用的好处就是灵活多变、而且简单,可以调制出我们需要的各种占空比脉冲信号,如果结合其它位进行逻辑运算,会有一些奇妙的效果!见图1

2、自我触发型:S_PEXT类型定时器,取反自我触发有下图2的特征,而且高电平脉宽可以自由调节,底电平宽度相当于一个扫描周期,有时候我们可以近似地把它做为一个同步脉冲信号!调节它的时间值,可以调制出一个我们需要的脉宽信号。我们也可以结合其它位一起进行逻辑运算,灵活巧妙地获取一些功能!

3、赋值分频型:将一个定时器触发启动后,让其一直循环运行,根据定时器时基(10ms、100ms、1s、10s)的不同,我们可以将定时器当前的运行时间赋给一个MW,最低位其实就是时基,可以提取出来,然后逐级向高位是2分频的关系(变量表里面看一下MW二进制状态就明白了)!我们可以提取MW里面的某些想要的位,给我们使用!CPU属性里面的Clock Memory 如果设置为MB0,这样就可以对比一下了,呵呵......有可能CPU属性设置的MB0的时钟脉冲是真正意义上的同步脉冲,不受扫描周期的影响!任何定时器产生的脉冲精度都是无法与之相比的!见图3
