高速计数器指令向导

合集下载

高速计数及脉冲输出指令

高速计数及脉冲输出指令
正交计数器计数速率选择: 0(4X);1(1X)
计数方向控制位:0(减计数); 1(增计数)
向HSC中写入计数方向: 0(不更新);1(更新计数方向)
向HSC中写入预置值: 0(不更新);1(更新预置值)
向HSC中写入新的当前值: 0(不更新);1(更新当前值)
HSC允许: 0(禁止HSC);1(允许HSC)
预置值
SMD42 SMD52 SMD62 SMD142 SMD152 SMD162
高速计数及脉冲输出指令
v高速计数器状态位
高速计数器状态字节,其中某些位指出了当前计数方向、当前值与预置 值是否相等、当前值是否大于预置值的状态。可以通过监视高速计数器的 状态位产生相应中断,完成重要操作。但要注意,状态位只有在执行高速 计数器终端程序时才有效。
(2) 在初始化子程序中,对相应高速计数器的控制字节写入希望的控制 字。如要使用HSC1,则对SMB47写入16#F8(2#11111000),表示允许高速 计数器运行,允许写入新的当前值,允许写入新的预置值,可以改变计数 器方向,置计数器的计数方向为增,置启动和复位输入为高电平有效。
(3) 执行HDEF指令,根据所选计数器号和运行模式将高速计数器号与 具体运行模式进行连接。
HSC 高速计数器指令,根据高速计数器特殊存储器位的设置, 按照HDEF指令指定的工作模式,控制高速计数器的工作。
高速计数及脉冲输出指令
高速计数器设置过程
为更好地理解和使用高速计数器,下面给出高速计数器的一般设置过 程。
(1) 使用初始化脉冲触点SM0.1调用高速计数器初始化操作子程序。这 个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了 扫描时间,且程序更加结构化。
I0.0 计数 计数 计数 计数

西门子PLCS高速计数器指令用法

西门子PLCS高速计数器指令用法

高速计数器计数器输入/输出操作数数据类型N常数(0,1,2,3,4或5)字内存范围错误S7-200 CPU指令支持SIMATIC/国际助记符数据范围CPU内存中的指令大小编址内存高速计数器(HSC)指令根据HSC特殊内存位的状态配置和控制高速计数器。

参数N指定高速计数器的号码。

高速计数器最多可配置为十二种不同的操作模式。

每台计数器在功能受支持的位置有专用时钟、方向控制、复原和起始输入。

对于双相计数器,两个时钟均可按最高速度运行。

在正交模式中,您可以选择一倍\(1x)或四倍(4x)的最高计数速率。

所有的计数器按最高速率运行,而不会相互干扰。

注释:CPU 221和CPU 222支持4台高速计数器 (HSC0、HSC3、HSC4、HSC5)CPU 221和CPU 222不支持HSC1和HSC2CPU 224、CPU224XP、CPU 226支持6台高速计数器 (HSC0至HSC5)您可以为每台高速计数器使用一条"高速计数器定义"指令。

文档光盘中"提示与技巧"中的第4条提示和第29条提示提供使用高速计数器的程序。

设置ENO = 0的错误条件:0001 HSC在HDEF之前0005 HSC/PLS同步程序举例LAD FBDSTL NETWORK 1 // 主程序// 首次扫描时,调用SBR_0LD SM0.1CALL SBR_0NETWORK 1 // 子程序0开始// 配置HSC1LD SM0.1 // 首次扫描时MOVB 16#F8 SMB47 // 配置HSC1:// - 启用计数器// - 写入新当前值// - 写入新预设值// - 将初始方向设为向上计数// - 选择现用水平高的起始和复原输入// - 选择4x模式HDEF 1 11 // 将HSC1配置为正交模式,// 具有复原和起始输入功能MOVD +0 SMD48 // 清除HSC1的当前值MOVD +50 SMD52 // 将HSC1预设值设为50ATCH INT_0 13 // HSC1当前值 = 预设值(事件13)// 附加在中断例行程序INT_0上ENI// 全局中断启用HSC 1 // 程序HSC1NETWORK 1 // 中断0开始LD SM0.0MOVD +0 SMD48 // 清除HSC1的当前值MOVB 16#C0 SMB47 // 选择仅写入一个新当前值,// 使HSC1保持启用状态HSC 1 // 程序HSC1另请参阅:识别高速计数器指令HSC向导HDEF指令。

