西门子S7200如何产生时钟脉冲

更新时间:2023-09-06 17:54:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

西门子S7-200程序中可以用以下几种方法实现:

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

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

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

定时器中断可以利用定时器来对一个指定的时间段产生中断。这类中断只能使用1ms通电和断电延时定时器T32和T96。当所用定时器的当前值等于预设值时,在主机正常的定时刷新中,执行中断。下面分别给出程序例子:ORGANIZATION_BLOCK 主程序:OB1 TITLE=主程序:利用定时中断产生时钟脉冲

Network 1

LD SM0.1

MOVB 100, SMB34

ATCH INT0, 10

ENI

END_ORGANIZATION_BLOCK

INTERRUPT_BLOCK INT_0:INT0

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

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=主程序:利用定时器中断产生时钟脉冲

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

Network 1 LD SM0.0

XORB 2#1, QB0

END_INTERRUPT_BLOCK

这种方法时钟周期可以调整,但打开和关闭时间相同。把程序代码拷贝下来,粘贴到一个文本文件中,然后就可以在STEP7-MicroWIN中导入。

第二种方法,利用通电和断电延时定时器来实现,此方法不但可以调整时钟周期,还可以产生打开和关闭时间不同的时钟脉冲。下面给出两段例子程序。

第一段例子程序,我们用两个定时器产生时钟脉冲,实现原理是定时器1计时到位置位输出继电器位,同时启动定时器2开始计时,定时器2计时到位复位输出继电器位,同时启动定时器1开始计时,循环往复。两个计时器预设值的和为时钟周期,分别调整定时器1的预设值或定时器2的预设值,即可实现产生打开和关闭时间不同的时钟脉冲。 ORGANIZATION_BLOCK 主程序:OB1

TITLE=主程序:用两个定时器产生时钟脉冲

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=主程序:用一个定时器产生时钟脉冲

Network 1

LD SM0.0

LPS

TON T37, 30

LRD

AW>= T37, 10

S Q0.0, 1

LPP

A T37

R Q0.0, 1

= M0.0

END_ORGANIZATION_BLOCK

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

第三种办法,使用高速脉冲输出。

高速脉冲输出功能是指可以在可编程控制器的某些输出端产生高速脉冲,用来驱动负载实现精确控制。

对于西门子S7-200PLC,其开关量输出Q0.0和Q0.1编程时可用作高速脉冲输出。支持两种形式高速脉冲,高速脉冲串输出PTO和宽度可调脉冲输出PWM。我们使用宽度可调脉冲输出PWM也可实现时钟脉冲功能。下面给出程序范例:

ORGANIZATION_BLOCK 主程序:OB1

TITLE=主程序:用高速脉冲输出产生时钟脉冲

Network 1

LD SM0.1

MOVB 16#DB, SMB67

MOVW 3000, SMW68

MOVW 2000, SMW70

PLS 0

END_ORGANIZATION_BLOCK

此方法一般用于周期较短,控制精度要求较高的场合。把程序代码拷贝下来,粘贴到一个文本文件

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

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

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

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

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

本文来源:https://www.bwwdw.com/article/zsch.html

Top