西门子s7-200产生时钟脉冲的实例教程

来源:电工天下时间:2020-04-23 10:11:11 作者:老电工手机版>>

有关西门子s7-200产生时钟脉冲的实例教程,介绍了西门子s7-200时钟脉冲的三种操作方法,实例为用开关量输出驱动指示灯闪烁或驱动蜂鸣器发出时断时续的响声,二个程序实例。

西门子s7-200时钟脉冲实例

在一个固定的时间周期内控制某继电器位打开(ON)一段时间,关闭(OFF)一段时间。比如,用开关量输出驱动指示灯闪烁或驱动蜂鸣器发出时断时续的响声。

总结了在西门子S7-200程序中4种实现此功能的方法。

第一种方法,使用特殊存储器位SM。

特殊存储器位SM0.4提供1分钟时钟脉冲,该脉冲在1分钟的周期内关闭(OFF)30秒,打开(ON)30秒。

特殊存储器位SM0.5提供1秒钟时钟脉冲,该脉冲在1秒钟的周期内关闭(OFF)0.5秒,打开(ON)0.5秒。

特殊存储器位SM0.6提供扫描周期时钟脉冲,该脉冲为一次扫描打开,然后下一次扫描关闭。

这种方法使用简单,但时钟周期和开关时间固定,很多情况下不能满足要求。

第二种方法利用时基中断程序

时基中断包括定时中断和定时器中断。

定时中断可用来支持一个周期性的活动,周期时间以1ms为计量单位,周期时间可从5ms~255ms。对于定时中断0,把周期时间写入SMB34,对于定时中断1,把周期时间写入SMB35。每当达到定时时间值,相关定时器溢出,执行中断处理程序。

定时器中断可以利用定时器来对一个指定的时间段产生中断。

这类中断只能使用1ms通电和断电延时定时器T32和T96。当所用定时器的当前值等于预设值时,在主机正常的定时刷新中,执行中断。

程序例子:

复制代码 代码示例:
ORGANIZATION_BLOCK 主程序:OB1

TITLE=主程序:利用定时中断产生时钟脉冲-Author:Smartsys-

BEGIN

Network 1

LD     SM0.1

MOVB   100, SMB34

ATCH   INT0, 10;将中断事件(EVNT)与中断例行程序号码(INT)相联系,并启用中断事件。

ENI;允许中断

END_ORGANIZATION_BLOCK

INTERRUPT_BLOCK INT_0:INT0

TITLE=中断程序:利用定时中断产生时钟脉冲-Author:Smartsys-

BEGIN;开始

Network 1

LD     SM0.0

INCB   VB0

Network 2

LDB>=  VB0, 10

XORB   2#1, QB0

XORB   VB0, VB0

END_INTERRUPT_BLOCK

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

对于一般要求精度不高的应用,推荐使用这种方法。

相关文章
  • 西门子plc边沿脉冲指令EU、ED用法实例

    西门子plc边沿脉冲指令EU、ED用法实例

    西门子plc边沿脉冲指令EU、ED的用法,边沿脉冲指令分为上升沿脉冲EU(Edge Up)和下降沿脉冲ED(Edge Down),脉冲指令常用于复位、启动及关断条件的判定,配合功能指令完成逻辑控制任务。

    时间:2020-04-23 10:06:16

  • 西门子plc S_PULSE(脉冲S5定时器)的用法说明

    西门子plc S_PULSE(脉冲S5定时器)的用法说明

    有关西门子plc指令的用法教程,这里主要讲一下脉冲S5定时器的使用方法,西门子plc 脉冲定时器的线圈指令,介绍下工作时序与应用实例,供大家学习参考。

    时间:2020-04-22 15:55:03

  • 西门子plc s7-200实时时钟指令todw用法

    西门子plc s7-200实时时钟指令todw用法

    有关西门子plc s7-200实时时钟指令todw的用法,EN有效时,TODW指令可以将以地址T开始的8 bit的缓冲区中设定的当前时间和日期写入硬件时钟。

    时间:2020-04-08 11:46:10

  • 西门子plc S7200实时时钟指令TODW格式的用法

    西门子plc S7200实时时钟指令TODW

    西门子plc S7200实时时钟指令TODW格式,操作数T的含义与TODR中的操作数相同,TODW指令将以地址T开始的8 bit的缓冲区中设定的当前时间和日期写入硬件时钟。

    时间:2016-05-30 04:13:07

  • 【图】plc高速输入脉冲测定瞬时流量的几种方法

    plc高速输入脉冲测定瞬时流量

    plc高速输入脉冲测定瞬时流量的几种方法,包括定义高速计数器,高速输入脉冲频率计算,瞬时流量计算,测定脉冲输出信号的流量计的瞬时流量就需要在STEP 7 Micro/WIN中通过三部分编程。

    时间:2015-12-27 10:54:46

  • 西门子plc高速输入脉冲测定瞬时流量的方法

    西门子plc高速输入脉冲测定瞬时流量

    有关西门子plc高速输入脉冲测定瞬时流量的方法,西门子S7-200 plc高速计数功能的应用说明,定义高速计数器,高速输入脉冲频率计算,以及瞬时流量的计算等,一起来了解下。

    时间:2015-12-13 19:26:51

  • 【图】西门子s7-214实时时钟读写实例

    西门子s7-214实时时钟读写

    西门子s7-214实时时钟读写实例,有关实时时钟的两种特殊指令:读和写日期及时钟时间,需要有如下结构的8字节缓冲区,包括程序框图与程序注释等内容。

    时间:2015-11-03 10:37:22

  • 西门子s7-300 cpu系统时钟的类型及用法

    西门子s7-300 cpu系统时钟

    西门子s7-300 cpu系统时钟的类型及用法,西门子s7-300的数据类型分为:基本数据类型、复合数据类型和参数类型,时钟Date_And_Time属于复合数据类型,S7-300/400读取系统时钟及CPU扫描周期的方法。

    时间:2015-10-30 04:26:10

推荐文章

Copyright © 2015 - 2022 dgjs123.com All Rights Reserved

电工天下 版权所有