1. 关于脉冲输出
脉冲输出的⽅法有很多:
如果要产⽣占空⽐为50%的脉冲信号:
① ⽤S7-300PLC的时钟存储器
右键点击PLC,选中时钟存储器,默认存储字节为0。
各时钟存储器的周期和频率如下表所⽰:
② 采⽤循环中断
使⽤循环中断OB35,设置中断执⾏时间为1000ms
在OB35块中编写程序
程序在第⼀次执⾏时,因为M10.0为0,所以给M10.0置位 第⼆次执⾏时,M10.0为1,所以M10.0复位。
我们设定OB35执⾏的时间为1000ms,这样,M10.0就会相隔1s循环置位、复位,就产⽣的周期为2s的脉冲。当然如果我们要修改脉冲的周期,只要修改OB执⾏的时间就可以了,⽐⽤PLC的时钟存储器要更灵活。③ 采⽤定时器定时⾃动复位的⽅式产⽣脉冲当然我们还可以采⽤我们的⽼朋友定时器来产⽣脉冲
⽹络1是相隔1s⾃动复位,⽹络2为单按钮启停。 这样,第⼀次M10.0为1时,Q0.0置位 第⼆次M10.1为1时,Q0.0复位
Q0.0上就可以产⽣周期为2s占空⽐为50%的脉冲信号了。
关于⽹络2的单按钮启停其实也有很多种实现⽅式,当然这⼜是另外的故事了。
产⽣占空⽐可调的脉冲信号
① 采⽤两个定时器,如下图,这也是教科书上都会介绍的⼀种⽅式。下图可以产⽣⼀个周期为3s的脉冲信号
② 采⽤IEC定时器实现
S7-300⾥⾯我不太喜欢⽤IEC定时器的原因是因为每⽤⼀个定时器都会产⽣⼀个DB背景数据块。⽤S5定时器会更⽅便⼀点。
③ ⽤定时器和⽐较指令
第⼀个程序段的⽬的是定时器循环计时,它的当前值是在0-3s之间变化的。
第⼆个程序段在进⾏⽐较的时候要注意,定时器的ET参数为:Elapse time即时间流逝值。是⼀个32位的time型变量。只要它⼤于1s时就让它接通。这样Q0.0上也就产⽣了如上的脉冲信号。⽤S5定时器会有些不太⼀样:
S5定时器⾥BI的值为剩余时间的ms数除以10,所以在⽤⽐较指令的时候,把MW30和200做⽐较,也就是剩余时间为2s时让Q0.0接通。这样Q0.0上输出的脉冲也是1s低2s⾼这个样⼦。
关于定时器的例⼦我先写这么多了,灵感来⾃于学⽣在实验的过程中出现了很多问题,所以就想记录⼀下。肯定脉冲输出的实现⽅式还有很多很多,脑⼦⾥现在还有⼏种想法没有放上来,⽐如可以⽤⾃复位的通电延时结合脉冲定时器来实现。我想如果上⾯的都掌握了,那么定时器的使⽤就不是问题了。需要的时候⽤⼀个最简单的办法就可以了。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务