0 引言
在机械制造行业日趋发展的今天,各种规模的数控加工厂越来越多。对于一个负载沉重的数控加工厂来说,数控设备的完好率已经成为影响生产的重要因素。而影响数控设备完好率的主要因素出现在一些外围设备上,如液压机构,气压机构,刀库机构等,通过这些外围设备的控制环节PLC为入口来分析和处理这些故障问题,是保证整个数控设备精确高效加工的重要手段。
PLC控制是数控系统控制中的重要环节。做为设备保障的技术人员,要清楚了解PLC所控制的外围设备的工作流程,以及外围设备之间的关系等,就必须对机床PLC的逻辑有个清楚的认识,本文以外设计的手动换刀为例,介绍了PLC在FIDIA系统数控加工中心刀库中的一些应用。
1 PLC 概述
可编程控制器(PLC)是伴随计算机技术而迅速发展、广泛普及和应用的新型工业自动控制装置。它以微型计算机为基础,综合了计算机技术、自动控制技术和通信技术,在现代工业生产中具有极大的重要性,是当今工业自动控制的标准设备。PLC采用可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种类型的机械或生产过程。PLC的逻辑控制已经逐步取代了传统的继电器逻辑控制装置,应用于单机或者多机控制系统以及自动化生产线上。PLC的种类很多,根据数控设备PLC的运用情况,大致可以将其分为两类:
整体式PLC,如OMRON公司的CPM2A,CPM1A,C40P等,其特点是结构简单、体积小,实现功能和控制规模较为固定(主要用在立体库,回转库等);
组合式,采用总线结构,即在一块总线底板上有若干个总线槽、每个总线槽上可安装一个PLC模块,不同模块实现不同功能。PLC的CPU和存储器模块在总线上的安装位置一般是固定的。其他模块可根据PLC的控制规模、实现的功能等选择安装在总线线路上的其他地方,这种结构的PLC特点是系统构成的灵活性比较高。大量的数控机床就是这种。
2 PLC 在数控机床中的作用
数控系统是现代数字控制技术的典型产品,是现代机械制造系统的重要基础设备。随着生产的发展,数控技术已不仅用于切削机床,同时还用于其他机械设备,如三坐标测量机、立体库、工业机器人等。
数控机床除了要控制机床实现表面加工外,还要对机床实施如主轴起停、刀具更换、冷却液开关等控制功能,这类控制都应该遵循一定的逻辑和顺序关系,通常称为顺序控制。由早期的数控机床大多采用继电器控制线路来实现到现在的PLC控制,顺序控制方法逐渐走向成熟。PLC的顺序控制和NC控制构成了现代大多数高档数控机床的主要控制方式(如图1),在控制的过程中,两者之间既有联系又有区别:
(1)NC实现坐标轴几何运动控制;包括全闭环,半闭环系统控制,坐标轴仅给控制等;
(2)操作面板的控制。操作面板分为系统操作面板和机床操作面板。系统操作面板的控制信号先是进入NC,然后由NC送到PLC,控制数控机床的运行,如机床人机界面。机床操作面板控制信号,直接进入PLC,控制机床的运行,如排屑槽上的正反转控制。
(3)机床外围设备开关量输入输出信号控制。将机床的开关信号输入到PLC,进行逻辑运算。这些开关信号,包括很多检测元件信号(如:行程开关、接近开关、模式选择开关等等),输入信号经过逻辑转换后, 输出PLC输出信号,这些信号经外围控制电路中的继电器、接触器、电磁阀等输出给要控制的外围设备。
(4)换刀功能实现。系统送出T指令(换刀指令)给PLC,经过转换后,在PLC程序中找到T代码所指定的刀号,并与主轴刀号进行比较。如果不符,发出换刀指令,刀具换刀。
(5)M功能实现。NC系统送出M指令给PLC,经过转换后,输出控制信号,控制主轴松拉刀,正反转等等。
由此可见,在数控机床中的两种控制:NC控制和PLC顺序控制,两者相辅相成,不可或缺。
3 PLC 在FIDIA系统中的应用特点
FIDIA系统,以较好的稳定性和较优的性价比,在我国的数控机床行业广泛应用。FIDIA系统所使用的编程语言AUCOL,作为意大利FIDIA公司的PLC内置语言,编程灵活,语句量大。同时它是一种操作二进制变量的FIDIA专门产品。相对于西门子,法拉克等系统的PLC程序编制方法的种类多样,FIDIA系统只有语句表方式的编程方法(梯形图方法厂家正在开发中),因此AUCOL语言分析研究具有一定的独特性。
3.1 FIDIA 系统PLC 程序的结构
对于FIDIA系统机床,一般而言,主要的PLC程序有:
(1)自动换刀程序;
(2)机床辅助设备控制,如润滑、刀库等;
(3)电主轴的控制程序,如电主轴的油雾润滑,制冷等(机械主轴无此程序)。
每个PLC程序都是由进程单元组成(急停检测,液压系统管理,刀具搜索的管理等),所谓进程,是指由PLC程序员编写的不同时单独运行而又相互关联的程序。各个进程是按顺序从进程1到进程2依序执行下去,如果某一个进程无效,这个进程会被跳过直接执行它后面的进程。
进程由变操作码和指操作数组成。操作码表示的是指令要完成的操作功能,操作数指变量和常量,AUCOL中的变量,以不同类型存在:
(1)只有CNC 用到的输入输出位(定义在PLCXXX.DEF中);
(2)只有AUCOL用到的输入输出位(定义在PLCXXX.AUC中,格式:.OBIT BIT_NAME;.IBIT BIT_NAME);
(3)AUCOL用到的CNC输入输出位;
(4)标准内存位(CNC 和AUCOL 公用的,定义在PLCXXX.DEF,格式:.CNCBIT中);
(5)AUCOL内部的局部变量(格式:.MBIT BIT_NAME),AU?COL 用到的全局变量(定义在PLCXXX.GBL 中,格式:.GMBITBIT_NAME)。
其中输入信号做为反馈信息回CNC和PLC,而输出信号被CNC和PLC用来管理特定的操作。
3.2 AUCOL 语言的应用
这里以北京第一机床厂的XHAD7310机床外围辅助设备程序为例,其中包含了24个进程块,各个进程实现的功能如下表;
3.2.1 进程的运行和调用
在整个程序中,每个进程都可以单独运行和结束,但是P0(急停检测进程)做为整个程序的入口初始化进程,具有重要的地位,因此最好不要停止。当所有的软件都进行加载后开电运行,CNC会将标签PINI做为初始标签分配到P0中,然后AUCOL程序以转换初始标签的方式依次往后运行。例如:XHAD7310机床辅助设备控制程序中,先运行急停检测主进程P0的初始加载标签PINI,然后初始化各个AUCOL和CNC位,接着,此进程块结束加载MAN.WT标签进入手动程序块,依次调入并检查累加器电源模块充电启动控制位DUSMO,电源模块驱动使能控制位DUPCE,电源模块脉冲使能控制位DUPPE,DRTXW2,3,4使能位DUENT等AUCOL内存位是否为1,若为1则将其置0,然后检查机床手动状态监控位,若ID24C为1(即手动监控)则继续检查限位开关监控,并在限位开关监控为1 时调用自动程序块标签AUT.WT,依次调用并运行P2,P3等除了P1外的所有进程,最后检查CNC内存位。P1进程不参与调用,其内容为编程人员编写的M指令,如M08,M09等。
由此可见,P0进程调用了此程序中几乎所有的子进程和子程序,在它之后,依次是各个被调用子程序以及的进程。
3.2.2 手动换刀子进程分析研究
XHAD7310机床由于刀库设计上的缺陷如:刀臂过厂且底部过重,容易产生刀臂变形;刀库为独立刀库且地基不牢,使刀臂或者倒刀缸到主轴端的位置容易变化等等情况,在自动换刀的时候经常由于位置不对出现卡死,撞头的现象。对机床的损害很大,维修极不方便。因此,手动换刀成为了机床维护中的重点。
通过形成变量表,不仅能够减少出错,而且能够利用注释快速理顺逻辑关系,还能够迅速找到端口地址,帮助我们进行回路检查。
要清楚手动换刀的具体过程,以便对程序进行完善和发展,对程序的仔细分析必不可少:
程序1: P15 刀臂和倒刀缸运动块
P15INI: ACL MANATC ;初始加载标签(MANATC变量位在PLC**.DEF中定义。为CNC和AUCOL公用内部变量)
IFEQ PEND ; MANATC位等于1时,执行以下的手动操作 ACL DISA7 ; 将DISA7调入累加器即旋开手动允许开关 IFEQ PEND ;若手动开关等于0 则结束 ACL DIPCS8 ;若手动开关为1,将按键输入信号ATC OUT(DIPCS8见图4)调入累加器 IFNE LOAD P15,P15.A05 ;若按键DIPCS8=1(ATC OUT)时候,加载P15.A05段 ACL DIPCS7 ;若按键DIPCS8 等0 时候,按键输入信号 ATC IN(DIPCS7见图4)加载 IFNE LOAD P15,P15.A06 PEND P15.A05:ACL DIPCS8 ;ATC OUT IFNE PEND ;若DIPCS8按键等于1(ATC OUT),结束 ACL DIQ102 ;否则将定位缸缩回开关量DIQ102 调入累加器 IFEQ JUMP P15.A10 ;若DIQ102等于0,执行跳转指令 ACL DIQ104 ;若DIQ102等于1,DIQ104(倒刀缸上位)与 DIQ105非(倒刀缸下位)相与加载进累加器 AND DIQ105 NG IFEQ JUMP P15.A15 ;若相与结果为0,执行跳转指令 BCLR DUYV10 ;若结果为1,输出信号倒刀缸上位ATC缩回置0 BSET DUYV09 ; 输出信号倒刀缸下位ATC伸出=1 JUMP P15END ;执行完后跳到P15END块中 PEND P15.A06:ACL DIPCS7 ;ATC IN 段 IFNE PEND ;若DIPCS7按键输入信号为1,则结束 ACL DIQ102 IFEQ JUMP P15.A10 ;若定位缸DIQ102 位为0,则跳到 P15.A10块 ACL DIQ105 AND DIQ104 NG IFEQ JUMP P15.A15 ;若DIQ105 和DIQ104 非相与结果为0则跳到P15.A15块 BCLR DUYV09 BSET DUYV10 JUMP P15END PEND P15.A10:DMSG 25 ; 显示第25 号PLC 类报警信息即“SQ103 OFF” JUMP P15END PEND P15.A15:DMSG 26 ;显示26 号信息即“SQ104 OR SQ105 ERROR” JUMP P15END PEND P15END: LOAD P15,P15INI ;返回P15加载初始点 PEND 程序2: P16 换刀动作块 P16INI: ACL MANATC DISA7 ;MANATC等于1时候将(刀库手动允许开关)调入累加器 IFEQ PEND ACL DIPCS6 ;旋转按钮按键位(DIPCS6见图4)加载进累加器 IFNE JUMP P16.A05 ;转到P16.A05程序块中 ACL DUATC ;若按键为0时候,将电机控制位DUATC装进累加器,若此控制位仍为1,马上置0,若其为1则结束。 IFNE BCLR DUATC PEND P16.A05:ACL DUATC IFNE PEND ;若电机控制信号为1 那么此块结束, PAUSE 5 ;否则等待5秒后将控制电机的输出信号置1 BSET DUATC PEND
注:DI代表外围数字输入,DU代表外围数字输出,这里,DIP代表面板上按键数字输入,DUL为面板上按键数字输出。
图4 人机界面上对应按的相关键输入点
先将每一步的逻辑关系依次反映在结构图上,再分析整块进程要实现的内容。分析中形成如上图的流程结构,有助于对冗长的进程块进行快速的理解。
根据以上分析,换刀过程的步骤就明确了。结合机床在实际换刀中所处的位置,会发现,在现场操作中,容易出现这样的问题:
(1)当DUYV9(倒刀缸下位刀臂伸出信号)为1时候,应该禁止X,Y,Z轴移动,因为当机床在伸出刀臂后和Y向机床运动方向的间隙就很小了,若此时Y向移动,会和整个刀臂发生接触,甚至将安装刀臂的刀库位置抵变形,如何解决这个问题,这里,有三种可行方法:
①当DUYV9 为1 时,将AUCOL 输出位DUSAZ,DUSAY,DUSAX(Z、Y、X控制位)置1以禁止其移动;
②当DUYV9为1时,调用CNC位MDPBL使其置1使坐标及主轴保持;
③定义一个信息变量MSG31,在DUYV9位以及坐标移动监控位同时为1的时候将MSG31置1,并将MSG31写入到P37(见表1)中将其做为产生急停报警的条件,便可以解决手动操作中的这种安全隐患。
(2)另外,在进行手动操作前,主轴位置应该具备什么条件,程序里面并没有给出,只是要求内部变量MANATC赋值为1就行,这里也出现了问题。因为主轴侧有两个定位键,如果主轴未能定位,刀臂在旋转到主轴侧装刀的时候会和键发生碰撞,这是我们非常不想看到的现象,因此在这个操作的时候一定要先执行主轴定位指令,如果不熟悉这段程序和实际动作,后果不堪设想。
总之,PLC控制是站在用户立场,以用户需要为出发点,以直接应用于各种工业环境为目标的一种逻辑控制,是一种理论与实际结合的产品。由于PLC出厂程序是依照理论上输入输出间的逻辑关系编写而成,而实际上的机床所处的安装条件,现场环境,以及操作者的操作方法等有所不同,或者是PLC本身不够完善,都有可能造成机床故障或是机床安全隐患,对机床PLC有比较深入的研究是解决这些问题的重要条件。
4 结束语
目前,对可编程控制器我国正处于引进、消化、研制的阶段,普及可编程控制器技术,大力推广其应用是当务之急。PLC的发展,在数控技术中的发展中发挥着越来越重要的作用。通过对PLC程序的理解,运用逻辑思维能力逐步诊断是我们很多时候设备故障排除的基础。在当前工作中,PLC的分析研究是一个薄弱环节。不断完善对机床的PLC的熟练程度,能有效提高设备维修人员发现并解决故障、了解并优化参数等的能力,促使设备维修工作向前发展。
(审核编辑: 智汇胡妮)