西门子plc定时器的使用教程

上传人:wt****50 文档编号:45686689 上传时间:2018-06-18 格式:PDF 页数:16 大小:335.44KB
返回 下载 相关 举报
西门子plc定时器的使用教程_第1页
第1页 / 共16页
西门子plc定时器的使用教程_第2页
第2页 / 共16页
西门子plc定时器的使用教程_第3页
第3页 / 共16页
西门子plc定时器的使用教程_第4页
第4页 / 共16页
西门子plc定时器的使用教程_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《西门子plc定时器的使用教程》由会员分享,可在线阅读,更多相关《西门子plc定时器的使用教程(16页珍藏版)》请在金锄头文库上搜索。

1、 SIMATIC PLC 计时器的使用 SIMATIC PLC Timer usage User Guide Edition (2009年年1月月) IA&DT Service & Support Page 2-16 摘摘 要要 本文档着重讲述西门子 PLC 中计时器的使用, 包含计时器与循环程序的关系,计时 器的运行特性等,举例,并进行分析。 关键词关键词 计时器 循环程序 异步 Key Words Timer Cyclic program Asynchronism IA&DT Service & Support Page 3-16 目目 录录 一、分析一、分析 Timer.4 1,提出问题

2、 .4 2,计时器描述.5 3,计时器与循环程序的关系 .6 4,计时器动作的时刻.7 5,分析程序 .9 二、使用计时器注意二、使用计时器注意 .15 IA&DT Service & Support Page 4-16 一、分析一、分析 Timer 1,提出问题,提出问题 图 1 问题 1:M10.2 能否被置位? 图 2 问题 2:S_CU 计数有无问题,M6.2 能否被置位? 先来了解一下都有哪几个计时器,以及它们的特性如何 IA&DT Service & Support Page 5-16 图 3 2,计时器描述,计时器描述 从以图 3 可以看出 5 个计时器的基本特性,可以简单的从中

3、挑选与控制工艺相符合的计时器 使用,如果想了解计时器的详细信息,可以选择计时器,并按 F1 看帮助信息中的具体逻辑 图。 以计时器 SD 为例,参见图 4 图 4 IA&DT Service & Support Page 6-16 我们从中可以知道,当触发端 S 的信号为上升沿时,触发计时器开始运行,时间结束后计时 器输出端为 1,S 信号为下降沿时,计时器输出端为 0 那么根据此情况,以图 1 为例,咱们可以把刚才的梯形图程序通过时序图表示如下图 5 其中 a,b 之间是在扫描此段程序两个周期之间的间隙。 图 5 3,计时器与循环程序的关系,计时器与循环程序的关系 经过分析,可以看出,经过分

4、析,可以看出,M10.2(S)是可以被置位的,那为什么没有看见其被置位呢?是可以被置位的,那为什么没有看见其被置位呢? 大家注意,这里 t 的时间是 8s,我们知道,一个程序的扫描周期很短,可能才十几-几十毫 秒,在线时候可以监控到 Scan Cycle Time。如图 6 IA&DT Service & Support Page 7-16 图 6 那这个时间不是远远超过了扫描周期么?那这个时间不是远远超过了扫描周期么? 我们又知道,如果程序扫描周期大于最大扫描周期监控时间 Scan Cycle Monitoring Time, 那么将会触发中断,甚至造成 CPU 进入 STOP 状态。 其实

5、,计时器的执行是异步于 OB1 循环扫描的,只要计时器运行后,在每一周期扫描到计时 器的触发端 S 信号如果为 1,那么计时器就将在此周期继续计时。因此,它对于最大周期监 控时间并没有太大的影响,只是调用语句时占用了少许 us 的时间。 怎么来验证这个说法呢?就是说计时器的执行并不同步于怎么来验证这个说法呢?就是说计时器的执行并不同步于 OB1 程序扫描周期。程序扫描周期。 1, 可以在程序中加入若干 SFC47 增大程序扫描周期(保证小于 Scan Cycle Monitoring Time),通过监控计时器的时间,可以看出,计时器的时间是跳跃式的变化的,也就是 说,也就是说,当程序扫描完计

6、时器,继续往下进行时,计时器满足触发条件进行计 时,此周期往后的计时是一直在进行的。 2, 可以通过在中断来证明 3, 通过程序死循环监视计时证明 4, 通过多个计时器监视时间来证明等等各种方法 那说明了是异步的有何作用呢?那说明了是异步的有何作用呢? 说明了刚才咱们分析程序所作的时序图有一定的问题,因为咱们的分析是按照程序一步步往 下进行的,相当于是同步进行的。而实际在程序执行时,扫描周期是比较短的,所以计时器 是在其中的某一个周期里计时器计时结束时输出被置位为 1,那么因为这样,所以对我们编 写程序就会有一定的要求。也就有了下面一个问题 4,计时器动作的时刻,计时器动作的时刻 计时器的输出

