基于嵌入式平台的弹簧机控制器设计

2018-03-14 03:44
制造业自动化 2018年2期
关键词:实时控制人机界面探针

(中山市拓普康自控设备技术有限公司,广东 528400)

0 引言

本文基于ARM9TDMI+FPGA的嵌入式硬件平台和eCOS嵌入式实时操作系统设计弹簧机控制器,实现弹簧机系统高精度的位置控制。比之于台湾的基于工控PC板的系统,成本更低,集成度更高,运行更稳定可靠。

本设计系列化产品目前已经产业化,以高精度、高可靠性、高性价比的巨大优势打破了台湾弹簧机控制器在国内弹簧机市场的垄断格局,显著提高了国产弹簧机械的市场竞争力,创造了显著的经济效益和社会效益。

1 硬件设计

1.1 系统结构

弹簧机控制器采用整体式结构,4轴伺服电机控制,总体结构示意图如图1所示。

图1 弹簧机系统组成

弹簧机控制器主机提供以下接口:

伺服驱动器控制接口:5个轴控制接口,提供包括脉冲+方向输出、PC信号输入、伺服报警信号输入等;

I/O接口:24输入/16输出,输入接口包括探针、急停、倍率开关(4个输入)、送线架报警信号、启动,输出信号包括8个汽缸;

人机接口:按键输入,LCD显示,USB接口;

MPG接口:支持手持操作盒接入,包括手摇脉冲发生器信号接入和轴选、倍率等信号的接入。

1.2 硬件结构

控制器硬件部分分为如下主要部件:CPU模块、FPGA模块、IO接口、人机接口,结构框图如图2所示。

图2 硬件结构框图

CPU模块采用ARM9TDMI为核心处理器,FPGA实现运动控制所需输入信号解码、输出信号编码,实现多轴联动实时运动控制输出。

IO接口提供信号调理功能:将CPU和FPGA的输出信号调理成弹簧机各组件设备所能接受的信号、将设备的反馈信号调理使得FPGA和CPU可以处理。

人机接口为用户提供操作使用系统的接口,显示弹簧机实时运行状态。

2 软件结构

软件平台基于eCOS实时多任务操作系统,由各功能模块有机联系而构成。软件结构框图如图3所示。

图3 软件结构框图

底层驱动层为图形系统和文件系统提供底层驱动,提供eCOS的任务调度管理,提供对USB、键盘等接口的驱动。通过eCOS实时多任务管理,将应用软件层各模块和硬件驱动层联系起来,组成系统软件。

应用软件大致可分为三个主要任务,即人机界面、数据处理和实时控制。这三个任务的主要功能如下:

1)人机界面

人机界面作为系统和用户的交互平台,一方面接受用户所编写的程序和指令,另一方面将系统的加工信息反馈给用户。人机界面采用类Windows界面的MiniGUI图形库。

人机界面的功能包括程序的编辑、显示和管理,系统运行状态的显示,参数管理,系统权限管理,在线帮助,U盘操作和限时停机等功能。

2)数据处理

数据处理主要是将加工程序或指令进行解释、归一化的处理,为实时控制模块提供可操作的数据。用户通过指令式表格的形式编辑程序,支持顺序指令、循环指令和跳转指令,将解释完成的数据传送给实时任务。

程序的最大长度为500行,在执行完成之后返回程序首行继续执行。数据处理任务采用一次性将文件内容读入缓冲的形式,在本执行周期内数据不会改变。在执行过程中,若用户修改程序,则在下个执行周期有效。数据处理执行流程如图4所示。

图4 数据处理流程图

3)实时控制

实时控制作为系统的总控任务,是应用软件中优先级最高的任务。实时控制需要完成的功能包括:

(1)系统状态和工作方式的处理,保证系统状态的唯一性和确定性;

(2)自动方式下的加减速处理和插补计算;

(3)手动方式下的处理,包括手动进给的加减速;

(4)原点方式下的返回原点处理;

(5)测试方式下的运行处理;

(6)I/O端口的管理。

实时控制任务每4ms(或者2ms)调度执行一次,且优先级最高;数据处理任务每16ms调度执行一次;人机界面作为主程序,不参与系统任务的调度,作为背景程序始终在空闲时间内运行。这样,系统的调度周期是确定的、固定的,每个任务按照设定的时间节拍运行。

系统的4ms定时中断由硬件FPGA提供,不仅能够保证任务运行节拍的一致性,而且时钟中断源保证唯一性。这样,系统将不会在中断程序中处理这些任务,只是在中断服务程序中把这些任务唤醒,然后就退出中断,既可以提高系统的响应能力,又可以从软件方面保证系统的准确定时。

3 软件实现

3.1 轴配置

不同的弹簧机机型需要不同的轴控配置,二轴控制应用包括凸轮轴和送线轴,三轴控制包括凸轮轴、转芯轴和送线轴,五轴控制是在三轴控制的基础上增加卷取轴和夹耳轴,或者是上、下切刀轴。本设计最大支持5轴控制,根据具体的弹簧机机型需求,控制轴数可在1到5轴之间灵活设置,对应着运行不同的控制程序,以满足具体的应用需求。

