S71200高速计数怎么用.docx
《S71200高速计数怎么用.docx》由会员分享,可在线阅读,更多相关《S71200高速计数怎么用.docx(11页珍藏版)》请在冰豆网上搜索。
S71200高速计数怎么用
S7-1200高速计数功能简介
1、高速计数器
S7-1200CPU提供了最多6个(1214C)高速计数器,其独立于CPU的扫描周期进行计数。
可测量的单相脉冲频率最高为100KHz,双相或A/B相最高为30KHz,除用来计数外还可用来进行频率测量,高速计数器可用于连接增量型旋转编码器,用户通过对硬件组态和调用相关指令块来使用此功能。
2、高速计数器工作模式
v高速计数器定义为5种工作模式
v计数器,外部方向控制。
v单相计数器,内部方向控制。
v双相增/减计数器,双脉冲输入。
vA/B相正交脉冲输入。
v监控PTO输出。
每种高速计数器有两种工作状态。
Ø外部复位,无启动输入。
Ø内部复位,无启动输入。
所有的计数器无需启动条件设置,在硬件向导中设置完成后下载到CPU中即可启动高速计数器,在A/B相正交模式下可选择1X(1倍)和4X(4倍)模式,高速计数功能所能支持的输入电压为24VDC,目前不支持5VDC的脉冲输入,表1列出了高速计数器的硬件输入定义和工作模式
描述
输入点定义
功能
HSC
HSC1
使用CPU集成I/O或信号板或监控PTO0
I0.0
I0.1
I0.3
I4.0
I4.1
PTO0
PTO0方向
HSC2
使用CPU集成I/O或监控PTO0
I0.2
I0.3
I0.1
PTO1
PTO1方向
HSC3
使用CPU集成I/O
I0.4
I0.5
I0.7
HSC4
使用CPU集成I/O
I0.6
I0.7
I0.5
HSC5
使用CPU集成I/O或信号板
I1.0
I1.1
I1.2
I4.0
I4.1
HSC6
使用CPU集成I/O
I1.3
I1.4
I1.5
模式
单相计数,内部方向控制
时钟
计数或频率
复位
计数
单相计数,外部方向控制
时钟
方向
计数或频率
复位
计数
双相计数,两路时钟输入
增时钟
减时钟
计数或频率
复位
计数
A/B相正交计数
A相
B相
计数或频率
Z相
计数
监控PTO输出
时钟
方向
计数
表1高速计数器硬件输入定义与工作模式
并非所有的CPU都可以使用6个高速计数器,如1211C只有6个集成输入点,所以最多只能支持4个(使用信号板的情况下)高速计数器。
由于不同计数器在不同的模式下,同一个物理点会有不同的定义,在使用多个计数器时需要注意不是所有计数器可以同时定义为任意工作模式。
高速计数器的输入使用与普通数字量输入相同的地址,当某个输入点已定义为高速计数器的输入点时,就不能再应用于其它功能,但在某个模式下,没有用到的输入点还可以用于其它功能的输入
监控PTO的模式只有HSC1和HSC2支持,使用此模式时,不需要外部接线,CPU在内部已作了硬件连接,可直接检测通过PTO功能所发脉冲。
3、高速计数器寻址
CPU将每个高速计数器的测量值,存储在输入过程映像区内,数据类型为32位双整型有符号数,用户可以在设备组态中修改这些存储地址,在程序中可直接访问这些地址,但由于过程映像区受扫描周期影响,在一个扫描周期内,此数值不会发生变化,但高速计数器中的实际值有可能会在一个周期内变化,用户可通过读取外设地址的方式,读取到当前时刻的实际值。
以ID1000为例,其外设地址为“ID1000:
P”。
表2所示为高速计数器寻址列表
高速计数器号
数据类型
默认地址
HSC1
DINT
ID1000
HSC2
DINT
ID1004
HSC3
DINT
ID1008
HSC4
DINT
ID1012
HSC5
DINT
ID1016
HSC6
DINT
ID1020
表1高速计数器寻址
4、频率测量
S7-1200CPU除了提供计数功能外,还提供了频率测量功能,有3种不同的频率测量周期:
1.0秒,0.1秒和0.01秒,频率测量周期是这样定义的:
计算并返回新的频率值的时间间隔。
返回的频率值为上一个测量周期中所有测量值的平均,无论测量周期如何选择,测量出的频率值总是以Hz(每秒脉冲数)为单位。
5、高速计数器指令块
高速计数器指令块,需要使用指定背景数据块用于存储参数。
图1所示为高速计数器指令块
图1高速计数器指令块
表3所示为高速计数器指令块参数说明
HSC (HW_HSC)
高速计数器硬件识别号
DIR (BOOL)
TRUE=使能新方向
CV (BOOL)
TRUE= 使能新初始值
RV(BOOL)
TRUE= 使能新参考值
PERIODE (BOOL)
TRUE= 使能新频率测量周期
NEW_DIR (INT)
方向选择1=正向;
0=反向
NEW_CV (DINT)
新初始值
NEW_RV (DINT)
新参考值
NEW_PERIODE (INT)
新频率测量周期
表1高速计数器指令块参数
6、应用举例
为了便于理解如何使用高速计数功能,通过一个例子来学习组态及应用。
假设在旋转机械上有单相增量编码器作为反馈,接入到S7-1200CPU,要求在计数25个脉冲时,计数器复位,并重新开始计数,周而复始执行此功能。
针对此应用,选择CPU1214C,高速计数器为:
HSC1。
模式为:
单相计数,内部方向控制,无外部复位。
据此,脉冲输入应接入I0.0,使用HSC1的预置值中断(CV=RV)功能实现此应用。
组态步骤:
✧先在设备与组态中,选择CPU,单击属性,激活高速计数器,并设置相关参数。
此步骤必须实现执行,1200的高速计数器功能必须要先在硬件组态中激活,才能进行下面的步骤
✧添加硬件中断块,关联相对应的高速计数器所产生的预置值中断
✧在中断块中添加高速计数器指令块,编写修改预置值程序,设置复位计数器等参数
将程序下载,执行功能
(1)1硬件组态
选中CPU如图2
图2选中CPU
图3所示为选择属性打开组态界面
图3选择属性打开组态界面
激活高速计数功能如图4
图4激活高速计数功能
计数类型,计数方向组态如图5所示
图5计数类型,计数方向
1此处计数类型分为3种,Axisofmotion(运动轴),Frequency(频率测量),Counting(计数)。
这里选择Counting
2模式分为4种:
Singlephase(单相),Twophase(双相),ABQuadrature1X(A/B相正交1倍速),ABQuadrature4X(A/B相正交4倍速)。
这里择Singlephase
3输入源,这里使用的为CPU集成输入点。
4计数方向选择,这里选用Userprogram(internaldirectioncontrol)(内部方向控制)
5初始计数方向。
这里选择Countup(向上计数)
初始值及复位组态如图6
图6初始值及复位组态
预置值中断组态如图7
图7预置值中断组态
图8添加硬件中断
组态添加的硬件中断,如图8
图8组态添加的硬件中断
地址分配与硬件识别号如图9
图9地址分配与硬件识别号
至此硬件组态部分已经完成,下面进行程序编写
(2)程序编写
将高速计数指令块添加到硬件中断中
图10打开硬件中断块图11添加高速计数器
图12定义高速计数器背景数据块
程序视图如图13
图13程序视图
a.这里就是图9中系统指定的高速计数器硬件识别号,这里填1
b.“1”为使能更新初值
c.3“0”新初始值为0
至此程序编制部分完成,将完成的组态与程序下载到CPU后即可执行,当前的计数值可在ID1000中读出,关于高速计数器指令块,若不需要修改硬件组态中的参数,可不需要调用,系统仍然可以计数。
(注:
可编辑下载,若有不当之处,请指正,谢谢!
)