在实际应用中经常遇到这样的情况,在一个固定的时间周期内控制某继电器位打开(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的工作模式
下一篇:PLC脉冲频率的转换
推荐阅读最新更新时间:2024-11-17 00:22
推荐帖子
- 安卓手持机源代码的问题
- 我们公司要做手持机,领导给了我一个安卓手持机的源代码包。我在linux下编译成功了。现在硬件还没出来。领导又让我看看源码,找找里边有关液晶的地方。我在linux下,打开eclipse,把解压的包打开,一看傻眼啦。里面有很多工程。如图:我不明白,怎么这么多工程呢?难道是要把这么多工程整合到一块进行编译吗?我在众多的工程中,找到一个videoperf,如图:安卓手持机源代码的问题你是要做UI界面还是驱动?这两个区别有点大里边有两个java文件。如图:我感觉很像是液晶显示
- chenbingjy Linux与安卓
- LED电源不工作
- 麻烦大家帮忙看一下,LED电源没有输出,测量LD7535的输入电压为1.4V左右。LED电源不工作这颗芯片么,VCC只有1.4V左右LD7535主控芯片的供电电压检测芯片VCC脚,所连接到桥堆后的,几个启动电阻连接的是否正确 抄板抄过来的用法和典型电路不大一样是先对C12充电由C12给芯片供电但是电压值一直达不到先检测一下波形,看看是不是进入保护了或者先断开负载,空载测试是否正常?如果正常,估计是负载短路或是过流了。如
- qrnuyangfu 测试/测量
- PIC16F628控制SPI接口的应用
- 以前有过累世的文章今天给大家在来一个很技术性的望大家多多交流PIC16F628控制SPI接口的应用8错,坚决支持,谢谢了,顶你一下Re:PIC16F628控制SPI接口的应用很好,谢谢楼主哦。应该很有用。呵,赚币啊赚币Re:PIC16F628控制SPI接口的应用感谢楼主下来看看~谢谢楼主!谢谢楼主来看看学习下SPI很好,谢谢楼主哦。应该很有用回复沙发doublecherry的帖子下来看看很好,谢谢楼主哦谢谢楼主,正需要呢
- rain Microchip MCU
- 一级代理PARKER气动元件
- 美国PARKER派克电磁阀液压阀密封件型号派克部分产品型号一览:*u1aB622ADA57A,10;DX3-616-713MC,3;DX1-621-713AC,3;DIVW020BVZPM582XB510,10D1VW6CNJP75,5;7221GBN4VN00N0L111Q3,5;73228BN4UN00N0L322B8,5;73228BN64TS0NOL222B8,7;033124-16597;48
- bjcqzj 传感器
- dsp的cmd问题(仿真器和写flash运行结果不同)
- 求助:我在我的dsp中做一个滤波,使用仿真器时,滤波后的波形正确的(使用28335_RAM_Lnk.cmd),但是在写进片子中运行时波形就成直线啦(使用28335.cmd)使用同一个cmd(28335.cmd)在把程序中滤波注释掉后,也就是不进行滤波写进片子运行,波形正常哪位大侠帮我找找原因!!谢谢!!!28335_RAM_Lnk.cmd:MEMORY{PAGE0:BEGIN:origin=0x000000,length=0x000002
- charlie1982 微控制器 MCU
- MSP430单片机LED节拍程序
- #includemsp430x42x.h#includeBasicTimer.hvoidLED1_Process()/*任务1*/{staticunsignedintLED1_Timer;LED1_Timer++;if(LED1_Timer=8){LED1_Timer=0;P1OUT^=BIT1;}}voidLED2_Process()/*任务2*/{staticun
- 灞波儿奔 微控制器 MCU
- NavQPlus AI/ML配套计算机EVK,适用于移动机器人、ROS、地面站和摄像头
- espD2WD,esp32D0WD芯片开发板子
- MAX2830 WLAN参考设计
- 0.067W、3.3V DC 至 DC 单路输出电源,用于电池充电器
- 使用 Analog Devices 的 LTC3130EUDC 的参考设计
- 使用 NXP Semiconductors 的 ISP1161 的参考设计
- LTC3854 的典型应用 - 小尺寸、宽 VIN 范围同步降压型 DC/DC 控制器
- 用于 LED 照明的 70W、24V 交流转直流单输出电源
- 使用 Cypress Semiconductor 的 MB39C014 的参考设计
- 典型应用显示 14 引脚封装部件的所有补偿和感应元件,具有 NCV4299 150mA 低压降稳压器的抑制功能