按照行业规范轴的指示代号有固定的约定:X轴表示凸轮轴、Y轴表示送线轴、Z轴表示转芯轴、A轴表示卷取轴和B轴表示夹耳轴。如果不需要其中某轴参与运动,可直接通过面板按钮禁止该轴。采用这种方法,机床的调试比较容易,不需要进行过多的参数设置。

3.2 运动控制

弹簧机控制器的运动控制,每个轴可以单独运动,也可以进行联动。各轴之间的运动关系均为直线插补,在运动过程中根据具体弹簧成型控制的需求,需要检测探针的信号。

程序运行时,先将整个程序读入缓冲,顺序解释指令并将数据填充到插补缓冲区,在数据处理的过程中需要注意以下四个问题:

1)运动指令的区分,是进行联动还是顺序运动,那么需要一个标志给插补;

2)遇到条件跳转指令时,需要等待插补的运行结果再决定处理顺序;

3)遇到循环指令时,直接将指令解释后送给插补缓冲区;

4)当运行过程中修改程序时,待整个程序执行完之后将文件重新载入。

实时控制部分取得数据之后,根据轴的运动关系进行插补。插补过程中有两种形式:一种是联动,相关轴进行直线插补;另一种是顺序运动,即某个轴先直线运动,待运动完成之后再执行其他轴的运动。在有些过程中,需要检测探针的信号,如果探针信号检测到,则跳到下一行执行;如果探针信号未检测到,则给出记录探针失败次数,达到探针失败设定最大值时报警。运动控制采用前直线加减速方式,段和段之间需要准停控制,不采用前瞻处理。在运动过程中,可以通过手轮实时修改倍率,倍率范围是0~300%。

3.3 数据处理

控制器的数据处理过程大致可分为4部分,如图5所示。

1)文件信息

文件信息主要是人机界面将数据传送给数据处理,主要包括文件名称,数据处理任务在得到文件名称之后,读取文件内容,开始进行数据处理。

如果在运行过程中,用户修改了程序内容,那么待收到修改完成信号之后,人机界面将该标志传给数据处理,数据处理在整个程序执行完后,重新读取文件内容。

图5 数据处理模块图

系统不支持从文件任意行启动,每次按下“启动”按钮之后,数据处理任务从文件首行开始进行处理。

2)程序数据

程序数据是数据处理任务将文件内容进行处理之后的数据,并且传送给实时控制任务。数据处理在将探针检测信号送给实时控制时,需要等待运行结果;另一个需要实时控制任务给出程序启动标志,这个数据结构比较简单,还可以使用函数调用的方式实现,这里就不再列出了。

3)非易失数据

数据用来保存一些需要掉电记忆的数据,比如设定的零件数和已完成的零件数,当前载入的文件名称,数据量应该比较少。这部分数据实时写入NVRAM中,掉电不会丢失。

4)实时信息

这部分数据是实时运行过程中的信息,其数据结构如下所示:

5)其他数据

弹簧机控制器不需要进行刀偏和刀补,所以这方面的数据文件可以不用考虑。参数以数据文件的形式进行存储,上电后系统对参数文件进行校验。

3.4 程序指令格式

由于该系统指令相对比较简单,面对用户的指令为表格式编程指令,而后台程序指令格式可描述为:每行的程序使用字母加数值的方式组成指令字、指令字间有空格分割,每行由换行符号分割,文件结束标志代表程序的结束。

4 结束语

本文设计的弹簧机控制器,采用了嵌入式平台,经实际验证,比市场上原来的主流产品工作更加稳定,且成本更低,有效推动了行业的发展,使得国内弹簧加工行业降低了总体设备开销,更具竞争力。同时该系列产品也为公司带来良好的经济效益。

[1]周永强.三轴数控弹簧机电气控制系统的设计[J].机电工程技术2014(9):114-117.

[2]罗文彪,丘雨斌.数控弹簧机控制系统的设计[J].工业控制计算机,2006(5):67-68.

[3]深圳市研控自动化科技有限公司. 研控伺服驱动器在数控弹簧机上的应用[J].伺服控制,2012(3):37-38.

[4]常跃军.基于一种新型数控热卷弹簧机的成形设计[J].新技术新工艺,2013(6):91-94.

[5]曹辉荣,谢云臣.NC弹簧机的发展动向[J].内燃机燃油喷射和控制,1996(3):5-8.

猜你喜欢
实时控制人机界面探针
浅谈无锡地铁信号系统人机界面的应用与研究
基于FANUC数控系统的马波斯探针标定原理及应用
现代汽车人机界面(HMI)设计趋势
基于LabVIEW微电网实验平台监控系统的设计与实现
探讨ERP系统环境下企业会计的实时控制
Les consommateurs peuvent-ils rendre des produits sortis de leur emballage ?
基于全集成自动化的能耗监控管理系统设计
核电站应急辅助决策系统的人机界面设计与实现
达人机界面DOP-B10VS511
两种组合电探针在爆轰实验中的应用