第四部分高速计数器HSC功能块Word格式.docx

上传人:b****1 文档编号:5561564 上传时间:2023-05-05 格式:DOCX 页数:13 大小:119.03KB
下载 相关 举报
第四部分高速计数器HSC功能块Word格式.docx_第1页
第1页 / 共13页
第四部分高速计数器HSC功能块Word格式.docx_第2页
第2页 / 共13页
第四部分高速计数器HSC功能块Word格式.docx_第3页
第3页 / 共13页
第四部分高速计数器HSC功能块Word格式.docx_第4页
第4页 / 共13页
第四部分高速计数器HSC功能块Word格式.docx_第5页
第5页 / 共13页
第四部分高速计数器HSC功能块Word格式.docx_第6页
第6页 / 共13页
第四部分高速计数器HSC功能块Word格式.docx_第7页
第7页 / 共13页
第四部分高速计数器HSC功能块Word格式.docx_第8页
第8页 / 共13页
第四部分高速计数器HSC功能块Word格式.docx_第9页
第9页 / 共13页
第四部分高速计数器HSC功能块Word格式.docx_第10页
第10页 / 共13页
第四部分高速计数器HSC功能块Word格式.docx_第11页
第11页 / 共13页
第四部分高速计数器HSC功能块Word格式.docx_第12页
第12页 / 共13页
第四部分高速计数器HSC功能块Word格式.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

第四部分高速计数器HSC功能块Word格式.docx

《第四部分高速计数器HSC功能块Word格式.docx》由会员分享,可在线阅读,更多相关《第四部分高速计数器HSC功能块Word格式.docx(13页珍藏版)》请在冰点文库上搜索。

第四部分高速计数器HSC功能块Word格式.docx

通常只需配置一次。

见HSC应用数据结构

HSCStsInfo

HSCSTS

HSC动态状态。

通常在HSC执行周期里该状态信息会持续更新,见HSC状态信息数据结构。

PlsData

PLS

可编程限位开关数据(ProgrammableLimitSwitch---PLS),

用于设置HSC的附加高低及溢出设定值。

见PLS数据类型。

Sts

Output

UINT

HSC功能块执行状态,见HSC状态值

HSC命令参数(HscCmd),见表7-18。

表7-18HSC命令参数

HSC命令

命令描述

0x00

保留,未使用

0x01

执行HSC:

运行HSC(如果HSC处于空闲模式且梯级使能);

只更新HSC状态信息(如果HSC处于运行模式,且梯级使能)

0x02

停止HSC,如果HSC处于运行模式,且梯级使能

0x03

上载或设置HSC应用数据配置信息(如果梯级使能)

0x04

重置HSC累加值(如果梯级使能)

说明:

“0x”前缀表示十六进制数。

HSCAPP数据类型(HSCAppData)的结构见表7-19。

表7-19HSCAPP数据类型

PLSEnable

BOOL

使能或停止可编程限位开关(PLS)

HscID

要驱动的HSC编号,见HSCID定义

HSCMode

要使用的HSC计数模式,见HSC模式

Accumulator

DINT

设置计数器的计数初始值

HPSetting

高预设值

LPSetting

低预设值

OFSetting

溢出设置值

UFSetting

下溢设置值

OutputMask

UDINT

设置输出掩码

HPOutput

高预设值的32位输出值

LPOutput

低预设值的32位输出值

OutputMask指令的作用是屏蔽HSC输出的数据中的某几位,以获取期望的数据输出位。

例如,对于24点的Micro830,有9点本地(控制器自带)输出点用于输出数据,当不需输出第零位的数据时,可以把OutputMask中的第零位置0即可。

这样即使输出数据上的第零位为1,也不会输出。

HscID、HSCMode、HPSetting、LPSetting、OFSetting、UFSetting六个参数必须设置,否则将提示HSC配置信息错误。

上溢值最大为+2,147,483,647,下溢值最小为-2,147,483,647,预设值大小须对应,即高预设值不能比上溢值大,低预设值不能比下溢值小。

当HSC计数值达到上溢值时,会将计数值置为下溢值继续计数;

达到下溢值时类似。

HSC应用数据是HSC组态数据,它需要在启动HSC前组态完毕。

