谷 橙
(武桥重工股份有限公司 湖北 武汉 430050)
摘 要:随着社会的发展起重设备在工程机械中的地位越来越重要,对起重设备的运行情况的检测也越来越重要。其中一个重要监控点就是起重设备的转速转速的监控就必须得用到PLC与光电编码器
教育期刊网 http://www.jyqkw.com
关键词 :PLC光电编码器;增量型;高速计数器
中图分类号:TM571.1 文献标识码:A doi:10.3969/j.issn.1665-2272.2015.06.044
近些年来PLC与光电编码器(增量型)在起重行业上的应用已非常广泛,如在起重设备中测走行距离与卷扬机转速等。本文将详细介绍如何用西门子PLC与增量型编码器测电机的转速以及旋转方向。
1 工作原理概述
将编码器与电动机同轴安装(电动机为三向异步电机)电动机运转时同时带动编码器转动,所以光电编码器的转速就是电动机的转速。编码器高速运转时其内部输出高速脉冲,用PLC采集其输出脉冲,编写程序故可计算出电动机的转速。为了方便的测电机的多个速度与方向,可加入变频器进入该系统,通过变频器来调节电机的转速与方向。
光电编码器的输出信号有+5v和+24v,而多数s7-200cpu的输入端有效信号时+24v,只有cpu224xp型的plc既可以接入+5v的信号也可以接入+24的信号,故本文中的plc选择cpu224xp,编码器为增量型+5v电压型输出,变频器的型号为施耐德ATV312。本文中将采用两个编码器测两个电机的转速。其原理见图1、图2。
为了精确地测量光电编码器的输出脉冲,需要使用cpu224xp中的高速计数器。下面来简单介绍一下cpu224xp的高速计数功能。cpu224xp提供了多个高速计数器(hsc0~hsc5)以响应快速脉冲输入信号。高速计数器的计数速度比plc的扫描速度要快的多,因此高速计数器可独立于用户程序工作,不受扫描时间的限制。用户通过相关指令,设置相应的特殊存储器控制计数器的工作。高速计数器有12种工作模式,每个计数器都有时钟、方向控制、复位启动等特定输入。在正交模式下,可选择1×(1倍速)或者4×(4倍速)输入脉冲频率的内部计数频率。
高速计数器的工作模式和输入点的分配可参考s7-200可编程控制器系统手册。
S7-200cpu224xp拥有全部的6个高速计数器,所以可以同时接入多个编码器来测多个电机的转速。6个高速计数器中只有hsc0和hsc3支持模式12,起重hsc0计数q0.0的输出脉冲,起重hsc3计数q0.1的输出脉冲.该功能可以在没有编码器的情况下通过编写程序q0.0或q0.1来输出高速脉冲模拟编码器,故可以不需要外部接线。
预使用两个高速制动器测两个编码器转速,可选择HSC0与HSC4,所以编码器PG1与PG2分别接入输入点i0.0,i0.1、i0.3,i0.4。
高速计数器的硬件输入接口与普通数字量接口使用相同的地址,已经定义用于高速计数器的输入点不能再用于其他功能。
所有高速计数器在s7-200cpu的特殊存储区中都有各自的控制字,控制字用来定义计数器的计数方式和其他一些设置,以及在用户程序中队计数器的运行进行控制。高速计数器的控制字的位地址分配可参考s7-200可编程控制器系统手册中的表6-27与表6-28。
高速计数器都有初始值和预制值,所谓初始值就是高速计数器的起始值,而预置值就是计数器运行的目标值,当前值等于预置值时,会引发一个内部中断事件,初始值预置值和当前值都是32位有符号整数,必须先设置控制字以允许装入初始值和预置值,并且初始值和预置值存入特殊存储器中,然后执行hsc指令使新的初始值和预置值有效.(如无需引发中断事件可任意设置或无需设置预置值和初始值)装载高速计数器的初始值\预置值和当前值的寄存器与计数器的对应关系详见s7-200可编程控制器系统手册的中表6-30。
指令介绍:高速计数器(HSC)指令根据HSC特殊内存为的状态和配置控制高速计数器。高速计数器定义(HDEF)指令选择特定的高速计数器(HSCX)的操作模式。
2 编写程序
本例的编程思路是先对高速计数器进行初始化,启动高速计数器。在100ms内高速计数器计数个数,转化成每分钟编码器旋转的圈数就是光电编码器的转速也就是电动机的转速光电编码器为1024线,也就是说,光电编码器每转动一周共向plc的高速计数端口发出1024个脉冲。故得出电动机的转速公式n=(N×10×60)/1024=(N×75)/128。
式中,n为电动机的转速:N为100ms内高速计数器的计数个数(收到的脉冲个数),程序如下:
主程序:网络1将存储单元VD104与VD504清零,为后面的存储计数值做准备;调用各个子程序;网络2 HC0与HC4分别为编码器1与编码器2输出高速脉冲的当前值,将其分别赋值给D100 VD500;VD136 VD536分别为两个编码器同轴所联电机的转速,由中断程序INT_0计算出。
子程序HSC_INIT_1:设置高速计数器HSC4的控制字,SM147 给其赋值16#FC。根据控制字的位地址分配表:复位有效控制为高电平有效;启动有效控制为高电平有效;正交计数器速率为1-1×计数率,计数方向控制为加计数;向HSC4中写入计数方向为更新;向HSC4写入预置值为更新;向HSC4中写入初始值为更新;HSC4使能;允许HSC4开启。
因无需使用当前值等于预置值时的中断事件,故可将预置值与初始值设为0,设定高速计数器号码;将其工作模式设为9,即为A/B正交计数器,可显示正反两个方向的脉冲数。
子程序SBR_1:时间中断周期为100毫秒;时间中断事件为10号;允许中断。
子程序HSC_INIT:该高速计数器设置同上,请读者自行分析。
中断程序:VD100为高速计数器0采集到的当前脉冲数值,减去之前置0的VD104即为第一个100ms内所采集到的脉冲数。再将VD100赋值给VD104用来记录下本次所采集的脉冲数。当下个中断到来后的VD100的值即为200ms内所采集到的脉冲数,减去之前第一个100ms内的脉冲数VD104即为新的100ms内的脉冲数如此循环下去,转速值得以根据实际转速不断刷新。
经过运算得出最后转速 vd136 将其赋给主程序中的VD156高速计数器4采集的数据如上一样处理,不再阐述。
完成接线后将程序下载到plc中,然后运行程序,监控,分别按下按钮SB1与SB2,可以观察到电机的转速。如果想改变转速,可直接在变频器上调整输出频率使电机转速改变,然后再次观察:可发现转速发生对应变化(在变频器中设定s3为速度1所以将其与24v短接,在按下SB1或SB2后,变频器会直接有方向及速度输出,调整频率时可直接手动调整变频器操作面板,设置变频器的多段速)。
3 注意事项
包括:当选用A/B项模式时,倍速应选为1×计数率,如为单方向运转时应选为4×计数率;为了提高编程速度可直接使用STEP7中的指令向导进行快速设置高速计数器;接入编码器上电后两个编码器接入的plc输入端指示灯会闪烁;上电后,启动电机。观察HC0与HC4可发现,假设电动机正传时,计数值HC0的值如为正,那么电动机反转时计数值HC0的值为负,反之亦然,由此可判断出电动机的正反转方向。如果更改A B 两线的位置,可发现当前计数值得正负号与之前值相反;编码器的GND必须和PLC的m端短接,否则无法形成回路;本文选择的编码器为电压型输出,如果为电流型输出则接线方式于此不同,读者可自行思考。
教育期刊网 http://www.jyqkw.com
参考文献
1 高安邦,石磊,张晓辉.西门子s7-200、300、400系列PLC自学手册[M].北京:中国电力出版社,2008
(责任编辑 高 平)