【2017年整理】西门子PLC高速计数器使用方法

上传人:豆浆 文档编号:1059178 上传时间:2017-05-26 格式:DOC 页数:12 大小:41.50KB
返回 下载 相关 举报
【2017年整理】西门子PLC高速计数器使用方法_第1页
第1页 / 共12页
【2017年整理】西门子PLC高速计数器使用方法_第2页
第2页 / 共12页
【2017年整理】西门子PLC高速计数器使用方法_第3页
第3页 / 共12页
【2017年整理】西门子PLC高速计数器使用方法_第4页
第4页 / 共12页
【2017年整理】西门子PLC高速计数器使用方法_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《【2017年整理】西门子PLC高速计数器使用方法》由会员分享,可在线阅读,更多相关《【2017年整理】西门子PLC高速计数器使用方法(12页珍藏版)》请在金锄头文库上搜索。

1、高速计数器对 CPU 扫描速率无法控制的高速事件进行计数,最多可配置 12 种不同的操作模式。高速计数器的最高计数频率取决于您的 CPU 类型。每台计数器对支持此类功能的时钟、方向控制、复原和起始均有专用输入。对于二相计数器,两个时钟均可以最高速率运行。在正交模式中,可选择 1 乘以(1x)或 4 乘以(4x)最高计数速率。所有计数器均以最高速率运行,互不干扰。本标题讨论下列主题:使用高速计数器识别高速计数器的详细计时功能为高速计数器连接输入线高速计数器编址(HC)识别不同的高速计数器选择现用状态和 1x/4x 模式高速计数器初始化顺序控制字节HSC 模式设置当前值和预设值 状态字节为中断赋值

2、使用高速计数器返回顶端通常高速计数器被用作鼓式计数器驱动器,以恒速旋转的转轴配有增量轴式编码器。轴式编码器提供每次旋转的指定计数以及每次旋转一个复原脉冲。轴式编码器的时钟和复原脉冲为高速计数器提供输入。用最先的几个预设值载入高速计数器,并在当前计数小于当前预设值的期间内激活所需输出。当前计数等于预设值或复原时,计数器设置提供中断。每次发生当前计数值等于预设值中断事件时,载入新预设值,并设置下一个输出状态。发生复原中断事件时,设置第一个预设值和第一个输出状态,并重复该循环。因为中断的发生速率远远低于高速计数器的计数速率,可对高速操作执行精确的控制,并对整体 PLC 扫描循环产生相对较小的影响。中

3、断附加方法允许在独立中断例行程序中执行每个载入的新预设值,以便进行状态控制。 (另一种方法是在单个中断例行程序中处理所有的中断事件。 )识别高速计数器的详细计时功能返回顶端下列时序图显示根据模式分类的每台计数器的功能。在另一个时序图中显示复原和起始输入操作,并应用于所有使用复原和起始输入的模式。在复原和起始输入图中,复原和起始的现用状态均被编程为高级。有复原、无起始的操作举例有复原和起始的操作举例模式 0、1 和 2 操作举例模式 3、4 和 5 操作举例使用计数模式 6、7 和 8 时,上下时钟输入的上升沿间隔 0.3 微秒,高速计数器可能认为这些事件同时发生。如果发生这种情况,当前值不改变

4、,而且计数方向不改变。只要上下时钟输入的上升沿之间的间隔大于该时段,高速计数器就能够单独捕获每个事件。在两种情况下,均不生成错误,而且计数器保持当前计数值。模式 6、7 和 8 操作举例模式 9、10 和 11 操作举例(正交 1x 模式)模式 9、10 和 11 操作举例(正交 4x 模式)为高速计数器连接输入线返回顶端使用高速计数器定义 指令定义计数器模式和输入。下表显示与高速计数器相关的用于时钟、方向控制、复原和起始功能的输入。高速计数器专用输入高速计数器 使用的输入HSC0 I0.0, I0.1, 0.2HSC1 I0.6, I0.7, I1.0, I1.1HSC2 I1.2, I1.

5、3, I1.4, I1.5HSC3 I0.1HSC4 I0.3, I0.4, I0.5HSC5 I0.4有些高速计数器和边缘中断的输入点赋值存在某些重叠。同一个输入不能用于两种不同的功能;但是高速计数器当前模式未使用的任何输入均可用于其他目的。例如,如果在模式2 中使用 HSC0,模式 2 使用 I0.0 和 I0.2,则 I0.1 可用于边缘中断或用于 HSC3。如果所用的 HSC0 模式不使用输入 I0.1,则该输入可用于 HSC3 或边缘中断。与此相似,如果所选的 HSC0 模式不使用 I0.2,则该输入可用于边缘中断;如果所选 HSC4 模式不使用 I0.4,则该输入可用于 HSC5。

