运动控制卡
当前位置:首页 > 新闻动态 > 运动控制卡

Qt环境下基于研控MCN420电子伺服压力机控制系统开发与应用

所属分类:运动控制卡 发表日期:2020-05-13 文章来源:

      【摘要】电子伺服压力机因其高精度、高响应的优势逐渐取代传统的液压、伺服液压等设备而被广泛应用于电机轴承、汽车零部件、3C等行业产品装配以及产品铆压成型。相对传统的PLC方案,研控MCN420运动控制器针对装配行业的应用增加了位置全闭环控制和压力全闭环控制,有效的提高了伺服压力机整体的位置精度和压力精度,减少因机器变形和产品毛坯尺寸造成的产品不良率。高速的数据采集功能给产品分析提供了更为精确的筛选数据,从而能更有效的分析产品特性,提高产品工艺要求。此系统提供了界面逻辑编程,用户可根据实际工艺需求,配合本地IO接口或者扩展IO模块与外部设备进行信号交互。

【关键词】研控、MCN420运动控制器、伺服压力机控制系统、装配


0 引言

       随着工业4.0的发展,目前国内市场在装配、铆压成型等应用上对产品的精度以及数据采集、分析存储功能需求的不断提升。传统的伺服液压,以及基于PLC的电子伺服压力机控制方案在很大程度上已经满足不了。国外电子伺服压力机如:德国的Kistler、Promess,日本的Janome、DDK,韩国的C&M等都先后推出了与电缸一体的电子伺服压力机系统方案,但在消除机器变形,以及数据分析上并未做更深的研究,对于客户要求定制化的曲线分析功能,以及复杂的外设逻辑处理灵活性也不够强。

       伺服压力机控制系统是整个压力机的核心。系统基于Qt+研控MCN420控制器,在Windows系统上通过总线通讯调用MCN420的运动函数动态库,实现了数据采集、运动逻辑可编程、以及强大的曲线数据分析,和定制化的质量检测等功能。


1  系统硬件方案

       系统的硬件如图1:主要包括:工业平板电脑、运动控制器、伺服驱动器、电机、电缸、光栅尺、压力传感器、扩展IO模块。MCN420与伺服驱动器的连接,对驱动器输入模拟信号,通过光栅尺或者压力传感器的反馈实现位置闭环控制,重复精度为0.01mm或者压力闭环控制,重复精度小于等于±1%。位置重复精度过大由于机器在承载受力情况下的机身背板变形引起,位置控制来源光栅尺可以减小机器变形带来的误差。在铆压成型工艺中对于毛坯尺寸不一的产品,高精度的压力闭环模式能解决因尺寸不一样带来的压力过冲问题。

2   运动控制

     2.1   系统框架设计

       系统是整个压力机的控制核心,主要功能如图2,包含运动逻辑程序编写及编译,曲线显示、质量检测、过程数据存储和分析以及IO监测、文件管理等功能。实现了用户在Ui界面运动逻辑、IO逻辑可编程。利用底层高速的数据采集,可针对特殊材料的特性进行准确分析和精准的质量判定。增加了除普通点检测功能外的窗口判定、拐点判定,以及其他特殊点的判定方式。通过Posgresql数据库存储的大量数据,初步实现生产数据的统计以及查询范围内的趋势显示等功能。

2.2  运动程序设计

       控制系统的运动控制模块主要包含了程序命令的编写、语法检测、转换。为了减少程序编写的错误,在UI界面采用类似的MOVEP,MOVEL,MOVEF等指令。在软件设计时,利用虚函数的多态性将接口与实现分离,用一个CMotionControl的类包含所有基本的运动控制的函数,然后创建一个继承于该类的 CYanKoMotion类实现具体的运动控制,然后在CYanKoMotion类中实现轴的各种控制模式的运动以及运动状态的获取。代码如下:

class CMotionControl : public QObject

{

    Q_OBJECT

public:

    CMotionControl(AllData *allData);//初始化

public:

    AllData *data;

    virtual  TMotionStatus  AxisMotion(TTeachFile tTeachFile,int iProg) = 0;//轴运动模块

    virtual  void MotionMonitor() =0;//所有运动状态监控

    virtual  void MotionStop() = 0;//运动停止

    virtual  void StartMotionRun(int iProg ,bool bStart) = 0;//运动开始

virtual  void MotionStatus() = 0;//运动状态

virtual  TMotionStatus DeviceIOManage(TTeachFile tTeachFile,int iProg) = 0;//设备IO监控

…….

};


       在程序完成编辑,语法检测无误后,将所有程序指令中包含数据进行转换。运动程序启动循环到相应的行号时传入AxisMotion()中,通过运动函数写入控制器并启动运动。在MotionMonitor()中监控IO变化状态或者用于其他逻辑判断变量的变化。一个基本的压装程序可以做如下编写:

        MOVEP  X100.00  Vel= 100;//快进

        MOVEP  X120.00  Vel=20;//探测

        MOVEF  X50.00   Vel= 10;//压装

        MOVEP  X10.00   Vel= 100;//回退


2.3  数据分析及质量检测

    2.3.1 数据分析

       对存储的数据进行分析提取材料特性,从而设置合理的检测参数,结合外部的其他检测设备组成生产、检测一体的全自动化流水线是将来伺服压力机发展的主要趋势。目前在系统中对终止压力、终止位置、接触位置、最大压力、合格率、生产计数进行了统计。如下生产统计图,数据分析图之数据统计分析。

         从存储在数据库中的数据可以对任意10条曲线进行分析对比,如下曲线对比图。

   2.3.2 质量分析

      压力机目前常用的检测方法有点检测、区域检测、窗口检测。基本能满足大部分的产品检测需求。在针对部分汽车零部件产品要求找到应力突变点,或者更为精确的接触产品表面位置等,通过这些特性来判定产品是否合格。控制器底层将接触表面位置锁存,锁存周期误差在1ms以内。通过1ms采集周期的数据在应用层经过算法计算找到力突变的拐点,如拐点查询示意图,图中加粗的点为计算拐点。


3 结束语

       本文研究了在Qt平台上基于IPC + 研控MCN420运动控制器在电子伺服压力机上的应用。通过上位机系统的操作实现了压力机主轴的基本工艺运动动作、曲线分析、数据存储、质量检测等功能。通过在汽车零部件、电机等行业的实际工业现场应用,证明位置重复精度和压力重复精度、产品检测合格率等指标能满足大部分的客户需求。