7、端是什么时候被置位呢,什么时候起作用呢,比如计时器的输出端是什么时候被置位呢,什么时候起作用呢,比如 ? 是等到重新扫描到计时器块,计时器执行完毕才置位,还是不用重新扫描到计时器?程序中 直接扫描的是等到重新扫描到计时器块,计时器执行完毕才置位,还是不用重新扫描到计时器?程序中 直接扫描的 T40 节点,它就已经被置位了呢?节点,它就已经被置位了呢? 1,我们可以设置 OB35 的看门狗时间为 2000ms, 如图 7 OB35 里触发计时器 T40, 的开点给线圈 M6.0,如图 8 OB1 里的开点给线圈 M6.1,M6.0 开点给线圈 M6.2,如图 9 经过试验,观察看到,当 T40

8、的 Timer 运行结束后 M6.1 立刻就被置位了,而 M6.0 和 M6.2 会等到再次扫描到 OB35,才会被置位。 可得出结论,当计时器 T40 计时结束时,CPU 扫描到时,它就已经为 1 了,不需要等到 扫描计时器 S_ODT(SD)。 IA&DT Service & Support Page 8-16 图 7 图 8 IA&DT Service & Support Page 9-16 图 9 2,也可以在 OB1 里调用多个“wait”代码让 OB1 的扫描周期足够大,如 5s,先调用一个 SD T2 1s,然后调用若干“wait”,大概持续 2s,用 T2 开点触发一个线圈如

9、M10.0,再调用若干 “wait”,大概 1s,然后再调用一个 SD T3,可以看出再 T3 还没有开始计数时,M10.0 已经被 置位了。 计时器在计时器在 OB30OB38 里呢?里呢? 是一样的。 可以在 OB35 里使用 SD 计时器,可以发现,当程序调用 OB35 时,计时器开始运行,把 OB35 执行时间和计时器时间设置大些,可以发现,只要每次在扫描的计时器触发端时,条 件满足,计时器就开始运行,直到下一次扫描 OB35 时再扫描到此条件为止。 可以把计时器时间设置足够大,当计时未结束前把它的触发端变为 0,那么其计时停止,直 到再次触发。 可以得出计时器的运行只与每次扫描到它的

10、触发端有关。扫描完触发端后,计时器的运行就 与触发端无关了,直到下一次再次扫描到此触发端。 5,分析程序,分析程序 了解了以上的一些基本知识,咱们再来看看刚才图了解了以上的一些基本知识,咱们再来看看刚才图 1 中的程序。中的程序。 一个 CPU 的扫描周期是可以计算的,根据不同的配置和数据的读取,可以计算出不同的周 期,在 PLC 运行时,每个周期的大小也是不一样的,可以大致计算出范围,可以根据每条语 句来计算程序的执行时间,再加上相应的循环周期检测点,周期中断,访问过程映像区,通 信负载等。这些时间的长短与 CPU 型号及使用方式有关。 IA&DT Service & Support Pag

11、e 10-16 使用 PS307 5A,CPU315-2PN/DP (315-2EH13-0AB0 V 2.6.50)为例。以下所有时间都以 此配置为标准。 我们把图 1 的梯型图换成语句表来分析指令执行的过程。 图 10 一个 CPU 的扫描周期的计算可以根据以下几个过程来进行 图 11 A.操作系统初始化循环时间监视 B.扫描 PIO C.扫描 PII A B C D E F IA&DT Service & Support Page 11-16 D.执行用户程序,并执行程序中定义的操作 E.扫描周期检测点操作系统时间(周期结束时执行挂起的任务,如装载和删除块) F .CPU 返回到周期开始

12、的时间点,并重新开始循环周期监视 在以上的步骤中都是有时间的,虽然很小,但是也占用时间。可以根据不同的硬件组态,参 照 CPU Specifications手册 进行计算, 为了便于计算和理解,咱们以理想状态来计算。假设 CPU 周期中的 A,B,C,E,F 的时间 为固定的数值 X us。 只分析程序里的”D” -用户程序中的命令执行。 程序是顺序扫描的,从 Network 13 依次进行, 以第一个周期开始时来分析,首先扫描 Network 1 中 T3 计时器为 0,因此闭点使能,T2 开 始计时(08S),但此时扫描 T2 输出为 0, 因此扫描到 Network 2 中 T2 开点不

13、使能,扫描到 T3 不执行, Network 3 中 T3 开点不使能,M10.2 为 0。 到此过程0.4+0.3+2.4+0.3+0.3+2.4+0.3+0.2(或 0.9) us = 6.6 (或 7.3) us。 注意:注意:T2 一直在累加时间,相当于此时 T2 计时也到达 6.6(或 7.7)us。 然后加上刚才的时间 X us,那么一个周期可以认为是 t=X+6.6 (7.7) us。X 大于 7 us,可以 看出语句的执行是在很短的时刻进行,所以大家在编程时常用的每个计时器都会经过若干个 程序扫描周期。 因为 Timer 是异步的,所以 T2 的时间应该在一个周期里也为 t=X+6.6 (7.7) us,那么根据上 面的程序看

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号