6、请注意 HSC0 的所有模式均使用 I0.0,HSC4 的所有模式均使用 I0.3,因此当使用这些计数器时,这些输入点绝不会用于其他用途。HSC 模式返回顶端为高速计数器编址(HC)返回顶端欲存取高速计数器的计数值,您需要利用内存类型(HC)和计数器号码(例如 HC0)指定高速计数器的地址。如下所示,高速计数器的当前值是只读数值,只能作为双字(32 位)编址。格式:HC高速计数器号码,以 HC2 为例。存取高速计数器的当前值识别不同的高速计数器返回顶端对于相同的计数器操作模式,所有计数器的功能均相同。如上所示,共有四种基本计数器模式类型。请注意并非每一种计数器均支持每种模式。您可以使用每种类型

7、:无复原或起始输入、有复原但无起始或有起始和复原输入。?激活复原输入时,会清除当前值并保持清除状态直至取消激活复原。?激活起始输入时,会允许计数器计数。起始被取消激活时,计数器的当前值保持恒定,并忽略时钟事件。?如果在起始未激活时激活复原,则会忽略复原,当前值不变。如果激活复原输入时激活起始输入,则当前值被清除使用高速计数器之前必须选择计数器模式,您可以利用 HDEF 指令(高速计数器定义)选择计数器模式。利用首次扫描内存位 SM0.1(首次扫描时该位打开,随后关闭) ,调用包含HDEF指令的子程序。选择激活状态和 1x/4x 模式返回顶端上图显示的复原和起始输入操作适用于使用复原和起始输入的

8、所有模式。在复原和起始输入图形中,复原和起始均显示为现用状态编程为高位。四台计数器有三个控制位,用于配置复原和起始输入的激活状态并选择 1x 或 4x 计数模式(仅限正交计数器) 。这些控制位位于各自计数器的控制字节内,只在执行 HDEF 指令时才使用。执行 HDEF 指令之前,必须将这些控制位设为所需的状态,否则计数器采用所选计数器模式的默认配置。复原输入和起始输入的默认设置为现用水平高,正交计数速率为 4x(或 4乘以输入时钟频率) 。一旦执行了 HDEF 指令,就不能再改变计数器设置,除非首先将CPU 设为 STOP(停止)模式。HDEF 控制位(仅在执行 HDEF 时使用)HSC0 H

9、SC1 HSC2 HSC4 说明SM37.0 SM47.0 SM57.0 SM147.0 复原 现用水平控制位 *:0 = 复原现用水平高 1 = 复原现用水平低SM47.1 SM57.1 起始 现用水平控制位*:0 = 起始现用水平高 1 = 起始现用水平低SM37.2 SM47.2 SM57.2 SM147.2 正交 计数器的计数速率选项: 0 = 4x 计数速率 1 = 1x计数速率*复原输入和起始输入的默认值为现用水平高,正交计数率为 4x(或 4 乘以输入时钟频率)。控制字节返回顶端一旦定义了计数器和计数器模式,您就可以为计数器动态参数编程。每台高速计数器均有一个控制字节,允许完成以

10、下作业:?启用或禁止计数器?控制方向(仅限模式 0、1 和 2)或初始化所有其他模式的计数方向?载入当前值通过执行 HSC 指令可激活控制字节以及相关当前值和预设值检查。下表说明每个控制位。用于 HSC 参数的 SM 控制位HSC0 HSC1 HSC2 HSC3 HSC4 HSC5 说明SM37.3 SM47.3 SM57.3 SM137.3 SM147.3 SM157.3 计数方向控制位:0 = 向下计数 1 = 向上计数SM37.4 SM47.4 SM57.4 SM137.4 SM147.4 SM157.4 向 HSC 写入计数方向:0 = 无更新1 = 更新方向SM37.5 SM47.5

