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

上传人:博****1 文档编号:486443351 上传时间:2023-07-01 格式:DOC 页数:40 大小:218KB
返回 下载 相关 举报
利用光电编码器及PLC高速计数器进行定位控制_第1页
第1页 / 共40页
利用光电编码器及PLC高速计数器进行定位控制_第2页
第2页 / 共40页
利用光电编码器及PLC高速计数器进行定位控制_第3页
第3页 / 共40页
利用光电编码器及PLC高速计数器进行定位控制_第4页
第4页 / 共40页
利用光电编码器及PLC高速计数器进行定位控制_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《利用光电编码器及PLC高速计数器进行定位控制》由会员分享,可在线阅读,更多相关《利用光电编码器及PLC高速计数器进行定位控制(40页珍藏版)》请在金锄头文库上搜索。

1、.wd利用光电编码器及PLC高速计数器进展定位控制在往返式传动控制系统中,很多时候都会涉及到多点定位问题。即要求在不同的定位点启动不同的机械动作。但由于机械惯性的作用,常常会给系统带来定点误差。本系统以龙门刨床的机械传动为例,采用plc作为控制器,通过变频器调节速度,利用光电编码器和plc高速计数器进展定位控制,从而实现准确定位。变频器;plc;高速计数器;光电编码器1 龙门刨床的机械传动控制要求图1所示的龙门刨床的机械传动示意图。传动系统从原点启动,中速行驶到1000mm,开场高速行驶,高速行驶到3000mm,开场低速爬行,低速爬行到终点3200mm停车。停顿2s。反向高速行驶,高速行驶到距

2、原点200mm处开场低速爬行。到达原点停车,停顿2s后重新开场往返。在原点和终点低速爬行的目的是为了防止系统惯性带来的定点误差,做到原点和终点的准确定位停车。2 龙门刨床机械传动的plc控制系统硬件设计2.1 系统对变频器的控制要求变频器的正反转由继电器k1、k2控制,速度的切换由继电器k3、k4完成。变频器故障报警输出触点30a、30c触点用于立即停顿高速计数器运行,并由指示灯hr指示。变频器具有多段速度设定功能,当k3、k4两个继电器触点都断开时,高速行驶第一速度;k3闭合,k4断开时,中速行驶第二速度;k3断开,k4闭合时,低速行驶第三速度;k3、k4都闭合时,手动调节行驶第四速度。旋钮

3、sf用于手动/自动切换,并用指示灯hg1表示自动状态。手动时,能够通过按钮sa1电机正转和sa2电机反转手动调节传动系统的位置。按钮sa用于传动系统在自动状态下的启动/停顿控制。采用“一键开关机方式实现启动/停顿控制,用指示灯hg2表示启动状态。行程开关sq用于自动启动时,确定传动系统在原点位置,自动停顿时,传动系统必须返回原点。行程开关sq1、sq2用于传动系统的两端限位,确保传动系统不能脱离设备。2.2 plc系统硬件系统的构成及连接为了实现对龙门刨床机械传动的准确定位,本系统采用plc作为控制器,通过变频器进展速度调节,采用光电编码器和plc高速计数器进展定位控制。根据龙门刨床的机械传动

4、控制要求,系统中有开关量输入点8个,开关量输出点7个,光电编码器a相输入一个,因此选用siemens的cpu224作为控制器,其i/o点的分配及系统接线如图2所示。3 plc梯形图程序的设计plc的梯形图程序设计包含主程序用于实时调用手动子程序sbr_0和自动子程序sbr_1、子程序sbr_0用于实现对系统的手动控制和sbr_1用于实现对系统的自动控制和中断处理程序int_0程序用于处理高速计数器计数当前值到达不同预置值的处理。由于篇幅所限,以下将以中断处理程序int_0程序为例,说明变频器对速度的控制和调节。其梯形图如下。4 梯形图设计过程中要注意的几个关键问题4.1通过屡次更改高速计数器的