高速计数器控制指令

高速计数器控制指令
Z信号 信号 00002 25200 复位 Ts 复位
(2) 软件复位
一个扫描周期后高速计数器复位。 当25200 ON一个扫描周期后高速计数器复位。 一个扫描周期后高速计数器复位
25200 Ts 复位
另外, 断电再上电时高速计数器自动复位。 另外,当PLC断电再上电时高速计数器自动复位。 断电再上电时高速计数器自动复位
( 00:不使用;01:使用 :不使用; :使用)
例如: 例如:DM6642的内容为 # 0114 的内容为
使用高速 计数器 软件复位 递增计数
4. 高速计数器的溢出
当高速计数器计数时: 当高速计数器计数时: 若从上限值开始进行递增计数就会发生上溢出, 若从上限值开始进行递增计数就会发生上溢出,其当 递增计数就会发生上溢出 前值为0FFF FFFF; 前值为 ; 若从下限开始进行递减计数就会发生下溢出,其当前 若从下限开始进行递减计数就会发生下溢出, 递减计数就会发生下溢出 值为FFFF FFFF 。 值为 发生溢出时计数器停止计数。 发生溢出时计数器停止计数。 重新复位高速计数器时,将清除溢出状态。 重新复位高速计数器时,将清除溢出状态。
5.高速计数器的当前值存储区 .
系列PLC,高速计数器的当前值 对CPM1A系列 系列 , 存放在SR248和SR249中。 存放在 和 中 SR248存放低 位, SR249存放高 位。 存放低4位 存放高4位 存放低 存放高 在高速计数器执行高速计数操作后, 在高速计数器执行高速计数操作后,可以 利用指令从SR248和SR249中读出其当前值, 中读出其当前值, 利用指令从 和 中读出其当前值 也可以利用指令更改其当前值。 也可以利用指令更改其当前值。
旋转编码器
高频脉冲可来源于控制现场,也可由旋转编码器提供。 高频脉冲可来源于控制现场,也可由旋转编码器提供。 一种旋转编码器与PLC的连接示意图 的连接示意图 一种旋转编码器与

200高速计数器向导的使用

200高速计数器向导的使用

高速计数器的使用向导在STEP 7 MicroWIN 菜单中点选—工具—指令向导---HSC(配置高速计数器)第一步,项目编译无错误后,选择HSC编号和模式,详细信息请见.高速计数器的模式及输入点。

高速计数器及模式选择配置初始化信息为初始化子程序命名,或者使用默认名称设置计数器预置值:可以为整数、双字地址或符号名:如5000、VD100、PV_HC1。

用户可使用全局符号表中双字整数对应的符号名。

地址必须为双字地址,注释可以不填设置计数器初始值:可以为整数、双字地址或符号名:5000初始化计数方向:增,减。

对于带外部复位端的高速计数器,可以设定复位信号为高电平有效或者低电平有效。

对于带外部启动端的高速计数器,可以设定启动信号为高电平有效或者低电平有效。

如果使用的高速计数器或工作模式没有外部复位或启动端,则对应选项为虚。

使用A/B相正交计数器时,可以将计数频率设为1倍速或4倍速。

使用非A/B相正交计数器时,此项为虚。

程序例子// 主程序:// 在主程序中,首先将输出Q0.0置,0,因为这是脉冲输出功能的需要。

再初始化高速计// 数器HSC0,然后调用子程序0和1。

// HSC0起动后具有下列特性:可更新CV和PV值,正向计数。

// 当脉冲输出数达到SMD72中规定的个数后,程序就终止。

// 主程序LD SM0.1 // 首次扫描标志(SM0.1=1)。

R Q0.0,1 // 脉冲输出Q0.0复位(Q0.0=0)。

MOVB 16#F8,SMB37 // 装载HSC0的控制位:// 激活HSC0,可更新CV,可更新PV,// 可改变方向,正向计数。

// HSC指令用这些控制位来组态HSC。

MOVD 0,SMD38// HSC0当前值(CV)为0。

MOVD 1000,SMD42 // HSC0的第一次设定值(PV)为1000。

HDEF 0,0 // HSC0定为模式0。

CALL 0 // 调用子程序0。

CALL 1 // 调用子程序1。