11、 SM57.5 SM137.5 SM147.5 SM157.5 向 HSC 写入新预设值:0 = 无更新1 = 更新预设值SM37.6 SM47.6 SM57.6 SM137.6 SM147.6 SM157.6 向 HSC 写入新当前值:0 = 无更新1 = 更新当前值SM37.7 SM47.7 SM57.7 SM137.7 SM147.7 SM157.7 启用 HSC:0 = 禁用 HSC1 = 启用HSC设置当前值和预设值返回顶端每台高速计数器都有一个 32 位当前值和一个 32 位预设值,当前值和预设值均为带符号的整数值。欲向高速计数器载入新的当前值和预设值,您必须设置包含当前值和或预设

12、值的控制字节及特殊内存字节。然后您必须执行 HSC 指令,将新数值传输至高速计数器。下表说明用于包含新当前值和预设值的特殊内存字节。除控制字节以及新预设值和当前值保持字节外,还可以使用数据类型 HC(高速计数器当前值)加计数器号码(0、1、2、3、4 或 5)读取每台高速计数器的当前值。因此,读取操作可直接存取当前值,但只有用上述 HSC 指令才能执行写入操作。载入数值 HSC0 HSC1 HSC2 HSC3 HSC4 HSC5新当前值 SMD38 SMD48 SMD58 SMD138 SMD148 SMD158新预设值 SMD42 SMD52 SMD62 SMD142 SMD152 SMD1

13、62状态字节返回顶端为每台提供状态内存位的高速计数器提供状态字节,状态内存位表示当前计数方向以及当前值是否大于或等于预设值。下表定义每台高速计数器的状态位。HSC0、 HSC1、 HSC2、HSC3、HSC4 和 HSC5 的状态位HSC0 HSC1 HSC2 HSC3 HSC4 HSC5 说明SM36.0 SM46.0 SM56.0 SM136.0 SM146.0 SM156.0 未使用 SM36.1 SM46.1 SM56.1 SM136.1 SM146.1 SM156.1 未使用 SM36.2 SM46.2 SM56.2 SM136.2 SM146.2 SM156.2 未使用 SM36.

14、3 SM46.3 SM56.3 SM136.3 SM146.3 SM156.3 未使用SM36.4 SM46.4 SM56.4 SM136.4 SM146.4 SM156.4 未使用SM36.5 SM46.5 SM56.5 SM136.5 SM146.5 SM156.5 当前计数方向状态位:0 = 向下计数;1 = 向上计数SM36.6 SM46.6 SM56.6 SM136.6 SM146.6 SM156.6 当前值等于预设值状态位:0 = 不相等;1 = 等于SM36.7 SM46.7 SM56.7 SM136.7 SM146.7 SM156.7 当前值大于预设值状态位:0 = 小于或等于

15、;1 = 大于注释:只有在执行高速计数器中断例行程序时,状态位才有效。监控高速计数器状态的目的在于启用对正在执行的操作有重大影响的事件的中断程序。为中断赋值返回顶端所有计数器模式均支持当前值等于预设值中断,使用外部复原输入的计数器模式支持将外部复原现用中断。除模式 0、1 和 2 以外的所有计数器模式均支持计数方向改变中断。可单独启用或禁止这些中断条件。注释:如果您尝试载入新的当前值或从外部复原中断例行程序内先禁用然后再重新启用高速计数器,会引起严重错误。高速计数器初始化顺序返回顶端HSC1 在以下初始化和操作顺序说明中被用作模型计数器。初始化说明假设 S7-200 刚刚被放置在 RUN(运行

16、)模式中,因此首次扫描内存位为真。如果不是如此,请记住在进入RUN(运行)模式后,只能为每台高速计数器执行一次 HDEF 指令。为高速计数器第二次执行 HDEF 会生成运行时间错误,并不会改变该计数器首次执行 HDEF 时计数器的设置方式。虽然以下顺序分别显示如何更改方向、当前值和预设值,您可以按照相同的顺序更改所有这些数值或这些数值的任何组合,方法是以适当的方式设置 SMB47 数值,然后执行 HSC指令。0、1 或 2 初始化模式下列步骤说明如何为带内部方向的单相向上向下计数器(模式 0、1 或 2)初始化HSC1:1. 使用首次扫描内存位调用执行初始化操作的子程序。因为使用子程序调用,随后的扫描不再调用子程序,因此可减少扫描时间执行并使程序结构更条理化。2. 在初始化子程序中,根据所需的控制操作载入 SMB47。例如:SMB47 = 16#F8 产生下列结果:启动计数器写入新当前值写入新预设值将方向设置为向上计数将起始和复原输入设为现用水平高3. 执行 HDEF 指令,HSC 输

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

当前位置:首页 > 行业资料 > 其它行业文档

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