利用光电编码器和PLC高速计数器进行定位控制.docx

上传人:b****5 文档编号:7462216 上传时间:2023-01-24 格式:DOCX 页数:22 大小:266.20KB
下载 相关 举报
利用光电编码器和PLC高速计数器进行定位控制.docx_第1页
第1页 / 共22页
利用光电编码器和PLC高速计数器进行定位控制.docx_第2页
第2页 / 共22页
利用光电编码器和PLC高速计数器进行定位控制.docx_第3页
第3页 / 共22页
利用光电编码器和PLC高速计数器进行定位控制.docx_第4页
第4页 / 共22页
利用光电编码器和PLC高速计数器进行定位控制.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

利用光电编码器和PLC高速计数器进行定位控制.docx

《利用光电编码器和PLC高速计数器进行定位控制.docx》由会员分享,可在线阅读,更多相关《利用光电编码器和PLC高速计数器进行定位控制.docx(22页珍藏版)》请在冰豆网上搜索。

利用光电编码器和PLC高速计数器进行定位控制.docx

利用光电编码器和PLC高速计数器进行定位控制

利用光电编码器和PLC高速计数器进行定位控制

在往返式传动控制系统中,很多时候都会涉及到多点定位问题。

即要求在不同的定位点启动不同的机械动作。

但由于机械惯性的作用,常常会给系统带来定点误差。

本系统以龙门刨床的机械传动为例,采用plc作为控制器,通过变频器调节速度,利用光电编码器和plc高速计数器进行定位控制,从而实现精确定位。



  变频器;plc;高速计数器;光电编码器

  1龙门刨床的机械传动控制要求

  图1所示的龙门刨床的机械传动示意图。

传动系统从原点启动,中速行驶到1000mm,开始高速行驶,高速行驶到3000mm,开始低速爬行,低速爬行到终点(3200mm)停车。

停顿2s。

反向高速行驶,高速行驶到距原点200mm处开始低速爬行。

到达原点停车,停顿2s后重新开始往返。

在原点和终点低速爬行的目的是为了避免系统惯性带来的定点误差,做到原点和终点的精确定位停车。



  2龙门刨床机械传动的plc控制系统硬件设计

  2.1系统对变频器的控制要求

  变频器的正反转由继电器k1、k2控制,速度的切换由继电器k3、k4完成。

变频器故障报警输出触点(30a、30c触点)用于立即停止高速计数器运行,并由指示灯hr指示。



  变频器具有多段速度设定功能,当k3、k4两个继电器触点都断开时,高速行驶(第一速度);k3闭合,k4断开时,中速行驶(第二速度);k3断开,k4闭合时,低速行驶(第三速度);k3、k4都闭合时,手动调节行驶(第四速度)。



  旋钮sf用于手动/自动切换,并用指示灯hg1表示自动状态。

手动时,能够通过按钮sa1(电机正转)和sa2(电机反转)手动调节传动系统的位置。



  按钮sa用于传动系统在自动状态下的启动/停止控制。

采用“一键开关机”方式实现启动/停止控制,用指示灯hg2表示启动状态。



  行程开关sq用于自动启动时,确定传动系统在原点位置,自动停止时,传动系统必须返回原点。

行程开关sq1、sq2用于传动系统的两端限位,确保传动系统不能脱离设备。



  2.2plc系统硬件系统的构成及连接

  为了实现对龙门刨床机械传动的精确定位,本系统采用plc作为控制器,通过变频器进行速度调节,采用光电编码器和plc高速计数器进行定位控制。

根据龙门刨床的机械传动控制要求,系统中有开关量输入点8个,开关量输出点7个,光电编码器a相输入一个,因此选用siemens的cpu224作为控制器,其i/o点的分配及系统接线如图2所示。



  3plc梯形图程序的设计

  plc的梯形图程序设计包含主程序(用于实时调用手动子程序sbr_0和自动子程序sbr_1)、子程序sbr_0(用于实现对系统的手动控制)和sbr_1(用于实现对系统的自动控制)和中断处理程序int_0程序(用于处理高速计数器计数当前值到达不同预置值的处理)。

由于篇幅所限,以下将以中断处理程序int_0程序为例,说明变频器对速度的控制和调节。