西门子200(CPU226cn)高速计数器部分调试说明(适用于飞剪系统)

西门子200(CPU226cn)高速计数器部分调试说明(适用于飞剪系统)

编者注:此文档主要针对西门子S7-200系列中的CPU226CN的高速计数器模块,内容包括S7-200实验平台的搭建、CPU226CN高速计数器部分的解决方案和高速计数器部分的简单程序讲解。

建议:首先请简单阅读用户手册相关内容,再做此实验。

目录:1、S7-200实验平台的搭建 (2)1.1实验材料的准备 (2)1.2安装microwinv4.0 (2)1.3对实验器材进行连线安装 (3)2、CPU226CN高速计数器部分的解决方案 (4)2.1 配置通讯 (4)2.2 配置高速计数器,使用高速计数器向导 (6)2.3 完善高速计数器程序,实现高速计数功能 (10)2.4 高速计数程序的简单描述 (13)2.5 修改程序参数,实现I0.2上升沿清零 (17)3、实验小结 (18)1. S7-200实验平台的搭建进行本次实验的主要目的是要了解S7-200系列中的CPU226CN CPU的高速计数功能以及配置使用方法。

在进行实验以前首先要将实验中要用到的软件和硬件做一个详细的准备,避免在实验过程中因为缺少材料而导致实验失败。

1.1 实验材料的准备硬件:z CPU226CN模块(6ES7 216-2BD23-OX8)z S7-200系列CPU编程电缆z编程计算机(带9针串口)z24V开关电源z编码器1-2个软件:z microwinv4.01.2 安装microwinv4.0运行microwinv4.0的安装程序,正常安装。

安装过程中程序会提示选择将来要使用的通讯方式,如下图所示其默认选项为“PC/PPI cable(PPI)”,即计算机串口对PLC的PPI的通讯方式,此选项可以视实际实验时选用的通讯方式自由选择。

选择好通讯方式后完成程序安装,并重新启动计算机。

1.3 对实验器材进行连线安装西门子CPU226CN的进线电压为交流220V,在对CPU进行接线时一定要按照西门子提供的接线方法规范接线,西门子CPU226CN的接线图如下所示完成连接所有硬件的线路并检查无误后,接通电源。

高速计数器指令

高速计数器指令
启动 高电平有效
复位 高电平有效
计数器当前值 计数值在该范围内
图 9-11 有复位和启动的操作举例
当前值装入0 预置值装入4 计数方向置为增计数 计数允许位置为允许 PV=CV产生的中断在中断程序中改变方向
高速计数器指令 高速计数器定义 高速计数器
输入/输出
HSC
常数
MODE
常数
N
常数
定义高速计数器指令为指定的高速计数器分配一种工作模式
见表 9-5 高速计数器指令 (HSC) 执行时 根据 HSC 特殊存储器位的状 态 设置和控制高速计数器的工作模式 参数 N 指定了高速计
数器号 CPU 221 和 CPU 222 不支持 HSC1 和 HSC2 每个高速计数器只能用 1 个 HDEF 使 ENO=0 的 HDEF 出错条件 SM4.3 (运行时间) 0003 (输入冲突) 0004 (中断中的非法指 令) 000A (HSC 重定义) 使 ENO=0 的 HSC 出错条件 SM4.3 (运行时间) 0001 (在 HDEF 前使用 HSCHDEF) 0005 (同 时操作 HSC/PLS)
10 有复位无启动的操作举例
计数器值在该范围内
图 9-
复位产生的中断 复位产生的中断 禁 止 允 许 禁 止 允 许 计数 计数 计数 计数
I0.6 I0.7 I1.0 I1.1
时钟
复位 启动
时钟 方向 复位 启动
时钟 时钟 复位
(增) (减)
启动
时钟 时钟 复位
A 相 B相
启动
表 9-7 HSC2 操作模式 (CPU 224 和 CPU 226)
模式 0 1 2 3 4 5 6 7 8 9 10 11

s7-200高速计数器详细解说

s7-200高速计数器详细解说

s7-200高速计数器详细解说1.高速计数器指令普通计数器受CPU扫描速度的影响,是按照顺序扫描的方式进行工作。

在没个扫描周期中,对计数脉冲只能进行一次累加;对于脉冲信号的频率比PLC的扫描频率高时,如果仍采用普通计数器进行累加,必然会丢失很对输入脉冲信号。

