三菱PLC高速计数采集和编码器程序开发实战
1.高速计数器概述
21点高速计数器C235~C255共用PLC的8个高速计数器输入端X0~X7,某一输入端同时只能供一个高速计数器使用。这21个计数器均为32位加/减计数器(见表3–7)。不同类型的高速计数器可以同时使用,但是它们的高速计数器输入不能冲突。
高速计数器的运行建立在中断的基础上,这意味着事件的触发与扫描时间无关。在对外部高速脉冲计数时,梯形图中高速计数器的线圈应一直通电,以表示与它有关的输入点已被使用,其他高速计数器的处理不能与它冲突。可用运行时一直为ON的M8000的常开触点来驱动高速计数器的线圈。
例如在图1中,当X14为ON时,选择了高速计数器C235,从表3–7可知,C235的计数输入端是X0,但是它并不在程序中出现,计数信号不是X14提供的。
表1给出了各高速计数器对应的输入端子的元件号,表中的U、D分别为加、减计数输入,A、B分别为A、B相输入,R为复位输入,S为置位输入。
2.一相高速计数器
C235~C240为一相无起动/复位输入端的高速计数器,C24l~C245为一相带起动/复位端的高速计数器,可用M8235~M8245来设置C235~C2415的计数方向,M为ON时为减计数,为OFF时为加计数。C235~C240只能用RST指令来复位。
图1中的C244是1相带起动/复位端的高速计数器,由表1可知,Xl和X6分别为复位输入端和起动输入端,它们的复位和起动与扫描工作方式无关,其作用是立即的和直接的。如果X12为ON,一旦X6变为ON,立即开始计数,计数输入端为X0。X6变为OFF,立即停止计数,C244的设定值由D0和D1指定。除了用Xl来立即复位外,也可以在梯形图中用复位指令复位。
3. 两相双向计数器
两相双向计数器(C246~C250)有一个加计数输入端和一个减计数输入端,例如C246的加、减计数输入端分别是X0和Xl,在计数器的线圈通电时,在X0的上升沿,计数器的当前值加1,在X1的上升沿,计数器的当前值减l。某些计数器还有复位和起动输入端。
4.A-B相型双计数输入高速计数器
C25l~C255为A–B相型双计数输入高速计数器,它们有两个计数输入端,某些计数器还有复位和起动输入端。
图2中的X12为ON时,C25l通过中断,对X0输入的A相信号和X1输入的B相信号的动作计数。X11为ON时C251被复位,当计数值大于等于设定值时,Y2的线圈通电,若计数值小于设定值,Y2的线圈断电。
A/B相输入不仅提供计数信号,根据它们的相对相位关系,还提供了计数的方向。利用旋转轴上安装的A/B相型编码器,在机械正转时自动进行加计数,反转时自动进行减计数。A相输入为ON时,若B相输入由OFF变为ON,为加计数(见图2b);A相为ON时,若B相由ON变为OFF,为减计数(见图2c)。通过M8251可监视C251的加/减计数状态,加计数时M8251为OFF,减计数时M8251为ON。
5.高速计数器的计数速度
一般的计数频率:单相和双向计数器最高l0kHz,A/B相计数器最高为5kHz。
最高的总计数频率:FXlS和FXlN为60kHz,FX2N和FX2NC为20kHZ,计算总计数频率时A/B相计数器的频率应加倍。FX2N和FX2NC的X0和X1因为具有特殊的硬件,供单相或双相计数时(C235,C236或C246)最高为60kHz,用C25l两相计数时最高为30kHz。
应用指令SPD(速度检测,FUC56)具有高速计数器和输入中断的特性,X0~X5可能被SPD指令使用,SPD指令使用的输入点不能与高速计数器和中断使用的输入点冲突。在计算高速计数器总的计数频率时,应将SPD指令视为l相高速计数器。
6、具体实例
轮周长(mm)÷编码器的分辨率(P/R)×齿轮比=? mm/P 多少毫米发出一个脉冲
P/R:Pulse/Run脉冲数/圈,每一圈发出多少个脉冲 圆周长=直径Φ×圆周率3.14
分绝对式和相对式
绝对式的输出特点是不需要计数器,直接输出数字。每道光每过一个码道就生成一个单独的数字,码道越多,分辨率就越高。
相对式的输出就是脉冲,需要通过计数器的计数来确定旋转的角度,它的码盘比绝对式的简单且分辨率更高,一般是3条码道,A、B和Z
COM端(“-”端)互相连接,电源端与 “+”端连接
A、B(脉冲输出)接PLC的高速计数端,连接时要注意PLC输入的响应时间。有的旋转编码器还有一条屏蔽线,使用时要将屏蔽线接地。
与三菱PLC相连
一、硬件方面:编码器的A、B相和PLC的X0、X1接口相连,电源接24V;使用PLC的内部高速计数器;在电机运行回路中设一复位开关,每当设备运行到这里时,复位计数器内数值,以消除累计误差。
二、软件方面:
1、思路:将内部高速计数器的上限值设得足够大,使设备运行到复位开关处复位前不会因达到计数上限而重新计数,引起不必要的麻烦。对于测速,主要用于三菱PLC的SPD指令(测速),该指令的应用格式是:SPD D1 D2 D3,将D1(输入口X0或X1,假定为X0)在D2(如K1000,指1000ms,即1s)时间内输入的脉冲数送入D3,因而D3内数值的意义就是在刚刚过去的1s内输入的脉冲数。另外算出电机旋转一周旋转编码器输出多少脉冲,电机旋转一周装置运行多少米,对应算出一个脉冲装置运行多少米,假定为k米,接下来,将D3中数值与k相乘,即为1s内装置运行的距离,也就是速度。
2.关键程序:SPD X0 K1000 D3; 每过1秒钟,将X0输入的脉冲数送给D3
MUL D3 k D4; D4内数值即为速度
另外,当运行到复位开关(常开)处时复位计数器