应用举例

假设在旋转机械上有单相增量编码器作为反馈,接入到S7-1200 CPU,要求在计数25个脉冲时,计数器复位,置位 M0.5,并设定新预置值为50个脉冲,当计满50个脉冲后复位M0.5,并将预置值再设为25,周而复始执行此功能。
针对此应用,选择CPU 1214C,高速计数器为:HSC1。模式为:单相计数,内部方向控制,无外部复位。据此,脉冲输入应接入I0.0,使用HSC1的预置值中断(CV=RV)功能实现此应用。
组态步骤:
先在设备与组态中,选择CPU,单击属性,激活高速计数器,并设置相关参数。此步骤必须事先执行,1200的高速计数器功能必须要先在硬件组态中激活,才能进行下面的步骤。添加硬件中断块,关联相对应的高速计数器所产生的预置值中断,在中断块中添加高速计数器指令块,编写修改预置值程序,设置复位计数器等参数。将程序下载,执行功能。

硬件组态

选中CPU如图1.所示。



图1.选中CPU

图2.所示为选择属性打开组态界面


图2.选择属性打开组态界面

激活高速计数功能如图3.

图3.激活高速计数功能

计数类型,计数方向组态如图4.所示


图4. 计数类型,计数方向

1 此处计数类型分为3种,Axis of motion(运动轴),Frequency(频率测量),Counting(计数)。这里选择Counting
2 模式分为4种:Single phase(单相), Two phase(双相), AB Quadrature 1X(A/B相正交1倍速), AB Quadrature 4X(A/B相正交4倍速)。这里择Single phase
3 输入源,这里使用的为CPU集成输入点。
4 计数方向选择,这里选用User program (internal direction control)(内部方向控制)
5初始计数方向。这里选择Count up(向上计数)

初始值及复位组态如图5.



图5.初始值及复位组态

预置值中断组态如图6.



图6. 预置值中断组态

图7. 添加硬件中断

组态添加的硬件中断,如图8.



图8. 组态添加的硬件中断


图9.地址分配与硬件识别号

至此硬件组态部分已经完成,下面进行程序编写

程序编写

将高速计数指令块添加到硬件中断中


图10. 打开硬件中断块

 

图11. 添加高速计数器

 

图12. 定义高速计数器背景数据块

程序视图如图13.

 

图13. 程序视图



1 这里就是图9中系统指定的高速计数器硬件识别号,这里填1

意:应根据CPU属性里的硬件标识符设置该值, 如硬件标识符为257, 应将指令输入的 HSC 值从 1 改为 257,如下图 14 所示:

图 14. 硬件标识符


2 1为使能更新初值
3 1为使能更新预置值
4 新的初始值
5 新的预置值

至此程序编制部分完成,将完成的组态与程序下载到CPU后即可执行,当前的计数值可在ID1000中读出 ,关于高速计数器指令块,若不需要修改硬件组态中的参数,可不需要调用,系统仍然可以计数。