1 简介
1 . 1 系统简介
系统为普通糟孔荫罩刻蚀线,主要包括开卷部分、刻蚀腔体部分、第一水洗部分、电解剥离部分、最终水洗部分和最后的烘干及撕边部分。
表面有光致抗刻蚀剂的成卷钢带,在开卷部分被拉开,并送人刻蚀腔体。腔体刻蚀液为FeC13 , 与钢带的无光抗部分反应,形成槽孔。第一水洗的作用为停刻蚀,将荫罩表面的FeC13 均匀地完全去除。剥离部分用于剥离钢带表面的光抗,剥离液为NaOH 。最终水洗除去钢带表面的NaOH 和杂质。烘干部分烘干钢带表面的水分,防止生锈。之后钢带进人撕边机,撕去荫罩四周的废边。刻蚀生成的工艺过程如图1 所示:
图1 刻蚀生产线工艺过程
刻蚀腔体部分为整个系统的关键,其刻蚀的效果直接影响到产品的合格率。整个刻蚀过程有6 个腔体,每个腔体中有上下两对喷嘴,分别由两台电机控制,电机控制喷嘴来回摆动。因此整个刻蚀部分由12 台电机组成。由于电机不断来回摆动,这里称之为摇摆电机。
1 . 2 摇摆电机运动简介
根据工艺要求电机必须按照一定轨迹运行,而且不同的电机运行轨迹有所区分。由于对运行曲线的高要求,摇摆电机的控制选用了B&R 的PCC 及ACOPOS 伺服控制器。
在上位机,工作人员给定一条轨迹上的16 个点,如图2 所示,其中横轴为位置,纵轴为速度。12 台电机每台都有一条设定的曲线。PCC 除了完成对电机的起动、停止、运行等逻辑控制外,主要的功能就是控制电机按一定的轨迹运动,使得这个轨迹同时经过所设定的16 个点,并且保证电机运行的平稳。由于要求快速响应和高控制精度,摇摆部分使用同步伺服电机进行运动控制。之前使用东芝公司的PLC ,有摆动不平滑的问题,因此改用B&R 开发的高性能控制器PCC 。PCC 在控制器中使用嵌人式操作系统,且设备层网络采用实时以太网,可以实现非常高的实时控制要求。
图2 摇摆电机轨迹点设置
2 B&R PCC 及ACOPOS 伺服
2 . 1 B&R PCC 硬件配置
摇摆部分采用了B&R 2005 , 2005 系列CPU 是B&R 第四代控制系统SG4 ,采用的是Intel 处理 器,包括了电源模块、CPU 模块、数字输入输出模块。其中CPU 的PCI 总线插槽中插人了Power link 网络适配器。若采用Powerlink 串联,最多只能串联10 台伺服控制器,本系统采用Power link IF786 及一个HUB 将12 台电机分成两条串联支路进行实时控制。数字输人模块用于起动、停止、紧急停止、12 台电机的Readay 、找原点信号输人。数字输出用于电机运行、电机故障、12 台电机寻找原点的状态指示。
上位机与PCC 可以通过RS232 与以太网进行通信。RS232 作为编程口。以太网作为实时通信口,用于数据的上传与下载。将上位机设定的运动曲线实时传给PCC ,同时将实际运动位置、速度、电流及故障信息传给上位机。
图3 给出了一台电机的伺服控制器与共他硬件设备的连接图。电机控制器采用了B&R ACOPOS 伺服控制器。伺服控制器插人了Power link 模块AC112 ,用于和前后两台伺服控制器相连;AC122 为旋转编码器模块,用于电机的速度与位置检测。ACOPOS 1090 本身提供了温度信号检测(T +、T 一),抱闸信号输出(B 一、B + ) 和其他控制信号。在现场,同时安装了三个光耦给定电机运行的正向极限位置、反向极限位置和原点位置。在运行前电机首先找到原点光耦所在位置定为O 位,然后根据设定曲线运行。而正、反向极限光耦信号起到了保护作用,当光耦给出信号时,伺服将给出极限故障信息并且停止运行。
图3 伺服控制器与外围连线
2 . 2 ACOPOS 伺服控制方式
ACOPOS 的伺服控制如图4 所示,大致可以分为四个部分:初始值处理、位置控制、速度控制、实际值检测。在初始处理时,根据给定的位置及最大允许速度和最大允许加速度,给出一个理想的定位过程,即得出加速、恒速、减速段,不同位置时的速度也相应得到。位置控制主要有比例调节、比例调节限制p _ max 、积分限制i _ max 和积分调节。比例调节后的值为k* △s ,若k* △s > p _ max ,则v_ p ﹦P _ max ;若k* △s ﹤﹣p _ max ,则v _ P = ﹣p _max 。同理i _max 用干限制积分调节值,v _i 。速度调节为一般的PI调节得到控制电流值送入矢量控制器,对电机进行控制。而电机的实际位置通过编码器得到。
图4 伺服控制框图
3 B&R PCC 软件系统
整个软件系统可分为过程可视化接口(PVI ) 和Automation Studio。PVI 用于与上位机的通信,Automation Studio 则用于PCC 的逻辑控制与运动控制等的编程。
3 . 1 PVI 通信
PVI 是所有Windows 应用程序访问贝加莱工业控制器的统一接口。使用PVI ,用户在开发通信程序时不需要花大量时间考虑底层的通信过程,也不需要调用复杂而繁琐的Winsock API 函数,只需 在逻辑结构上进行简单的配置即可访问PCC上的变量。PVI 的最大特点就是能够使用程序直接操作PCC任务中的变量,因此必须给每一个过程变量在PVI Manager 中的映射指定唯一的路径。
PVI 通信的核心任务是建立过程变量的映像,建立的结果是每个映像都和网络中唯一的一个变量一一对应。这个变量可以是一个基本类型的数据,如整型变量,也可以是一个自定义类型的数据,如结构体变量。这个映像包含了从应用程序所在工作站到变量所在任务的路径信息。如果把控制器和模块也当作通信中对象的话,每个映像路径包括的对象有:基本对象(Pvi ) ;线对象(Line ) ;站对象( Station ) ; CPU 对象(CPU ) ;模块对象(Module ) ;任务对象(Task )和变量对象(Variable)。这个映射路径由PVI Manager 统一管理,每个对象包含对象名,对象描述和存取参教。劝象名(包括路径)是PVI 中的名字。对象名由用户任意确定,对象描述必须与PCC 中待映射的变量名字一样,PVI Manager 依靠对象描述找到具体的过程变量,实现映象关系。存取参数包括数据类型说明、刷新时间、事件类型等。
在本系统中,伺服电机运行在16 个位置的速度是确定的,位置和速度均可以在上位机上设置,然后发送至PCC 。将这些数据封装为一个结构体:
struct MotorCommset { float Position [16];//16 个点的位置 float Speed [16] ;//16 个点的速度 int MotorNumber ;//标示当前设置的是第几台电机};
3 . 2 Automation Stndio 编程
Automation Studio 为每个应用与程序提供了多种编程方法。包括:梯形图LAD ,指令表IL ,结构文本ST ,顺序功能图SFC , AB , ANSIC 。其中ANSIC 是使用于新一代Automation Studio的功能强大的高级编程语言。利用ANSIC 编写的语言可以实现更高级的功能。在摇摆部分的电机控制中,利用了ANSIC 来实现曲线生成的功能。
3.2.1 对象建立
B&R 的伺服运动控制采用了面向对象的控制方式,使用高级语言C 针对一个伺服控制器创建一个运用对象ax _ obj 后,可以利用针对此运动对象创建的指针* p _ ax _ dat _ ,对电机完成不同的运动控制。
ncalloc ( ncACP10MAN + ncPOWERlink 一IF , ACP10 NONE , ncAXIS , l , ( UDINT ) & ax _ obj ) ;
每台伺服控制器在硬件上都有一个节点设置部分,可以设置各自的节点号。在命令ncalloc 中通过不同的ACP10_ NODE 可以为不同的伺服创建各自的运动对象。
3.2.2 虚轴
在ACOPOS 的伺服中,针对每一台伺服而创建的运动对象,都有一个假想的轴,称之为虚轴。这个虚轴跟实轴一样一方面能够作为从轴,跟着主轴完成同步轨迹。另一方面也能作为主轴,让其他轴参与同步。由于虚轴的引人,使得一个伺服也能够和自己的虚轴发生同步关系,即电机运行时以自己的虚轴作为主轴,实轴跟随虚轴同步。
这里伺服要完成曲线运动,在设定的点之间有一个加速度突变的过程,因此为了保持电机的平稳运行,采用了虚轴运动控制。虚轴是一个理论上的轴,因此可以应用数学模型,设定虚轴的运行轨迹。在相邻两个点之间,虚轴为匀加速,运动到下一个点时以另外一个加速度进行匀加速运动。由于虚轴是假想的理论轴,加速的突变不会引起电机运行的不稳定。因此这里将虚轴设为主轴。由于虚轴和实轴的同步关系为位置同步,而非速度同步,当设定虚轴与实轴为l : 1 同步时,虚轴为主轴按既定曲线运动,而实轴则不断地跟随虚轴的位置进行运动,因此对于实轴来说虚轴的速度或加速度的突变并不会对电机产生影响,保证了电机运行的稳定性。
Automation studio 提供了专门的实轴与虚轴的关系设定文件,在虚轴进行运动之前,必须把这个文件下载到伺服,建立伺服的虚轴与实轴的关系之后,实轴才能跟随虚轴运动。
实轴与虚轴的关系设定文件名为“autogear ”。
< Parameter ID = “503” Name = “ Cam automat ; Master axis ” Value = “412”Unit =““Remark =””[412ACP10PAR _ S _SET _VAX1S>
在autogear中,将412号参数(虚轴的位置)赋给503号参数(主轴设定)表明了将虚轴的位置作为主轴。
< Parameter ID = “519” Name = “ Cam automat ; Multiplication factor of master axis ”
Value = “1000”Unit =““Remark =””/>
< Parameter ID = “520” Name = “ Cam automat ; Multiplication factor of slave axis ”
Value = “1000”Unit =““Remark =””/>
将519 号参数(主轴系数)和520 号参数(从轴系数)值设为相同的大小,这里都设为1000 , 表明了从轴与主轴以1000 : 1000 进行位置同步。
B&R 为伺服参数的上传与下载提供了专门的通道,称之为SERVICE 通道。通过SERVICE 通道,既可以进行单个参数的传输,也可以进行参数块的传输。将“autogear ”作为一个参数块,通过SERVICE 通道下载到伺服后,虚轴与实轴的关系便建立了起来。
strcpy (& DataDownload .parameter.data _ modul [0>,“autogear”)//所要下载的文件名
p _ ax _ dat _ >network.service.data _adr ﹦(UDINT) & DataDownload // service通道ncaction (ax _ obj, ncACP _ PAR + ncSERVICE , nc - DOWNLOAD )//虚轴、实轴设定下载, 一旦主轴与从轴的关系建立起来之后,只要对虚轴参数进行操作,实轴就会跟随虚轴位置进行1:1 同步。而对于虚轴参数的操作同样也可以通过SERVICE 通道进行。
p _ ax _ dat _ > network.service.request.par _ id ﹦ACP10PAR _ CMD _ POS _ MOVE _ VAX1 //所要赋值的参数, p _ ax _ dat _ > network . service . data _ adr ﹦(UDINT ) & par _ dat //参数值,ncaction (ax _ obj , ncSERVICE , ncSET)//参数设置
3.2.3 程序设计
程序如图5 所示,主要分为两块:一块为总的逻辑控制部分,由梯形图完成;另一块为运动控制部分,通过C 语言完成。
图5 程序流程图
找原点时,电机统一向正向运行,若收到原点信号就停下,定为O 位;若收到正向极限信号就停下然后反方向运行,找到原点信号,定为0位。曲线运动为一个子程序,点与点之间做匀加速运动,通过位置的判断,对虚轴进行加速度的切换。
4 设计结果
利用B&R 的PCC 的PVI 完成了与上位机的通信。利用梯形图进行逻辑控制启动、停止、故障等。而高级语言C ,则实现了曲线的运用。并且在曲线运动过程中,实时地将速度与位置信号传给上位机,方便实时地观测和调整曲线。
图6 伺服电机实际运用曲线
采用了B&R 的PCC 使通信、控制、运动变得更加方便、灵活、可靠。由于B&R 的PVI 功能,使通信方便,成为一个单独的任务。利用Power - link 实现了PCC 与12 台伺服之间实时与快速的控制与传输。利用PCC 的高级语言C,方便地实现了曲线的生成。而利用B&R 特有的虚轴的概念,更使电机的运行平稳可靠。