可编程控制器(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 左右。
三菱PLC的深度开发及在电镀自动线上的应用