5、中断和预置值实现多点定位实现多点定位控制的关键包括两点,第一点是设置高速计数器中断事件12计数器当前值=计数器预置值,另一点就是在中断处理程序中更改高速计数器预置值。定位控制需要测量定位点与原点的距离,然后将单位距离mm转换成脉冲量,通过光电编码器和plc高速计数器记录脉冲量的变化。本系统中,光电编码器的机械轴和电动机同轴。传动比=10,用于驱动设备的传动辊直径=100mm,光电编码器每转脉冲数=600个/转。可以计算出每毫米距离的脉冲数为:每毫米距离的脉冲数=600101003.140.19108脉冲/mm定点位和预置值对比,必须采用高速计数器中断方式,而不能采用一般的对比指令。因为一般的对

6、比指令无法捕捉高速变化的事件。所以,必须通过atch和eni指令将高速计数器中断事件号12计数器当前值=计数器预置值与中断处理程序int_0连接。在中断处理程序int_0中,到达预置值时,重新装载下一次的预置值,并执行工艺要求的继电器输出,处理变频器的运行速度。在自动子程序sbr_1中,将高速计数器hc0设置为单相计数输入,没有外部控制功能。在原点和终点通过更改计数方向,便于中断处理程序int_0判断变频器的运行方向。4.2 在中断处理程序int_0中不能使用等于对比指令由于在一个中断处理程序int_0中判断处理多个预置值。需要对比指令和计数方向来判断目前高速计数器计数当前值在哪个阶段,根据判

7、断来决定执行那一段指令。但是,判断不能使用等于对比指令,应该使用大于或小于指令判断。尽管中断事件计数器当前值=计数器预置值发生时,plc立即中断当前主程序、子程序,执行中断处理程序int_0中的指令。但是,在中断处理程序int_0中,plc仍然是按照逐条逐行的扫描机制执行。而高速变化的计数值不可能和中断处理程序执行同步,如果采用等于对比指令,plc在执行中断处理程序时,可能会错过等于值,使plc在中断处理程序中无法判断设备运行到哪个阶段。4.3 在自动运行时,高速计数器的初始值存放器写入必须制止由于多点定位需要屡次装载预置值,写入预置值必须执行hsc指令。执行hsc写入指令,不单单是写入预置值

8、,如果在控制字节中不加以限制,初始值存放器smd38中的值同样写入。而smd38=0,这样,就会使高速计数器计数当前值置0。因此,在自动运行时,必须设置控制字节smb37的第七位sm37.6为0,在装载预置值时,制止写入初始值。但是,在高速计数器初始设置和返回原点重新开场运行时,又必须写入初始值,使初始值置0,防止机械原因带来的误差。因此,控制字节必须屡次修改。遵循的原那么是:允许写入初始值、执行hsc指令后,必须马上修改控制字节,制止初始值写入,并再次执行hsc指令,中间不能有其它指令存在。4.4 多点定位的输出线圈尽量采用立即指令采用高速计数器进展多点定位,主要为了准确定位。定位精度既决定

9、于高速计数器的测量,同时也决定于执行机构的执行快速性。如果采用普通输出指令,在一个扫描周期的程序执行阶段,改变的仅仅是输出映像存储器,plc的输出点不会立即刷新,只有在程序执行完毕后,plc的输出映像存储器才能对输出点刷新,执行输出。为了增加定位精度,尽量采用立即输出指令。立即输出指令不受plc扫描周期阶段的限制,在改变输出映像存储器的同时,立即刷新plc输出点。4.5自动/手动程序采用for-next循环指令和子程序指令实现本系统中的自动/手动功能通过采用for-next指令和子程序指令实现。自动程序和手动程序实际上就是两个循环指令的循环体。而循环指令仅执行一次循环扫描刷新。手动子程序sbr