在HSC计数期间,该数据不能改变,除非需要重载HSC组态信息(在HscCmd中写03命令)。

但是,在HSC计数期间的HSC应用数据改变请求将被忽略。

HSCID定义见表7-20。

表7-20HSCID定义

15~13

HSC的模式类型:

0x00——本地;

0x01——扩展式(暂无);

0x02——嵌入式

12~8

模块的插槽ID:

0x01-0x1F——扩展式(暂无)模块的ID

0x01-0x05——嵌入式模块的ID

7~0

模块内部的HSCID:

0x00-0x0F——本地;

0x00-0x07——扩展式(暂无);

0x00-0x07——嵌入式

对于初始版本的ConnectedComponentsWorkbench只支持0x00-0x05范围的ID。

使用说明:

将表中各位上符合实际要使用的HSC的信息数据组合为一个无符号整数,写到HSCAppData的HscID位置上即可。

例如,选择控制器自带的第一个HSC接口,即15~13位为0,表示本地的I/O;

12~8位为0,表示本地的通道,非扩展或嵌入模块;

7~0位为0,表示选择第0个HSC,这样最终就在定义的HSCAPP类型的输入上的HscID位置上写入0即可。

HSC模式(HSCMode),见表7-21所示。

表7-21HSC模式

模式

功能

递增计数

5

有“重置”和“保持”控制信号的两输入计数

1

有外部“重置”和“保持”控制信号的递增计数

6

正交计数(编码形式,有A,B两相脉冲)

2

双向计数,并带有“外部方向”控制信号

7

有“重置”和“保持”控制信号的正交计数

3

有“重置”和“保持”,且带“外部方向”控制信号的双向计数

8

QuadX4计数器

4

两输入计数(一个加法计数输入信号,一个减法计数输入信号)

9

有“重置”和“保持”控制信号的QuadX4计数器

HSC3,HSC4,和HSC5只支持0,2,4,6,和8模式。

HSC0,HSC1和HSC2支持所有模式。

HSCSTS数据类型结构(HSCStsInfo),见表7-22,它可以显示HSC的各种状态,大多是只读数据。

其中的一些标志可以用于逻辑编程。

表7-22HSCSTS数据类型

CountEnable

使能或停止HSC计数

ErrorDetected

非零表示检测到错误

CountUpFlag

递增计数标志

CountDwnFlag

递减计数标志

Mode1Done

HSC是1(1A)模式或2(1B)模式,且累加值递增计数至HP的值。

OVF

检测到上溢

UNF

检测到下溢

CountDir

1:

递增计数,0:

递减计数

HPReached

达到高预设值

LPReached

达到低预设值

OFCauseInter

上溢导致HSC中断

UFCauseInter

下溢导致HSC中断

HPCauseInter

达到高预设值,导致HSC中断

LPCauseInter

达到低预设值,导致HSC中断

PlsPosition

可编程限位开关(PLS)的位置

ErrorCode

错误代码,见HSC错误代码

读取累加器实际值

HP

最新的高预设值设定,可能由PLS功能更新

LP

最新的低预设值设定,可能由PLS功能更新

最新高预设输出值设定,可能由PLS功能更新

最新低预设输出值设定,可能由PLS功能更新

关于HSC状态信息数据结构(HSCSTS)说明如下。

在HSC执行的周期里,HSC功能块在“0x01”(HscCmd)命令下,状态将会持续更新。

在HSC执行的周期里,如果发生错误,错误检测标志将会打开,不同的错误情况对应见表7-23所示的错误代码。

表7-23HSC错误代码

错误代码位

HSC计数时错误代码

错误描述

15~8(高字节)

0~255

高字节非零表示HSC错误由PLS数据设置导致。

高字节的数值表示触发错误PLS数据中数组编号

7~0(低字节)

无错误

无效HSC计数模式

无效高预设值

无效上溢

无效下溢

0x05

无PLS数据

PLS数据结构(PlsData)

可编程限位开关(PLS)数据是一组数组,每组数组包括高低预设值以及上下溢出值。

PLS功能是HSC操作模式的附加设置。

当允许该模式操作时(PLSEnable选通),每次达到一个预设值,预设和输出数据将通过用户提供的数据更新(即PLS数据中下一组数组的设定值)。

