哈喽,大家下午好啊!
今天的文章非常干货,赶紧码住学习~
写给初学者的博途教程18(高速计数器示例组态应用)
高速计数器是PLC在发脉冲中用于计算脉冲个数的功能,与普通的计数器不一样是,它的计数频率比普通计数器要高的多,高速计数器用的最多在场合是PLC控制步进和伺服电机时。
话不多少,我们直接开始高速计数器组态教程。
S7-1200PLC的高速计数功能说明
1、CPU将每个高速计数器的测量值,存储在输入过程映像区内,数据类型为32位双整型有符号数,用户可以在设备组态中修改这些存储地址,在程序中可直接访问这些地址。
但由于过程映像区受扫描周期影响,读取到的值并不是当前时刻的实际值,在一个扫描周期内,此数值不会发生变化,但计数器中的实际值有可能会在一个周期内变化,用户无法读到此变化。用户可通过读取外设地址的方式,读取到当前时刻的实际值。以ID1000为例,其外设地址为“ID1000:P”。表所示为高速计数器寻址列表。
2、S7-1200产品从固件版本V4.2起除了有计数、频率测量功能,还新增了门功能、同步功能、捕获功能、比较功能,这些功能通过CTRL_HSC_EXT扩展高速计数器指令实现。其他高速计数性能与V4.1固件版本完全兼容,原来早期的指令是CTRL_HSC。
3、高速计数器寻址(6路高速计数通道,不但可以进行信号高速计数,也可以进行信号的频率测量,周期测量等功能。这里建议大家查阅1200plc相关的系统手册,可在常州智控教育官网下载)
图1-1
图1-1是S7-1200plc系列的高速计数器功能简介。
高速计数器组态步骤:
新建一个项目文件:
图1-2
在设备视图中,选中CPU,打开属性界面,在属性-常规中,找到高速计数器(HSC)。
可以看到,当前1215CDC/DC/DCplc带有6个高速计数器。
图1-3
通过图1-3,大家可以看到不同型号的plc,所自带的高速计数器数量是不一样的。(截自S7-1200样本手册,可在智控教育官网下载)
下面是结合示例,给普通电机加装编码器,可实现基本定位,但这是开环控制。(只能读取当前设备位置,但设备不能自动调节至目标位置)那这里,我们使用PLC的高速计数器功能中的计数。
图1-4
这是线下实训的恒压供水单机项目设备。
可以看到,图1-4中,红框的地方,是移动电机和编码器;
移动电机是普通的异步电机,编码器参数如下:
图1-5
图1-6
编码器的分辨率是1000P/r(1000个脉冲转一圈)
接线:黑接A相、白接B相、橘接Z相(这里Z相不接)。
(编码器是A/B相正交增量式编码器。)
给移动电机装载编码器,目的就是为了知道移动电机实时移动的位置,而编码器发出的脉冲又是高速脉冲,所以这里需要我们启用1200plc的高速计数器功能,来测试编码器。
回到博图项目文件中,我们按顺序选用HSC1;HSC1包含许多功能,但不是每个功能都要使用,这里我们会为大家简单介绍每个功能。
首先是“常规”:
图1-7
在常规中,勾选“启用该高速计数器”。
“功能”
图1-8
功能中,需要选择“计数类型”和“工作模式”;
计数类型这里选择:计数。
工作模式这里选择:A/B计数器(图1-9)
图1-9
初始计数方向一般都是默认的加计数。(这里默认)
“初始值”
图1-10
初始值:CPU每次开始运行时会加载初始值。初始值仅在计数模式中使用。(这里默认)
“同步输入”
图1-11
同步输入:可将当前计数值设置为起始值(或初始计数器)。通常可用同步输入将计数器重置为“0”。(这里不用)
“捕捉输入”
图1-12
捕捉输入:入可将捕获到的计数值设置到触发捕获输入时保存的计数值。(这里不用)
“门输入”
图1-13
门输入:可停止HSC计数。(这里不用)
“比较输出”
图1-14
比较输出:是HSC的唯一输出,且仅在“计数”模式下可用。(这里不用)
“事件组态”
图1-15
事件组态:事件组态区下,可通过下拉菜单(或创建新的OB)选择硬件中断OB,然后将其连接到HSC事件。中断的优先级取值范围在2至26之间,其中2为最低优先级,26
为最高优先级。(这里不用)
“硬件输入”
图1-16
硬件输入:1215CDC/DC/DC plc带有4个高速脉冲输出点;(图1-17红框内容,plc固件是4.0/4.1版本)
图1-17
“硬件输出”
图1-18
这里没有使用比较输出,所以硬件输出这里也不用选择。
“IO地址”
图1-19
IO地址:起始地址默认为ID1000。
完成以上组态,将编码器与plc硬件连接,结果可以在监控表中监视。
图1-20
今天《写给初学者的博途教程18(高速计数器示例组态应用)》小智就分享到这,大家可以收藏使用,如果遇到问题或者不能理解的地方可以找小智私聊或评论留言,如果喜欢关注小智,点赞转发谢谢!