LD SM0.1
CALL ETH0_CTRL:SBR1, Q0.0, MW0, MW2
接通延时定时器(TON):用于单一间隔的定时
有记忆的接通延时定时器(TONR):用于累计许多时间间隔
断开延时定时器(TOF): 用于关断或者故障事件后的延时
定时器对时间间隔计数。定时器的分辨率(时基)决定了每个时间间隔的长短。
定时器号决定了定时器的分辨率(时基)。
SIMATIC定时器有三种分辨率:1ms、10ms和100ms。
S7-200提供了256个可供使用的定时器,即用户可用的定时器号为T0-T255,一旦用户选择了定时器号,就意味着定时器的分辨率(时基)已经确定了。定时器号的分辨率(时基)及最大计时时间,如下表:
表1. 定时器号和分辨率
定时器类型 分辨率 最大定时值 定时器值
TONR
(可保持) 1 ms 32.767s (0.546min.) T0, T64
10 ms 327.67s (5.46min.) T1-T4, T65-T68
100 ms 3276.7s (54.6min.) T5-T31, T69-T95
TON,TOF
(不保持)
1 ms 32.767s (0.546min.) T32, T96
10 ms 327.67s (5.46min.) T33-T36, T97-T100
100 ms 3276.7s (54.6min.) T37-T63, T101-T255
不同分辨率的定时器按以下规律刷新:
1ms:1ms分辨率的定时器,定时器位和当前值的更新不与扫描周期同步。对于大于1ms的程序扫描周期,在一个扫描周期内,定时器位和当前值刷新多次。
10ms:10ms分辨率的定时器,定时器位和当前值在每个程序扫描周期的开始刷新。定时器位和当前值在整个扫描周期过程中为常数。在每个扫描周期的开始会将一个扫描累计的时间间隔加到定时器的当前值上。
100ms:100ms分辨率的定时器,定时器位和当前值在指令执行时刷新。因此为了保证正确的定时值,要确保在一个程序扫描周期中,只执行一次100ms定时器指令。
注意:不能将同一个定时器号同时用作TOF和TON。例如,不能既有TON T32又有TOF T32。也不能重复使用同一定时器号定时。
不同定时器的功能
接通延时定时器(TON): 当使能输入接通时,定时器开始计时,在当前值(TXXX)与预置值(PT)相等时,定时器位接通。使能输入断开后,定时器当前值清零。在定时器到达预置值后,它会继续计时直到计到最大值32767才停止。
有记忆接通延时定时器(TONR): 当使能输入接通时,定时器开始计时;在当前值(TXXX)大于等于预置值时,定时器位接通。当使能输入断开时,定时器当前值保留。若要将定时器当前值清零,必须执行复位命令。在定时器到达预置值后,它会继续计时直到计到最大值32767才停止。
断开延时定时器(TOF): 在输入端接通时,定时器位立即接通,当前值置为零;当输入端由接通转为断开时,定时器开始计时,直到预置时间。当定时器到达预置时间时,则定时器位断开,定时器当前值停止计时。当输入断开的时间小于预设值时,定时器位保持接通。下一次输入断开后,定时器从零开始重新计时直到达到预置值。
定时器在子程序中的表现
在条件调用子程序的主程序中,当停止子程序调用时,如果定时器已经激活正在计时,停止调用这个子程序会造成定时器的失控。不管此时定时器前面的激活条件如何变化,定时器(1ms、10ms 时基的)会一直走到最大值,定时器输出也会在达到设定值时接通;(100ms 时基的定时器会在上述情况下停止计时,但在逻辑上处于失控状态)。
如果用 SM0.0 调用子程序;或者在控制逻辑的时序上做到能够保证定时功能完整执行,定时器会正常运行。使用条件调用含有定时器的子程序时,一定要注意时序逻辑,以免造成程序运行错误。
常问问题
使用定时器加自复位做一个不断重复的计时,调用其他功能或子程序时,为何看起来工作不规律?
请注意《S7-200系统手册》中,或者前文关于三种定时器刷新规律的描述。
按这种方法使用定时器时,定时器的置位、复位可能与程序扫描周期不配合,存在造成上述问题的机制。
定时比较短的定时任务应使用“定时中断”功能,这样更为可靠。
编了一个利用定时器的程序,在编译时已经通过,为何下载到CPU中时提示出错?
这种情况往往是调用的定时器号与定时器类型不配合造成的。参见上面的表格,如T7只能用作TONR,而不能用于TON或TOF。
详见西门子 S7-200 · LOGO! · SITOP 参考
Beta Version 0.93
下载地址
http://www2.ad.siemens.com.cn/Download/Upload/AS/application/A0136.chm
1.定时器指令的应用
S7-200系列PLC按时基脉冲分为1ms、10ms、100ms三种,按工作方式分为延时通定时器(TON)和保持型延时通定时器(TONR)两大类。
对于积算型定时器T3,则当输入IN为1时,定时器计时(基脉冲数);当IN为0时,其当前值保持(不像TON一样复位);下次IN再为1时,T3当前值从原保持值开始再往上加,并将当前值与设定值PT作比较,当前值大于等于设定值时,T3状态bit置1,驱动Q0.0有输出;以后即使IN再为0也不会使T3复位,要令T3复位必须用复位指令。
注意:S7-200系列PLC的定时器中1ms、10ms、100ms的定时器的刷新方式是不同的。
(1)1ms定时器 由系统每隔1ms刷新一次,与扫描周期及程序处理无关。所以当扫描周期较长时,在一个周期内可能被多次刷新,其当前值在一个扫描周期内不一定保持一致。
(2)10ms定时器 由系统在每个扫描周期开始时自动刷新。由于是每个扫描周期只刷新一次,就在每次程序处理期间,其当前值为常数。
(3)100ms定时器 在该定时器指令执行时被刷新。因而要留意,如果该定时器线圈被激励而该定时器指令并不是每个扫描周期都执行的话,那么该定时器不能及时刷新,丢失时基脉冲,造成计时失准。若同一个100ms定时器指令在一个扫描周期中多次被执行,则该定时器就会数多了时基脉冲,相当于时钟走快了。
2.计数器指令的应用
S7-200系列PLC有两种计数器:加计数器(CTU)和加/减计数器(CTUD)。
每个计数器有一个16位的当前值寄存器及一个状态位。CU为加计数脉冲输入端,CD为减计数脉冲输入端,R为复位端 ,PV为设定值。当R端为0时,计数脉冲有效;当CU端(CD端)有上升沿输入时,计数器当前值加1(减1)。当计数器当前值大于或等于设定值时,状态位也清零。计数范围为-32768-32767,当达到最大值32767时,再来一个加计数脉冲,则当前值转为-32768。同样,当达到最小值-32768时,再来一个减计数脉冲,则当前值转为最大值32767。
相关资料:
见《S7-200系列PLC的定时器指令的使用》下载:
http://plc.zjwchc.com/file/discuss1.doc
见《S7-200系列PLC的定时器指令》连接:
http://www.dkxxw.com/xuexi/siemens/biancheng/dingshiqizhiling.htm
《西门子S7-200编程视频-第28集:定时器举例》连接:
http://
.如果我的待传送的数据是双字或浮点型的在S7-200中需要怎么处理,还有开关量的位怎么处理?
任何数据只考虑所占用的单元数,与其类型无关。
.接收区的地址是不是也要预留出来,接收区的地址怎么分配
上述文档中有介绍。
相关资料:
《西门子S7-200与S7-300之间的通讯》下载:
http://space.cechina.cn/infosharedownload.aspx?id=366
定时器可以字寻址的啊,只要比较就行了。
如t37大于1秒的,点亮q0.0
如t37大于2秒的,点亮q0.1
如t37大于3秒的,点亮q0.2
如t37大于4秒的,点亮q0.4
如t37大于5秒的,点亮q0.5,
如t37大于6秒的,复位t37。。。。。
vw变量看成一个整数还是一个字?aiw看成整数还是字?mw看成整数还是一个字?
字是从存储方式(存储的单位的标识)来看:8个二进制位为一个字节,16个二进制位为一个字(即两个字节),其表示一种存储的单位。
整数是从数制(存储的内容的标识)来看:一个字可以存储一个整数,也可作为16个二进制位的组合(例如MW0,即M0.0,M0.1,......M0.7,M1.0,M1.1,......M1.7).
S7-200/300等系列PROFIBUS-DP总线转光纤--OLM国产替代品首选
深圳讯记www.comark.cn, 可为您提供自控行业主流总线光纤中继模块.
ControlNet,Profibus-DP,ModbusPlus,S908 RIO,DeviceNet,CAN,CC-Link,DH+,DH485,PPI,CS31...
电话:0755-26055466,5499 Ext:603 手机:13066988513
Cj-mf61系列4~20mA\0~10V高精度、现场免调校模拟量光纤转换器。
http://www.comark.cn/cn/productview.asp?id=134
深圳讯记www.comark.cn, 可为您提供自控行业主流总线光纤中继模块.ControlNet,Profibus-DP,ModbusPlus,S908 RIO,DeviceNet,CAN,CC-Link,DH+,DH485,PPI,CS31...
电话:0755-26055466,5499 Ext:603 手机:13066988513