ORGANIZATION_BLOCK 主程序:OB1
TITLE=主程序:利用定时器中断产生时钟脉冲-Author:Smartsys-
BEGIN
Network 1
LD SM0.1
ATCH INT0, 21
ENI
Network 2
LD SM0.0
LPS
AN M0.0
TON T32, 1000
LPP
A T32
= M0.0
END_ORGANIZATION_BLOCK
INTERRUPT_BLOCK INT_0:INT0
TITLE=中断程序:利用定时器中断产生时钟脉冲-Author:Smartsys-
BEGIN
Network 1
LD SM0.0
XORB 2#1, QB0
END_INTERRUPT_BLOCK
这种方法时钟周期可以调整,但打开和关闭时间相同。把程序代码拷贝下来,粘贴到一个文本文件中,然后就可以在Step7-MicroWIN中导入。
前面我们已经介绍了两种方法,下面介绍另外两种方法
第三种方法,利用通电和断电延时定时器来实现,此方法不但可以调整时钟周期,还可以产生打开和关闭时间不同的时钟脉冲。下面给出两段例子程序。
第一段例子程序,我们用两个定时器产生时钟脉冲,实现原理是定时器1计时到位置位输出继电器位,同时启动定时器2开始计时,定时器2计时到位复位输出继电器位,同时启动定时器1开始计时,循环往复。两个计时器预设值的和为时钟周期,分别调整定时器1的预设值或定时器2的预设值,即可实现产生打开和关闭时间不同的时钟脉冲。
ORGANIZATION_BLOCK 主程序:OB1
TITLE=主程序:用两个定时器产生时钟脉冲-Author:Smartsys-
BEGIN
Network 1
LD SM0.0
LPS
AN Q0.0
TON T37, 10
LPP
A T37
S Q0.0, 1
Network 2
LD SM0.0
LPS
A Q0.0
TON T38, 20
LPP
A T38
R Q0.0, 1
END_ORGANIZATION_BLOCK
第二段例子程序,我们用一个定时器同样可以实现上段例子的效果。实现原理是用一个定时器产生一个周期循环,即计时器到位复位重新计时,用一个比较指令,当计时器当前值大于某值时,置位输出继电器,计时器计时到位时复位输出继电器,调整计时器预设值可调整时钟周期,改变比较值,可实现产生打开和关闭时间不同的时钟脉冲。
ORGANIZATION_BLOCK 主程序:OB1
TITLE=主程序:用一个定时器产生时钟脉冲-Author:Smartsys-
BEGIN
Network 1
LD SM0.0
LPS
AN M0.0
TON T37, 30
LRD
AW>= T37, 10
S Q0.0, 1
LPP
A T37
R Q0.0, 1
= M0.0
END_ORGANIZATION_BLOCK
对于一般要求精度不高的应用,我们推荐使用这种方法。