所以,当需要对同一个HSC使用不同的设定值时,您可以通过提供一个包含将要使用的数据的PLS数据机构实现。

PLS数据结构是一个大小可变的数组。

注意,一个PLS数据体的数组个数不能大于255。

当PLS没有使能时,PLS数据结构可以不用定义。

表7-24列出每组数组的基本元素。

表7-24PLS数据结构元素作用表

命令元素

元素描述

字0~1

高预设值设置

字2~3

低预设值设置

字4~5

高位输出预设值

字6~7

低位输出预设值

HSC状态值代码(Sts上对应的输出),见表7-25。

表7-25HSC状态值

HSC状态值

状态描述

无动作(没有使能)

HSC功能块执行成功

HSC命令无效

HSCID超过有效范围

HSC配置错误

在使用HSC计数时,注意设置滤波参数,否则HSC将无法正常计数。

该参数在硬件信息中使用的是HSC0如图7-39所示,其输入编号是input0~1。

图7-39设置滤波参数

高数计数器一般用于计数达到要求后触发中断,进而处理用户自定义的中断程序。

中断的设置在硬件信息中的Interrupts中能够找到。

如图7-40所示。

图7-40HSC中断设置

图中,选择的是HSC类型的用户中断,触发该中断的是HSC0,将要执行的中断程序是HSCa(用户自定义)。

该对话框中还看到AutoStart参数,当它被置为真时,只要控制器进入任何“运行”或“测试”模式,HSC类型的用户中断将自动执行。

该位的设置将作为程序的一部分被存储起来。

“MaskforIV”表示当该位置假(0)时,程序将不执行检测到的上溢中断命令,该位可以由用户程序设置,且它的值在整个上电周期内将会保持住。

类似的“MaskforIN”、“MaskforIH”和“MaskforIL”分别表示屏蔽下溢中断、高设置值中断和低设置值中断。

HSC状态设置

图7-41高速计数器状态设置功能块

高速计数器状态设置功能块用于改变HSC计数状态。

当HSC功能块不计数时(停止)才能调用该设置功能块,否则输入参数将会持续更新且任何HSC_SET_STS功能块做出的设置都会被忽略。

该功能块的参数见表7-26。

表7-26高速计数器状态设置功能块参数列表

UINT见HSC

应用数据结构

欲设置的HSC状态

计数模式1A或1B已完成

达到高预设值,当HSC不计数时,该位可重置为假。

达到低预设值,当HSC不计数时,该位可重置为假。

OFOccurred

发生上溢,当需要时,该位可置为假

UFOccurred

发生下溢,当需要时,该位可置为假

见HSC状态值

ENO

使能输出

HSC的应用

1.硬件连线

将PTO口脉冲输出口O.00直接接到HSC高速计数器I.00口上,使用HSC计数PTO口的脉冲个数,硬件接完以后需要对数字量输入I.00口进行配置方能计数到高速脉冲个数。

打开CCW软件,双击Micro850图标,点击EmbeddedI/O口,将输入0-1号口选为5us,配置方法如图7-42所示。

图7-42配置高速计数器脉冲输入口

2.创建HSC模块

在CCW中建立一个例程,例程中创建HSC模块,创建相应的变量,并设置初始值,初始值的设置如图7-43所示。

图7-43配置高速计数器脉冲输入口

其中HscID选择0,表示选择HSC0计数器,使用Micro850的嵌入式输入口0-3,HscMode设置为2,选择模式2a,即嵌入式输入口I.00作为增/减计数器,I.01作为方向选择位,I.01置1时使用加计数器,置0时使用减计数器。

HPSetting设置为100000,表示计数100000个脉冲,如果以每200个脉冲1mm计算,500mm刚好达到HPSetting的值,即移动500mm的距离。

3.启动HSC模块计数脉冲个数

利用上一节中编写的Kinetix3的程序,使用MC_MoveRelative模块,使电机运行1000mm。

运行电机后,HSC模块的状态显示如图7-44所示。

图7-44HSC状态位

可以看到脉冲计数开始,Accumulator计数器开始计数,当超过100000个脉冲时,HPReached引脚置1,表示电机到达高限位开关,在实际应用中可以此信号作为电机停止信号,让电机停止运行。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2