在PLC中,对比扫描频率高的输入信号的计数可也使用高速计数器指令来实现。

1.高速计数器指令(1)定义高速计数器指令HDEFHDE指令功能是为某个要使用的高速计数器选定一种工作模式。

每个高速计数器在使用前,都要用HDEF指令来定义工作模式,并且只能用一次。

它有两个输入端:HSC为要使用的高速计数器编号,数据类型为字节型,数据范围为0~5的常数,分别对应HC0~ HC5;MOCE为高速计数的工作模式,数据类型为字节型,数据范围为0~11的常数,分别对应12种工作模式。

当准许输入使能EN有效时,为指定的高速计数器HSC定义工作模式MODE。

(2)执行高速计数指令HSCHSC指令功能功能是根据与高速计数器相关的特殊继电器确定在控制方式和工作状态,使高速计数器的设置生效,按照指令的工作模式的工作模式执行计数操作。

它有一个数据输入端N:N为高速计数器的编号,数据类型的字型,数据范围为0~5的常数,分别对应高速计数器HC0~HC5.当准许输入EN使能有效时,启动N号高速计数器工作。

2.高速计数器的输入端高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。

每个高速计数器专用的输入点如表高速计数器的输入点3.高速计数器的状态字节系统为每个高速计数器都在特殊寄存器区SMB提供了一个状态字节,为了监视高速计数器的工作状态,执行由高速计数器引用的中断事件,其格式如表。

只有执行高速计数器的中断程序时,状态字节的状态位才有效。