其梯形图如下。



  4梯形图设计过程中要注意的几个关键问题

  4.1通过多次更改高速计数器的中断和预置值实现多点定位

  实现多点定位控制的关键包括两点,第一点是设置高速计数器中断事件12(计数器当前值=计数器预置值),另一点就是在中断处理程序中更改高速计数器预置值。



  定位控制需要测量定位点与原点的距离,然后将单位距离(mm)转换成脉冲量,通过光电编码器和plc高速计数器记录脉冲量的变化。

本系统中,光电编码器的机械轴和电动机同轴。

传动比=10,用于驱动设备的传动辊直径=100mm,光电编码器每转脉冲数=600个/转。

可以计算出每毫米距离的脉冲数为:



  每毫米距离的脉冲数=600÷(10×100×3.14)≈0.19108脉冲/mm

  定点位和预置值比较,必须采用高速计数器中断方式,而不能采用一般的比较指令。

因为一般的比较指令无法捕捉高速变化的事件。



  所以,必须通过atch和eni指令将高速计数器中断事件号12((计数器当前值=计数器预置值)与中断处理程序int_0连接。

在中断处理程序int_0中,到达预置值时,重新装载下一次的预置值,并执行工艺要求的继电器输出,处理变频器的运行速度。



  在自动子程序sbr_1中,将高速计数器hc0设置为单相计数输入,没有外部控制功能。

在原点和终点通过更改计数方向,便于中断处理程序int_0判断变频器的运行方向。



  4.2在中断处理程序int_0中不能使用等于比较指令

  由于在一个中断处理程序int_0中判断处理多个预置值。

需要比较指令和计数方向来判断目前高速计数器计数当前值在哪个阶段,根据判断来决定执行那一段指令。

但是,判断不能使用等于比较指令,应该使用大于或小于指令判断。



  尽管中断事件(计数器当前值=计数器预置值)发生时,plc立即中断当前主程序、子程序,执行中断处理程序int_0中的指令。

但是,在中断处理程序int_0中,plc仍然是按照逐条逐行的扫描机制执行。

而高速变化的计数值不可能和中断处理程序执行同步,如果采用等于比较指令,plc在执行中断处理程序时,可能会错过等于值,使plc在中断处理程序中无法判断设备运行到哪个阶段。



  4.3在自动运行时,高速计数器的初始值寄存器写入必须禁止

  由于多点定位需要多次装载预置值,写入预置值必须执行hsc指令。



  执行hsc写入指令,不单单是写入预置值,如果在控制字节中不加以限制,初始值寄存器smd38中的值同样写入。

而smd38=0,这样,就会使高速计数器计数当前值置0。

因此,在自动运行时,必须设置控制字节smb37的第七位sm37.6为0,在装载预置值时,禁止写入初始值。



  但是,在高速计数器初始设置和返回原点重新开始运行时,又必须写入初始值,使初始值置0,避免机械原因带来的误差。

因此,控制字节必须多次修改。

遵循的原则是:

允许写入初始值、执行hsc指令后,必须马上修改控制字节,禁止初始值写入,并再次执行hsc指令,中间不能有其它指令存在。



  4.4多点定位的输出线圈尽量采用立即指令

  采用高速计数器进行多点定位,主要为了精确定位。

定位精度既决定于高速计数器的测量,同时也决定于执行机构的执行快速性。



  如果采用普通输出指令,在一个扫描周期的程序执行阶段,改变的仅仅是输出映像存储器,plc的输出点不会立即刷新,只有在程序执行完毕后,plc的输出映像存储器才能对输出点刷新,执行输出。



  为了增加定位精度,尽量采用立即输出指令。

立即输出指令不受plc扫描周期阶段的限制,在改变输出映像存储器的同时,立即刷新plc输出点。



  4.5自动/手动程序采用for-next循环指令和子程序指令实现

  本系统中的自动/手动功能通过采用for-next指令和子程序指令实现。

自动程序和手动程序实际上就是两个循环指令的循环体。

而循环指令仅执行一次循环扫描刷新。



  手动子程序sbr_0和自动子程序sbr_1用于整个程序的分段,便于程序的理解,增加程序的可读性。

for-next循环指令的作用是使输出线圈能够重复使用,简化程序。



  当变频器正向运行(由sm36.5判断,增计数为正向运行,sm36.5=1),高速计数器当前值等于19108(

1000mm)时,继电器k3(q0.2)、k4(q0.3)断开,变频器速度设定为高速正向行驶(第一速度)。

同时将高速计数器预置值更改为57325(3000mm)。



  当变频器正向运行,高速计数器当前值等于59325(3000mm)时,继电器k3(q0.2)断开、k4(q0.3)接通,变频器速度设定为低速正向爬行行驶(第三速度)。

同时将高速计数器预置值更改为61146(3200mm)。



  当变频器正向运行,高速计数器当前值等于61146(3200mm)时,表明达到终点,继电器k1(q0.0)、k2(q0.1)、k3(q0.2)、k4(q0.3)全部复位断开,变频器立即停止运行。

同时,发出终点到达信号m0.1,让子程序sbr_1处理停顿2s时间,并由sbr_1处理反向运行设置。



  当变频器反向运行(由sm36.5判断,减计数为反向运行,sm36.5=0),高速计数器当前值等于3822(200mm)时,继电器k3(q0.2)断开、k4(q0.3)接通,变频器速度设定为低速反向爬行行驶(第三速度)。

同时将高速计数器预置值更改为0。



  当变频器反向运行(由sm36.5判断,减计数为反向运行,sm36.5=0),高速计数器当前值等于0时,表明变频器返回到达原点。

继电器k1(q0.0)、k2(q0.1)、k3(q0.2)、k4(q0.3)全部复位断开,变频器立即停止运行。

同时,发出原点到达信号m0.0,让子程序sbr_1处理停顿2s时间,并由sbr_1处理正向重新运行设置。



  本文创新点:

往返式传动控制系统的多点定位是一个较难解决的问题,本系统采用plc作为控制器,通过变频调速,利用光电编码器和plc高速计数器进行定位控制,克服了往返式传动控制系统中由于机械惯性的作用给系统带来的定点误差,从而实现了精确定位。



 

PLC为什么要设有高速计数器功能呢?

这要从PLC的扫描周期来理解。

PLC内部的普通计数器的计数方式是PLC在进行输入扫描而得到的信号变化时计一次数。

但是PLC在程序执行过程中,是不进行输入扫描的。

也就是说,PLC扫描一次输入信号的状态后(专业语言应该是:

输入刷新)进入程序执行过程,程序执行过程中输入再有变化,PLC就不会知道了,程序也不会做出影响。

这种状态,我们用普通计数器对高速输入脉冲就无能为力了。

如你回家后关上门对家人讲,你在外面看到有一个人醉汉倒在大街上(关门前看到的就是输入扫描)。

你想打电话告诉医院来救他(由于有醉汉在的条件,让你有一个打电话的输出动作),而家人说,你还是再看看醉汉现在的状态再说吧。

于是你放下电话(没有输出)开门出去再看一次(由于家人这个中间继电器的参预,你把程序直接跳转到结束,再一次输入扫描),回到家后又关门告诉家人醉汉现在的状况。

家人还要坚持让你再出门看一次,你不耐烦了,说“我现在就认为他还躺在那,等我打完电话再出去看吧”(屏蔽中间继电器的参预,继续执行程序),电话打完了(程序执行结束),你又一次打开门出去看,醉汉已经走了。

没办法,你还得回来打电话告诉医院不用来了(又一次程序执行结束)。

然后你又出门了,看到醉汉又躺在了老地方,气死你了。

于是你就想在门外安装一个视频头接到层里的一个显示器上随时观察醉汉的状态。

来控制你是否打电话。

(我说话罗嗦吧,谁让我先声明是家常聊天方式呢。

高速计数器属于硬件计数器,其计数方式与程序的扫描是没有关系的.实时接受外部脉冲信号的变化而计数(当然它的响应也是有一定限制,FX的是50kHZ).FX系列PLC内置高速计数器按其编号分别分配给X0---X7,X0---X7不可重复使用.下面以分配给输入X0的高速计数器为例写一个简单的程序.

分配给X0的高速计数器有:

C235,C241,C244,C246,C247,C249,C251,C252,C254(每个高速计数器计数方式各不相同,这里暂不叙述.看附表自己理解.)如果我们使用C235计数器,其他的计数器就不可以再使用了.

LDM0

OUTC235K10000

LDC235

OUTY0

LDM1

RSTC235

END

当M0处于断开状态时,C235不得电所以不能开始计数,当M0闭合时高速C235计数器一直是处于得电等待计数状态.前面说了,C235是分配给X0的高速计数器.那么它就是接收X0的输入脉冲信号,每当X0有一个上升沿到来时,C235就计数一次.当计数到10000时,C235的常开触点闭合使Y0得电.当M1闭合时C235复位,其常开触点断开.

要注意的是:

1、只有C235的当前值由9999变化到10000计数器输出点才动作。

人为改变C235的值等于10000,其触点是不动作的。

2、高速计数器计数不受扫描周期的影响,但他的触点的闭合状态还得程序扫描到LDC235时Y0才动作。

如果想让高速计数器到达计数值立即进行输出处理,得用HSCS指令。

高速计数与普通计数相比要注意的几点:

一是高速计数输入是指定的;不是所有输入点都可以;

二是输入频率比较低的还是不要用高速计数;

三高速计数的数据一般都是32位的;

四是对应的所有高速计数频率相加不能大于PLC所允许的最大值;

也就是32位停电保持增型、减型计数器,只对特定输入端子的信号计数。

分单向单计数单向双计数双向双计数三种

PLC高速计数器编码器开门机设计改造

  一、引言

  自动开门机是车库和仓库常用的设备。

其控制核心是单轴定位控制。

我公司有一台美国马斯特自动开门机,其驱动定位系统是由单片机控制的。

因电脑板子的电源部分和几块集成块都被烧掉,又找不到同型号或能代换的集成块,板子无法修复。

此控制系统是早期产品,厂家也没有此系统的配件,只能采取改造这一途径。

于是我想利用三菱PLC的高速计数器功能结合编码器和三菱PLC的CALL,HSCS应用指令对自动开门机进行程序设计和改造。

  二、改造的可行性分析

  马斯特开门机的工作原理:

该马斯特开门机是利用单片机首先通过加、减、调整三个按钮手动调整好门的上限位和下限位,同时由编码器把门在上限位和下限位时的门的驱动电机的脉冲数送入单片机储存记忆起来。

在要开门和关门时按开门或关门的按钮,由带机械离合器的直流电机驱动带动卷闸门上升或下降,在上升到单片机记忆的上限位或下降到单片机记忆的下限位时电机停转,并由机械离合器抱闸制动。

  现在的大多数PLC都具有高速计数器功能,不需增加特殊功能单元就可以处理频率高达几十或上百KHz的脉冲信号,合理的选用编码器,让脉冲频率即能在PLC处理的范围内又可以满足升降的精度要求。

利用PLC对驱动电机进行脉冲计数成为可能;而开门机对上升,下将系统的精度和响应速度要求不是很高。

可以通过PLC对开门机升降系统驱动电机的上升和下降脉冲数的计算,在升降过程中,让PLC对所接收的两个脉冲数与设定好的两个脉冲数值进行比较,根据比较结果确定是否到达门限,控制电机是否运转。

从而保证了门的升降的可行性;所有PLC都具有可擦写的软元件,使软元件中的内容可根据要求随时动态更新。

在需要更改上限位和下限位时可把手动调整的上限位和下限位的驱动电机分别的脉冲数存储到PLC的辅助继电器中记忆起来,使用PLC做开门机的电子定位也成为可能。

在控制系统中,可以利用原来的24V直流电源(电源部分的电容,二极管有配件,24V电源可修复)作为需要24V的控制系统和直流电机的供给电源。

从而简化了直流电源部分。

还有可以利用开门机的四个按钮,不需另外增加输入按钮。

  三、主要控制部件的选取

  

(一)PLC的选取

  首先确定PLC的输入输出点数及分配情况。

开门、关门要分别各用一个输入点,调试要用一输入点,防上限位冲程,防下限位冲程要分别各用一个输入点,停止要用一个输入点,高速计数器要占用两个输入点,合计要用8个输入点。

驱动电机正转要用一个输出点,驱动电机反转要用一个输出点,合计要用2个输出点。

共计输入8点输出2点。

因没有用到PWM脉冲输出,只用继电器控制卷闸门电机的正反转,所以选用继电器输出型,再加上220V电源方便提取,因此要选用交流输入型PLC。

在这里我选用三菱的可编程序控制器,由于输入要有8点,输出要2点,所以我选用FX1S-14MR-001,FX1S-14MR-001的输入点有8点,6点继电器输出(交流220V供电),它带有高速计数器指令,高速计数器等功能,另外此系列PLC的高速计数器具有处理频率高达60千赫的脉冲的能力,再加上FX1S-14MR-001的性价比高,因此选用FX1S-14MR-001完全可以满足开门机的要求。

  开门机需要的输入输出点分配如下:

  X0:

脉冲输入X1:

脉冲输入X2:

下降

  X3:

上升X4:

停止X5:

调试

  X6:

防下限位超程X7:

防上限位超程Y1:

下降

  Y2:

上升

  

(二)编码器的选取

  编码器的选取要符合两个方面,一是PLC接收的最高脉冲频率,二是进给的精度。

我选用旋转编码器,旋转编码器是一种光电式旋转测量装置,它将被测的角位移直接转换成数字信号(高速脉冲信号)。

因些可将旋转编码器的输出脉冲信号直接输入给PLC,利用PLC的高速计数器对其脉冲信号进行计数,以获得测量结果。

不同型号的旋转编码器,其输出脉冲的相数也不同,有的旋转编码器输出A、B、Z三相脉冲,有的只有A、B相两相,最简单的只有A相。

输出两相脉冲的旋转编码器有4条引线,其中2条是脉冲输出线,1条是COM端线,1条是电源线。

编码器的电源可以是外接电源,也可直接使用PLC的DC24V电源。

电源"-"端要与编码器的COM端连接,"+"与编码器的电源端连接。

编码器的COM端与PLC输入COM端连接,A、B两相脉冲输出线直接与PLC的输入端连接,连接时要注意PLC输入的响应时间。

有的旋转编码器还有一条屏蔽线,使用时要将屏蔽线接地。

  我选用的是宜科EB28A4H6微型增量型编码器。

编码器EB是宜科的EB系列,A是代表法兰式,4代表轴径4mm,H6代表10V∽30V供电,分辨率是500P/R(每转每相输出500个脉冲)的。

通过验正可以知道此分辨率可以满足上面两个条件。

验证所需的参数:

电机最高转速是1500转/分(25转/秒)、门高是3m。

本系统脉冲最高频率=25转/秒×500个/转×2(A/B两相)=25KHz。

由于此工程中对编码器的A/B两相脉冲进行了分别计数,使用了两个高速计数器,且在程序中应用了高速比较置位指令,则此PLC可处理的最高脉冲频率为60/2=30(千赫),30千赫大于25千赫,因此满足要求。

  四、PLC程序的编写

  此工程中程序的难点主要在于数据的记忆与比较处理上。

在开门机工作过程中,要用一个上升按钮或下降按钮分别设定上限位和下限位,还要用同一个上升按钮或下降按钮来控制门的上升和下将。

  为了简化程序中的计算,采用了两个高速计数器C235和C236。

C236通过增、减计数方式计算上升、下降进行的脉冲数,再把上升、下降的脉冲数分别储存到PLC的数据寄存器D210,D200中。

C235用于计数正常工作中的上升、下降脉冲数。

当门下降时,C235减计数的脉冲数等于D200中的数据时,M50常闭触点断开,下降到位自动停止。

当上升时,C235增计数的脉冲数等于D210中的数据时,M60常闭触点断开,上升到位自动停止。

  设定上、下门限的控制程序段见下图:

开、关门动作的控制程序段见下图:

另外,还要用到子程序调用指令:

CALL,SRET。

在进行门的上下限设定时就调用设定上下门限的控制程序段,设定完成后返回主程序执行。

  PLC与编码器的接线图如下:

  五、操作说明

  在设定下限门限位时,要先按住X5,再按X2点动门到合适的下限位置时,先松掉X2,在没设定下限门限位时不能松掉调试按钮X5;在设定下限门限位时,也要先按住调试按钮X5,再按X3点动门到合适的上限位置,再松掉X3,最后才能松掉X5.在设定门限的动作中千万不要松开X5。

否则不能完成设定门限记忆。

在工作中按停止,驱动电机中间停止,或紧急停止。

在门停止时,由开门机原本有的机械离合器自动制动停机,并锁住电机轴,确保卷闸门不会因自身重量掉下来。

还有,利用了它以前配有的手动链条离合器,在控制系统坏了,或没电时,可以用手拉动链条,使离合器分离,并带动电机主轴旋转,从而带动门的主轴旋转,完成开门或关门动作。

在开门或关门过程中,都有程序定位保护,当门开或关到程序记忆的数值时使电机停止,完成开门或关门动作,但万一系统故障没有停机时,还有加装在门上档和门的下档的两个限位超程开关可完成停机动作,确保门不会冲出外面或门顶牢地面而使电机过载。

还有在电机主电路有短路和过载保险进行保护。

  六、结束语

  通过上述的设计改造过程,我只花了一千来块就能替代5千多元的开门机系统,并能完全恢复了我厂开门机的功能。

解决了要急于使用卷闸门而开门机故障不能使卷闸门打开的紧急问题。

由这个应用实例可以看出利用编码器结合PLC的高速计数器、传送指令,合理的进行应用,可以作为具有记忆功能的电子限位使用,在一定场合可以取代高成本的定位控制系统,实现控制系统最优的性价比。

一、光电编码器与高速计数器

1、光电编码器的工作原理

光电编码器是一种新型的转速及定位控制用传感器,其工作故事可以用光电码盘说明。

光电码盘是沿圆周开有均匀的孔或齿的圆盘,一组发光元件及光敏元件分置在盘的两边,当圆盘转动时,光时而通过孔或齿隙照到光敏元件上,时而被圆盘阻挡,这样光敏元件上就产生了脉冲串波形的电信号。

将该信号放大、整形,就能用来测量转速及位移。

光电编码器在旋转一周时可以产生数千以至上万的脉冲以满足高精度的转速及定位要求(在选择编码器追求高精度时,也要考虑控制器的接收频率!

)。

在电梯的应用中,对于编码器的分辨率要求并不高,轿厢运动

1mm能产生数个脉冲就可以了。

我们希望的是编码器在产生脉冲的同时能解决转向判断的问题,那么如今的编码器一般都是设有两套(或是三套---零位测量用)光电装置的,两套光电装置产生的脉冲的相位有一定的差别,就也就产生了方向信号,如A装置产生脉冲相位超前于B相时为正转。

反之,为反转。

为了方便论述,我们选择轿厢运行1mm,编码器产生1个脉冲。

2、PLC的高速计数器及高速计数指令(以三菱FX系列论述)

高速计数器是PLC的编程软元件。

相对普通计数器,高速计数器用于频率高于机内扫描频率的机外脉冲计数(建议认真了解一下PLC扫描周期的概念)。

由于计数信号频率高,计数以中断方式,计数器的启动、复位、或计数方向的变化也多使用机外信号。

PLC的高速计数器分为三种:

1、单相单计数输入高速计数器,2、单相双计数输入高速计数器,3、双相双计数输入高速计数器。

如单相单计数输入高速计数器C235是采集X0的输入信号。

(PLC有其自己的规定,具体参照使用手册。

高速计数器有两种工作方式。

第一种利用自身触点的动作为信号,高速计数器和普通32们增减计数器一样,在增计数到达设定值时,触点动作并保持,在做减计数达到设定值时(如触点已置位)触点复位。

这种方式的缺点是控制受扫描周期的影响。

高速计数器的第二种工作方式为中断方式,这需使用高速计数器的专用指令。

FX2N有三条是关于高速计数器的指令:

1、高速计数器置位指令(HSCS),2、高速计数器的复位指令(HSCR),3、高速计数器区间比较指令(HSZ),此三条指令均为32位指令,均为中断方式执行。

结合五层电梯的控制,选择FX2N-64MRPLC为控制器,选取双相双计数输入高速计数器C254作为轿厢的定位计数器。

其A相脉冲输入端为X000,B相脉冲输入端为X0001

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1