摘要: 本文以三菱FX2N PLC为基础,介绍了PLC的深度开发及运用于电镀自动线的实例。该自动线具有行车动作可灵活设定、动态修改,自动寻位、断电恢复等实用功能。此外还介绍了PLC和上位微机的通讯,以及触摸显示屏作为人机界面的实现。
关键词: 电镀自动线;PLC;人机界面
Abstract: On the basis of Mitsubishi FX2N PLC, this paper introduces the deep development of PLC and its application in an electroplating autoline. It has the functions such as flexible setting,dynamic modifying, original position recognized and recovers after power failed. The communication between PLC and PC and a Man-Machine Interface are introduced too.
Keywords: electroplating autoline PLC Man-Machine Interface
1 引言
可编程控制器(PLC)以其运行可靠、易学易用、抗干扰性强等特点,在工业控制中得到广泛应用。然而较多的应用只是根据工艺编制相应的梯形图,用以代替传统的继电器电器控制线路,功能非常有限。近年来各种型号的PLC 在功能上已经有了极大的提,允许用户做许多底层操作,几乎可以象单片机一样灵活,加上有众多的外围设备可以选用,这就给软件、硬件设计带来了很大的灵活性和先进性。本文通过三菱FX2N-PLC 在一条电镀自动线上的应用,说明如何充分开发PLC 的先进功能,达到行车动作的灵活设定、动态修改的功能,
以及断电恢复、通讯、新型人机界面的应用。
2 系统简介
系统采用集散控制,参见图1,上位机使用工控微机,负责工艺调度、质量管理等宏观控制;下位机使用三菱FX2N-PLC,控制行车的动作。行车吊勾(提升电镀工件用)的垂直定位采用接近开关,水平定位采用旋转编码器,垂直和水平的运动都使用变频控制普通交流异步电机来驱动,控制面板使用三菱的F940GOT 触摸屏人机界面。
3 PLC 的应用
3.1 动作表
行车动作无非就是上下左右受控移动,按照的顺序(即动作表)完成一系列的动作。要求有几套动作表可以选择,动作可以静态修改,也可以在运行时由上位机动态修改。这种要求若是仅用简单的梯形图是无法实现的,因为动作都是由梯形图中的触点指令实现,而梯形图指令在运行时是不能修改的。现在的FX2N-PLC 增加了许多应用指令(底层操作,相当于微机的汇编指令),以及提供了许多可供用户使用的数据存储单元,并且有间接寻址功能,这就使表结构操作成为可能。在这里,我们把行车的一个动作定义为:“到几号工位上升,再到几号工位下降”,或者是“延时几秒”,每个动作由一个字(16 位)组成,每个动作表由若干个动作字组成,放在PLC 的数据寄存器里,动作表由PLC 程序初始化,也可以在运行时通过串行通讯由上位机读取和修改,PLC 程序在运行时只是不断地解释和执行动作表。
3.2 动作的解释和执行
动作字有3 种:行车动作字、延时动作字、结束标志。
(1) 行车动作字:
动作字的字节表示“上升所到的工位号”, 低字节表示“下降所到的工位号”,例如:“0205”表示让行车开到02 号工位,上升,再开到05 号工位,下降。
由于一个行车动作字表示的是宏动作,由:“前进或后退,水平到位,上升,上到位,再前进或后退,水平到位,下降,下到位,完成”几个微动作组成,通过FX2N-PLC 的步进阶梯指令STL 实现非常合适。我们可以把行车的宏动作分解为几个状态,在到位时进行状态
转移。参见图2 的STL 状态转移图。
垂直到位比较简单,用上下到位接近开关直接控制即可。
水平到位稍微复杂一些。在程序初始化时将每个工位的准确位置送到数据寄存器里,称做工位位置表,每个工位的实际位置数据通过实测得到。动作表、工位位置表、行车水平运动的关系请参见图3。运行时通过旋转编码器得到行车的当前位置,每毫米大约发3 个脉冲。在做水平动作时,先取出动作字,分离低字节,得到目标工位号,将此工位号作为工位位置表的偏移量,用间接寻址方法得到目标工位位置,若当前位置大于目标位置则令行车后退,反之则前进,直到行车到目标位置前一个提前量时,令行车转为慢速;当行车到目标位置前另一个提前量时,令行车制动。这二个提前量都根据实际情况加以调整,慢速提前量通常为半个工位间隔,制动提前量根据实际的行车速度、惯性而定。经过调整,终定位精度可以达到±1mm 左右。
图4 是行车水平处理子程序,在二个水平进退STL 状态中先设置好目标工位,再调用该子程序,行车就会前进或后退,直到目标位置停下来,发出完成标志M86,即可转入下一STL状态。