GEPLC第10讲定时器指令3
- 格式:ppt
- 大小:1.79 MB
- 文档页数:23
定时器指令定时器指令定时器可以提供等待时间或监控时间,定时器还可产生一定宽度的脉冲,亦可测量时间。
定时器是一种由位和字组成的复合单元,定时器的触点由位表示,其定时时间值存储在字存储器中。
脉冲定时器(SP) 扩展脉冲定时器(SE)定时器的种类接通延时定时器(SD) 保持型接通延时定时器(SS)关断延时定时器(SF)1. 1. 定时器组成定时器组成定时器组成在CPU 的存储器中留出了定时器区域,该区域用于存储定时器的定时时间值。
每个定时器为2Byte,称为定时字。
在S7-300中,定时器区为512Byte,因此最多允许使用256个定时器。
S7中定时时间由时基和定时值两部分组成,定时时间等于时基与定时值的乘积。
当定时器运行时,定时值不断减1,直至减到0,减到0表示定时时间到。
定时时间到后会引起定时器触点的动作。
定时时间定时时间==时基时基××定时值定时值定时器的第0到第11位存放二进制格式的定时值,第12,13位存放二进制格式的时基。
时基与定时范围时基与定时范围时基 时基的二进制代码 分辨率 定时范围 10ms 00 0.01s 10ms 至9s_990ms 100ms 01 0.1s 100ms 至1m_39s_900ms1s 10 1s 1s 至16m_39s 10s1110s10s 至2h_46m_30s为累加器1装入定时时间值的表示方法: (1)L W L W L W##1616##wxyz wxyz 其中,w,x,y,z 均为十进制数;w=时基,取值0,1,2,3,分别表示时基为:10ms,100ms,1s,10s;xyz=定时值,取值范围:1到999。
(2)L S5T L S5T L S5T##aH_bbM_ccS_dddMS aH_bbM_ccS_dddMS 2.2.定时器启动与运行定时器启动与运行定时器启动与运行PLC 中的定时器相当于时间继电器。
在使用时间继电器时,要为其设置定时时间,当时间继电器的线圈通电后,时间继电器被启动。
一、PLC定时器的使用实际上有多种多样的定时器, 这也是它们有趣的地方. 通常, 不同生产商都提供不同类型的定时器. 下面是最常用的一些定时器:·延时ON定时器(On-Delay Timer) --这种类型的定时器为"延时后变为ON". 换句话说, 当我们的传感器(输入)变为ON以后, 等待x秒后, 才激励一个电磁阀(输出). 这是最常见的定时器. 它通常叫做TON(timer on-delay, 延时ON定时器), TIM(timer, 定时器)或TMR(timer).·延时OFF定时器(Off-Delay Timer) --这种定时器与上面提到的延时ON定时器刚好相反. 这种定时器仅仅"延时OFF". 我们的传感器(输入)检测到目标后, 激励电磁线圈(输出). 当传感器检测不到目标时, 电磁线圈将保持被激励的状态x秒后才变为OFF. 这种定时器叫做TOF(延时OFF定时器), 它较上面提到的延时ON定时器少见.(例如, 很少生产商在其PLC中装入这种定时器).·保持或累积定时器--这种定时器需要两个输入端. 一个输入端启动定时器(即时钟开始计时), 另一个输入端将定时器复位.如果输入传感器在整个定时时间内没有ON/OFF, 则上面提到的延时ON或OFF传感器将被复位.而当传感器中途断开时, 这种定时器将保持当前状态, 直到将其复位为止. 例如, 我们想知道在1个小时内传感器为ON的时间有多长. 如果我们用上面提到的那些定时器, 当传感器变为OFF或ON时, 它们将保持复位. 而保持或累积定时器, 将给我们一个总的或累积的时间. 我们通常把它叫做RTO(Retentive Timer, 保持定时器)或TMRA(Accumulating Timer, 累积定时器).下面我们来看一下怎样使用它们. 典型地, 我们需要知道两件事情:1. 用什么启动定时器. 典型情况下为一输入. (例如连接到输入0000的一个传感器)2. 在做出反应前, 我们要延时多长时间. 例如, 我们在使一个电磁阀打开前要等待5秒钟.当定时器符号前面的指令为真(True)时, 定时器开始计数. 当定时时间到达时, 定时器将自动关闭它的触点. 当程序在PLC上运行时, 将显示逝去的或"累积的"时间, 便于我们观察当前值. 典型定时器的定时范围为0到9999或0到65535次.为什么是这么怪异的数字呢? 这是因为大多数的PLC使用的是16位定时器. 我们将在以后学习这是什么意思, 现在我们只要知道0-9999是16位BCD(Binary Coded Decimal, 二进制编码的十进制数), 0到65535是16位二进制数就行. 时钟每计一次为X秒.典型地, 每个生产商提供几种不同的计数单位. 大多数厂家提供10和100ms的增量. 一"ms"是一毫秒或1/1000秒. 一些生产商也提供1ms或1秒的增量. 这些不同增量的计数器工作起来和上面讲的一样, 只是有时为了表明它们的时基不同,它们的名称不一样. 有的叫做TMH(High speed Timer, 高速定时器), TMS(Super high speed Timer, 超高速定时器), 或TMRAF(Accumulating Fast Timer, 累积式快速定时器).下面是一个典型的定时器指令符号, 我们该怎样使用它呢? 记住一点, 当它们外表看起来不同时, 它们的基本用法都是相同的. 如果我们会设置一个, 我们就会设置所有的定时器.这个定时器为延时ON型的, 名称为Txxx. 当定时器的使能输入端为ON时, 它开始计时. 当它计了yyyy(预设值)次后, 它将它的触点变为ON, 我们将在程序的后面使用该触点. 注意, 每次计数的间隔时间(增量)因生产商和所用时基不同而有所不同. (即, 计一个数可能为1ms或1秒或...).下面是梯形图中的符号.在该图中, 我们等待输入0001变为ON. 当它变为ON时, 定时器T000(一个100ms时基的定时器)开始计数. 它将计数100次. 每次(增量)为100ms, 于是该定时器为一10000ms(即10秒)定时器.100次×100ms =10,000ms. 当10秒钟过去后, T000接触器闭合, 500变为ON. 当输入0001变为Off(错误)时, 定时器T000将复位为0, 同时使它的触点变为OFF(变为False), 所以使输出500变为返回OFF状态.一个累积定时器看起来将如下图所示:该定时器被命名为Txxx. 当使能输入为ON时, 定时器开始计时. 当它计过yyyy(预设值)次后, 它将使它的触点变为ON, 以备我们在后面的程序中使用. 注意, 每计一个数的时间(增量)会因厂家和时基不同而不同(例如,1ms或1秒或...). 但是, 如果使能输入在定时结束前变为OFF, 当前值将被保留. 当输入返回到ON状态时, 定时器将从它停止的地方继续计时. 使定时器强制返回预设值状态的唯一办法就是重新启动.在梯形图中, 它的符号如下:在该图中, 我们等待输入0002变为ON. 当它变为ON时, 定时器T000(一个10ms增量定时器)开妈计时. 它将计数100次. 每计一个数的时间(增量)为10ms, 于是定时器的定时时间为1000ms(即1秒). 100次×10ms=1,000ms. 当1少过去后, T000的触点闭合, 输出500变为ON. 如果输入0002返回到OFF状态, 当前计时值将被保留. 当0002返回到ON状态时, 计时从停止点继续. 当输入0001变为ON(True, 真)时, 定时器T000将复位到0, 同时使得它的触点变为OFF状态(变为False, 假), 所以输出500返回OFF状态.重要的一点就是注意计数器和定时器不能拥有相同的名字(在大多数的PLC中). 这是因为它们使用相同的寄存器.还有一点要时刻牢记, 那就是虽然它们的符号看起来不一样, 但是它们的工作方式都是一样的. 主要区别就是每计一个数所花的时间不一样.二、PLC定时器的精度在应用定时器时通常有两种误差. 第一种叫做输入误差. 另一种叫做输出误差. 总的误差是输入误差和输出误差之和.·输入误差-该误差的产生取决于定时器的输入在扫描周期内变为ON的时间. 当定时器的输入恰在PLC扫描完输入状态时变为ON, 输入误差最大. (即大于1个全扫描时间!). 这是因为, 请回想一下, (见以前学过的扫描时间部分)在一个扫描周期内, 输入只被扫描一次. 如果当PLC扫描输入的时候它没有变为ON, 而是在扫描完输入的时候变为ON, 显然有一个误差. 另外,我们还不得不在扫描周期的程序执行部分等待定时器指令的执行.如果定时器指令是那一横档上的最后一条指令, 那么又有了一个不小的误差!·输出误差-另一个误差的产生取决于定时器定时完成的确切时间, PLC完成程序执行然后更新输出的时间. 这是因为虽然定时器在程序执行期间已定时完成, 但是PLC必须首先执行完余下部分的程序, 才去更新输出.下图所示为最坏情况下的输入误差. 可以看出最大的输入误差为1完整的扫描时间+1程序执行时间. 注意, 程序执行时间会因程序不同而不同.(取决于程序中的指令数.)下图所示为最坏情况下的输出误差. 从中可以看出最大的输出误差为1完整的扫描时间.基于上面的分析, 我们可以得出最坏情况下的定时器总误差为:1扫描时间+ 1程序执行时间+ 1扫描时间= 2扫描时间+ 1程序执行时间.这到底意味着什么呢? 这意味着虽然大多数的生产商目前均提供增量为1ms的定时器, 但是它们实际上不能用于少于几个毫秒的定时. 这是假设我们的扫描时间为1ms. 如果我们的扫描时间为5ms, 那么最好不用少于15ms的定时器. 即便如此, 我们所预计的误差也会产生. 既然我们能预计误差的大小, 那么我们就知道我们的应用程序能否容忍此误差的存在. 在大多数的应用中, 误差都是可以忽略不计的, 但是在一些高速或要求非常精确的应用中误差就变得不容忽视.我们也应该注意上面的误差仅仅指的是"软件误差". 当然还有硬件输入误差和硬件输出误差.硬件输入误差是由PLC扫描输入时确切认知其输入为ON所花的时间引起的, 典型值为10ms. 这是因为许多PLC要求一个输入应该为ON几个扫描周期以后, 才确认其物理状态为ON. (这是为了减少噪声或瞬动输入的影响)硬件输出误差的产生, 是由于从PLC告诉它的输出变为ON, 到其确实变为ON要花费一定的时间. 典型的晶体管要花费大约0.5ms的时间, 而机械式的继电器要花费大约10ms的时间.误差是不是越来越大了? 如果对于我们的应用来说, 它已经变得非常大, 那么就应该考虑使用外部"硬件"定时器了。
定时器指令介绍S_PULSE 脉冲S5定时器S_PEXT 扩展脉冲S5定时器S_ODT 接通延时S5定时器S_ODTS 保持接通延时S5定时器S_OFFDT 断开延时S5定时器---( SP ) 脉冲定时器线圈---( SE ) 扩展脉冲定时器线圈---( SD ) 接通延时定时器线圈---( SS ) 保持接通延时定时器线圈---( SF ) 断开延时定时器线圈时间值定时器字的0到9位包含二进制编码的时间值。
此时间值指定多个单位。
时间更新可按照由时间基准指定的间隔将时间值递减一个单位。
递减会持续进行,直至时间值等于零为止。
可以在累加器1的低字中以二进制、十六进制或二进制编码的十进制(BCD)格式装入时间值。
可以用以下任一格式预装入时间值:?W#16#wxyz?其中,w = 时间基准(即时间间隔或分辨率)?此处xyz = 以二进制编码的十进制格式表示的时间值?S5T#aH_bM_cS_dMS?其中,H = 小时,M = 分钟,S = 秒,MS = 毫秒;a、b、c、d由用户定义。
?自动选择时间基准,其值舍入为具有该时间基准的下一个较小的数字。
可以输入的最大时间值是9,990s或2H_46M_30S。
S5TIME#4S = 4秒s5t#2h_15m = 2小时15分钟S5T#1H_12M_18S = 1小时12分钟18秒时间基准定时器字的第12和13位包含二进制编码的时间基准。
时间基准定义时间值以一个单位递减的间隔。
最小的时间基准是10ms,最大为10s。
时间基准时间基准的二进制编码10ms 00100ms 011 s 1010 s 11不接受超过2小时46分30秒的数值。
对于范围限制(例如,2h10ms)而言,过高的分辨率将被截尾为有效分辨率。
S5TIME的通用格式对范围和分辨率有如下限制:分辨率范围0.01s 10MS到9S_990MS0.1s 100MS到1M_39S_900MS1s 1S到16M_39S10s 10S到2H_46M_30S时间单元中的位组态定时器启动时,定时器单元的内容用作时间值。
GEPLC使用手册是一本针对GE PLC编程和使用的指南,提供了GE PLC的详细介绍、编程指令、编程语言、控制功能等方面的信息。
手册首先介绍了GE PLC的基本概念、特点和优势,帮助读者了解该设备的基本情况。
接下来详细介绍了GE PLC的编程指令,包括指令助记符、梯形图、顺序功能图等,以及各种编程语言,如BASIC语言等。
此外,手册还介绍了GE PLC的控制功能,包括状态逻辑、定时器、算术运算、关系运算、位操作等功能,以及数据传送、数据表格、转换等功能。
此外,手册还提供了大量的示例和案例,帮助读者更好地理解如何使用GE PLC进行编程和控制。
同时,手册还提供了常见问题解答和故障排除等内容,以帮助读者更好地使用和调试GE PLC。
总之,GEPLC使用手册是使用GE PLC的重要参考,可以帮助读者更好地了解和使用该设备,提高工业自动化控制水平。