10、_0和自动子程序sbr_1用于整个程序的分段,便于程序的理解,增加程序的可读性。for-next循环指令的作用是使输出线圈能够重复使用,简化程序。当变频器正向运行由sm36.5判断,增计数为正向运行,sm36.5=1,高速计数器当前值等于191081000mm时,继电器k3q0.2、k4q0.3断开,变频器速度设定为高速正向行驶第一速度。同时将高速计数器预置值更改为573253000mm。当变频器正向运行,高速计数器当前值等于593253000mm时,继电器k3q0.2断开、k4q0.3接通,变频器速度设定为低速正向爬行行驶第三速度。同时将高速计数器预置值更改为611463200mm。当变频器

11、正向运行,高速计数器当前值等于611463200mm时,说明到达终点,继电器k1q0.0、k2q0.1、k3q0.2、k4q0.3全部复位断开,变频器立即停顿运行。同时,发出终点到达信号m0.1,让子程序sbr_1处理停顿2s时间,并由sbr_1处理反向运行设置。当变频器反向运行由sm36.5判断,减计数为反向运行,sm36.5=0,高速计数器当前值等于3822200mm时,继电器k3q0.2断开、k4q0.3接通,变频器速度设定为低速反向爬行行驶第三速度。同时将高速计数器预置值更改为0。当变频器反向运行由sm36.5判断,减计数为反向运行,sm36.5=0,高速计数器当前值等于0时,说明变频

12、器返回到达原点。继电器k1q0.0、k2q0.1、k3q0.2、k4q0.3全部复位断开,变频器立即停顿运行。同时,发出原点到达信号m0.0,让子程序sbr_1处理停顿2s时间,并由sbr_1处理正向重新运行设置。本文创新点:往返式传动控制系统的多点定位是一个较难解决的问题,本系统采用plc作为控制器,通过变频调速,利用光电编码器和plc高速计数器进展定位控制,抑制了往返式传动控制系统中由于机械惯性的作用给系统带来的定点误差,从而实现了准确定位。 PLC为什么要设有高速计数器功能呢?这要从PLC的扫描周期来理解。PLC内部的普通计数器的计数方式是PLC在进展输入扫描而得到的信号变化时计一次数。

13、但是PLC在程序执行过程中,是不进展输入扫描的。也就是说,PLC扫描一次输入信号的状态后专业语言应该是:输入刷新进入程序执行过程,程序执行过程中输入再有变化,PLC就不会知道了,程序也不会做出影响。这种状态,我们用普通计数器对高速输入脉冲就无能为力了。如你回家后关上门对家人讲,你在外面看到有一个人醉汉倒在大街上关门前看到的就是输入扫描。你想打 告诉医院来救他由于有醉汉在的条件,让你有一个打 的输出动作,而家人说,你还是再看看醉汉现在的状态再说吧。于是你放下 没有输出开门出去再看一次由于家人这个中间继电器的参预,你把程序直接跳转到完毕,再一次输入扫描,回到家后又关门告诉家人醉汉现在的状况。家人还

14、要坚持让你再出门看一次,你不耐烦了,说“我现在就认为他还躺在那,等我打完 再出去看吧屏蔽中间继电器的参预,继续执行程序, 打完了程序执行完毕,你又一次翻开门出去看,醉汉已经走了。没方法,你还得回来打 告诉医院不用来了又一次程序执行完毕。然后你又出门了,看到醉汉又躺在了老地方,气死你了。于是你就想在门外安装一个视频头接到层里的一个显示器上随时观察醉汉的状态。来控制你是否打 。我说话罗嗦吧,谁让我先声明是家常聊天方式呢。高速计数器属于硬件计数器,其计数方式与程序的扫描是没有关系的.实时承受外部脉冲信号的变化而计数(当然它的响应也是有一定限制,FX的是 50kHZ).FX系列PLC内置高速计数器按其编号分别分配给X0-X7,X0-X7不可重复使用.下面以分配给输入X0的高速计数器为例写一个简单的程序.分配给X0的高

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号