4.高速计数器的工作模式高速计数器有12种不同的工作模式(0`~11),分为4类。

PLC高速计数器功能及应用

PLC高速计数器功能及应用

1、高速计数器的数量及编号
高速计数器在程序中使用时的地址编号用HSCn来表示, HSC表编程元件名称为高速计数器,n(n=0~5)为编号。
每个高速计数器的计数结果都对应有一个当前值寄存器。 编程时可通过地址HCx(x=0~5)来读取高速计数器的当前值。
不同型号的PLC主机,高速计数器的数量对应如下表所示。
4)在第4页设置当前值等于预置值时产生中 断(中断事件编号为12),使用默认的中断程序 符号名COUNT_EQ。
向导允许高速计数器按多个步骤进行计数, 即在中断程序中修改某些参数,例如修改计数器的 计数方向、当前值和预置值,并将另一个中断程序 连接至相同的中断事件。
本例设置编程2步,在中断程序COUNT_EQ中,
A相 B相
a)正转
A相 B相
b)反转
③ 三通道增量式编码器
编码器内部除了有双通道增量式编码器的两对光 耦合器外,在脉冲码盘的另外一个通道有一个透光段, 每转一圈,输出一个脉冲,该脉冲称为Z相零位脉冲, 用作系统清零信号,或坐标的原点,以减少测量的积 累误差。
2、绝对式编码器
N位绝对式编码器有N个码道,最外层的码道对 应编码的最低位。每一码道有一个光耦合器,用来读 取该码道的0、1数据。绝对式编码器输出的N位二进 制数反映了运动物体所处的绝对位置,根据位置的变 化情况,可以判别出旋转的方向。
S7-200的高速计数器有4类工作模式,共有12种。每个模 式各有不同,可通过编程,使用定义高速计数器指令HDEF来 选定工作模式。
1、高速计数器的工作模式
2、高速计数器的工作模式说明
从各个高速计数器的工作模式的描述可知:6个 高速计数器具有不完全相同的功能,最多可能有12种 工作模式,可分为四种类型。下面以HC1的工作模式 为例加以说明。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

高速计数器指令向导
在Micro/WIN SMART 中的命令菜单中选择Tools(工具)> Wizards (向导)中选择High Speed Counter(高速计数器向导),也可以在项目树中选择Wizards(向导)文件夹中的High Speed Counter(高速计数器向导)按钮,如图1所示。

图1.选择HSC 向导
步骤一:选择HSC 编号,如图2所示。

图2.选择计数器编号
步骤二:为计数器命名,在左侧树形目录中选择“高速计数器”,如图3所示。

图3.高速计数器命名
步骤三:选择计数器模式,详细信息请见“表1.高速计数器的模式及输入点”。

图4.选择高速计数器模式
步骤四:配置初始化信息。

图5. HSC 初始化选项
在上图中:
1. 为初始化子程序命名,或者使用默认名称。

2. 设置计数器预置值:可以为整数、双字地址或符号名:如5000、
VD100、PV_HC0。

用户可使用全局符号表中双字整数对应的符号名。

如果用户输入的符号名尚未定义,点击‘ Generate (生成)’后会看到:
这个提示框显示:“这不是定义的全局符号。

您希望定义符号吗”,
点击“是”
填入地址和注释,注意:地址必须为双字地址,注释可以不填。

3. 设置计数器初始值:可以为整数、双字地址或符号名:5000、
VD100、CV_HC0。

4. 初始化计数方向:增,减。

5. 对于带外部复位端的高速计数器,可以设定复位信号为高电平有
效或者低电平有效。

6. 使用A/B相正交计数器时,可以将计数频率设为1倍速或4倍速。

使用非A/B相正交计数器时,此项为虚。

7. S7-200 SMART 均不支持带外部启动端的高速计数器,因此此项
为虚。

注意:所谓“高/低电平有效”指的是在物理输入端子上的有效逻辑电平,即可以使LED 灯点亮的电平。

这取决于源型/漏型输入
接法,并非指实际电平的高、低。

步骤五:配置中断事件,如图6所示。

图6.配置中断
如图6所示,一个高速计数器最多可以有 3 个中断事件,在白色方框中填写中断服务程序名称或者使用默认名称:
在这里配置的中断事件并非必须,系由用户根据自己的控制工艺要求选用。

1. 外部复位输入有效值时中断,如果使用的高速计数器模式不具有
外部复位端,则此项为虚。

2. 方向控制输入状态改变时的中断,有以下3 种情况会产生该中
断:
o单项计数器的内部或外部方向控制位改变瞬间
o双相计数器增、减时钟交替的瞬间
o A/B相脉冲相对相位(超前或滞后)改变时瞬间
3. 当前值等于预置值时产生的中断,通过向导,可以在该中断的服
务程序中重新设置高速计数器的参数,如预置值、当前值。

一个这样的过程称为‘一步‘。

步骤六:配置HSC 步数,如图7所示,最多可设置10 步。

图7. 配置HSC 步数
步骤七:定义高速计数器每一步的操作,如图8所示:
图8. HSC 第一步
在这里配置的是当前值等于设定值中断的服务程序中的操作:
1. 向导会自动为当前值等于预置值匹配一个新的中断服务程序,用
户可以对其重新命名,或者使用默认的名称。

2. 勾选后,用户在右侧输入新的预置值。

3. 勾选后,用户在右侧输入新的当前值。

4. 如果选用的高速计数器模式有内部方向控制位。

5. 使用相同的方法完成其余两步的设置
步骤八:完成向导,如图9所示:
图9. 完成向导
点击向导对话框左侧树形目录中的选项“组件(Components)”可以看
到此时向导生成的子程序和中断程序名称及描述,点击“生成(Generate)”按钮,完成向导。

注意:Micro/WIN SMART 高速计数器指令向导采用树形目录的形式,用户可以直接在目录树中选择相应选项进行设置,这种方式便于用户在完成指令向导后根据实际需求进行快速修改。

步骤九:调用子程序:
注意:
•HSC_INIT 为初始化子程序,请在主程序块中使用SM0.1 或一条边沿触发指令调用一次此子程序。

•向导生成的中断服务程序及子程序都未上锁,用户可以根据自己的控制需要进行修改。

通过向导实现高速计数器例程
所需条件:
1、软件版本:STEP 7-Micro/WIN SMART V2.3
2、SMART CPU固件版本:V2.3(其他版本亦可)
3、通讯硬件:TP电缆(以太网电缆)
所实现的功能:
例程中使用高速计数器0的模式0,实现计数功能,即测量I0.0的脉冲数。

程序内当计数值到2500后,进入中断清零,重新计数
如果遇到无法测量频率较高的计数值时,可以考虑适当改小I0.0的滤波时间
HSC_wizard例程
免责声明
本例程仅供参考,程序中的CPU版本、类型可能与用户实际使用不同,用户可能需要先对例子程序做修改和调整,才能将其用于测试。

本例程的作者和拥有者对于该例程的功能性和兼容性不负任何责任,使用该例程的风险完全由用户自行承担。

由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。

相关文档
最新文档